User Tools

Site Tools


cookbooks:devel:pseudovariables

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revision Both sides next revision
cookbooks:devel:pseudovariables [2019/02/22 10:43]
miconda [kex module variables]
cookbooks:devel:pseudovariables [2019/10/30 21:59]
127.0.0.1 external edit
Line 1: Line 1:
 {{ :cookbooks:devel:pseudovariables.png?200|}} {{ :cookbooks:devel:pseudovariables.png?200|}}
-====== Kamailio SIP Server v5.3.x (devel): Pseudo-Variables ======+====== Kamailio SIP Server v5.4.x (devel): Pseudo-Variables ======
  
 ===== Introduction ===== ===== Introduction =====
Line 76: Line 76:
 **$aU** - whole username from Authorization or Proxy-Authorization header **$aU** - whole username from Authorization or Proxy-Authorization header
  
-==== $Au - Acc username ====+==== $Au - Acc username and realm/domain ====
  
-**$Au** - username for accounting purposes. It's a selective pseudo variable (inherited from acc module). It returns auth username ($au) if exists or From username ($fU) otherwise.+**$Au** - username for accounting purposes. It's a selective pseudo variable (inherited from acc module). It returns the auth username and realm ($au@$ar) if exists or From URI ($fu) otherwise.
  
 +==== $AU - Acc username ====
  
 +**$AU** - username for accounting purposes. It's a selective pseudo variable (inherited from acc module). It returns the auth username ($au) if exists or From user ($fU) otherwise.
 ==== $branch(name) - Branch attributes ==== ==== $branch(name) - Branch attributes ====
  
Line 225: Line 227:
  
 If loose_route() returns TRUE a destination uri is set according to the first Route header. If loose_route() returns TRUE a destination uri is set according to the first Route header.
-$du is also set if lookup() function of 'registrar' module finds contact(s) behind NAT. You can +$du is also set if lookup() function of 'registrar' module finds contact(s) behind NAT or 
-set $du to any SIP URI.+if you use the path functionality. The function handle_ruri_alias() from the nathelper 
 +module will also set it. You can set $du to any SIP URI.
    sip:kamailio.org    sip:kamailio.org
    sip:pbx123.kamailio.org;transport=udp    sip:pbx123.kamailio.org;transport=udp
Line 278: Line 281:
  
 **$mb** - reference to SIP message buffer **$mb** - reference to SIP message buffer
 +
 +==== $mbu - updated SIP message buffer ====
 +
 +**$mbu** - reference to updated SIP message buffer, after applying changes
  
 ==== $mf - Flags ==== ==== $mf - Flags ====
Line 915: Line 922:
 } }
 </code> </code>
-===== Send Address Attributes =====+===== Received Data Attributes ===== 
 + 
 +==== $rcv(key) ==== 
 + 
 +Attributes of received data. The variables must be used inside **event_route[core:msg-received]** routing block. 
 + 
 +The key can be: 
 + 
 +  * buf - received message 
 +  * len - lenght of received message 
 +  * srcip - source ip 
 +  * rcvip - local ip where it was received 
 +  * scrport - source port 
 +  * rcvport - local port where it was received 
 +  * proto - protocol as int id 
 +  * sproto - protocol as string 
 +  * af - address family 
 + 
 +Example of usage: 
 + 
 +<code c> 
 +event_route[core:msg-received] { 
 +  xlog("rcv on $rcv(af)/$rcv(proto): ($rcv(len)) [$rcv(buf)] from [$rcv(srcip):$rcv(srcport)] to [$rcv(rcvip):$rcv(rcvport)]\n"); 
 +
 +</code> 
 + 
 +===== Send Data Attributes =====
  
 ==== $sndfrom(name) ==== ==== $sndfrom(name) ====
Line 934: Line 967:
   * af - address family to be used to send (numeric)   * af - address family to be used to send (numeric)
   * port - port of destination address   * port - port of destination address
-  * proto - transport protocol to be used to send (numeric)+  * proto - transport protocol to be used to send (numeric - UDP=1, TCP=2, TLS=3, SCTP=4, WS=5, WSS=6)
   * sproto - transport protocol to be used to send (string)   * sproto - transport protocol to be used to send (string)
   * buf - entire send buffer as string   * buf - entire send buffer as string
Line 1666: Line 1699:
 ==== $tls_peer_subject_unit ==== ==== $tls_peer_subject_unit ====
 organizationalUnitName in the subject section of the certificate. String type. organizationalUnitName in the subject section of the certificate. String type.
 +==== $tls_peer_subject_uid ====
 +UID in the subject section of the certificate. String type.
 ==== $tls_peer_issuer_unit ==== ==== $tls_peer_issuer_unit ====
 organizationalUnitName in the issuer section of the certificate. String type. organizationalUnitName in the issuer section of the certificate. String type.
 ==== $tls_my_subject_unit ==== ==== $tls_my_subject_unit ====
 organizationalUnitName in the subject section of the certificate. String type. organizationalUnitName in the subject section of the certificate. String type.
 +==== $tls_my_subject_uid ====
 +UID in the subject section of the certificate. String type.
 ==== $tls_my_issuer_unit ==== ==== $tls_my_issuer_unit ====
 organizationalUnitName in the issuer section of the certificate. String type. organizationalUnitName in the issuer section of the certificate. String type.
Line 2066: Line 2103:
 ===== sdpops module variables ===== ===== sdpops module variables =====
  
-  *  $sdp(body) - full SDP body (read only)+  * $sdp(body) - full SDP body (read only)
   * $sdp(sess_version) - sess-version -attribute from SDP o= -line. When set to special value -1, current value is incremented. (read + write)   * $sdp(sess_version) - sess-version -attribute from SDP o= -line. When set to special value -1, current value is incremented. (read + write)
  
Line 2072: Line 2109:
  
   * $sruid - return unique ID generated internally Kamailio   * $sruid - return unique ID generated internally Kamailio
 +
 +===== $ltt(key) - Local To-Tag =====
 +
 +$ltt(key) - return local generated To-tag when Kamailio sends a reply
 +
 +  * $ltt(s) - the to-tag used in stateless replies
 +  * $ltt(t) - the to-tag used in transaction stateful replies (transaction has to be created at that time, eg., by t_newtran() or in a branch/failure route, otherwise it returns $null)
 +  * $ltt(x) - $ltt(t) if the transaction was created already, otherwise $ltt(s)
 +
 +===== tcpops module variable =====
 +
 +$tcp(key) - return TCP connection attributes.
 +
 +The key can be:
 +  * c_si - connection source ip (useful with HAProxy connections)
 +  * c_sp - connection source port (useful with HAProxy connections)
 +  * conid - connection id
 +
 ===== $C(xy) - Foreground and background colors ===== ===== $C(xy) - Foreground and background colors =====
  
cookbooks/devel/pseudovariables.txt · Last modified: 2022/04/11 15:24 by henningw