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:pseudo-variables:devel [2011/07/17 10:23]
85.178.69.15
cookbooks:pseudo-variables:devel [2011/11/08 14:00]
182.3.198.58 [AVPs]
Line 453: Line 453:
  
 **$ua** - reference to user agent header field **$ua** - reference to user agent header field
 +
 ===== AVPs ===== ===== AVPs =====
  
 **$avp(id)** - the value of the AVP identified by 'id'. **$avp(id)** - the value of the AVP identified by 'id'.
 +
 **$(avp(id)[N])** - represents the value of N-th AVP identified by 'id'. **$(avp(id)[N])** - represents the value of N-th AVP identified by 'id'.
  
Line 461: Line 463:
  
 * "[si]:name" - name is the id of an AVP; 's' and 'i' specifies if the id is string or integer. If missing, it is considered to be string. * "[si]:name" - name is the id of an AVP; 's' and 'i' specifies if the id is string or integer. If missing, it is considered to be string.
 +
 * "name" - the name is an AVP alias, or if the alias is not found, it is a string name * "name" - the name is an AVP alias, or if the alias is not found, it is a string name
 +
 +* pseudo variable - if value of pv is integer, id is integer, if string, id is string
  
 $(avp(id)[0]) can be written in shorter form as $avp(id) and $avp(s:name) as $avp(name). $(avp(id)[0]) can be written in shorter form as $avp(id) and $avp(s:name) as $avp(name).
Line 504: Line 509:
  
 **$hdr(name)** - represents the body of first header identified by 'name' **$hdr(name)** - represents the body of first header identified by 'name'
 +
 **$(hdr(name)[N])** - represents the body of the N-th header identified by 'name'. **$(hdr(name)[N])** - represents the body of the N-th header identified by 'name'.
  
Line 520: Line 526:
 <hi #d0d0d0>It is read-only variable. You can remove or add headers using functions from textops module.</hi> <hi #d0d0d0>It is read-only variable. You can remove or add headers using functions from textops module.</hi>
  
-==== Script variables ====+===== Script private variables =====
  
 **$var(name)** - refers to variables that can be used in configuration script, having integer or string value. This kind of variables are faster the AVPs, being referenced directly to memory location. The value of script variables persists over the processing of SIP messages, being specific per each SIP-Router process. **$var(name)** - refers to variables that can be used in configuration script, having integer or string value. This kind of variables are faster the AVPs, being referenced directly to memory location. The value of script variables persists over the processing of SIP messages, being specific per each SIP-Router process.
Line 545: Line 551:
 [b]pv[/b] module can be used to initialise the script variables. [b]pv[/b] module can be used to initialise the script variables.
  
-==== Shared variables ====+===== Script shared variables =====
  
 **$shv(name)**  - it is a class of pseudo-variables stored in shared memory. The value of $shv(name) is visible across all openser processes. Each “shv” has single value and it is initialised to integer 0. You can use “shvset” parameter of **pv module** to initialize the shared variable. The module exports a set of MI functions to get/set the value of shared variables. **$shv(name)**  - it is a class of pseudo-variables stored in shared memory. The value of $shv(name) is visible across all openser processes. Each “shv” has single value and it is initialised to integer 0. You can use “shvset” parameter of **pv module** to initialize the shared variable. The module exports a set of MI functions to get/set the value of shared variables.
Line 562: Line 568:
  
 <hi #d0d0d0>It is R/W variable (you can assign values to it directly in configuration file)</hi> <hi #d0d0d0>It is R/W variable (you can assign values to it directly in configuration file)</hi>
-==== Broken-down time ====+ 
 +===== Broken-down time =====
  
 **$time(name)** - the PV provides access to broken-down time attributes. **$time(name)** - the PV provides access to broken-down time attributes.
Line 587: Line 594:
 </code> </code>
  
-==== Selects ====+===== Selects =====
  
 **$sel(name)** - return the value of **select** specified by name. **select** refers a class of config variables introduced by SER 2.0, allowing to select and return parts of sip messages and not only. **$sel(name)** - return the value of **select** specified by name. **select** refers a class of config variables introduced by SER 2.0, allowing to select and return parts of sip messages and not only.
Line 603: Line 610:
 } }
 </code> </code>
-==== Send Addr Attributes ==== 
  
-**$snd(name)** - return attributes of the address where the request is going to be sent. They are available in **onsend_route**. The name can be:+===== Send Address Attributes ===== 
 + 
 +**$snd(name)** - return attributes of the address from where the request is going to be sent (local socket). 
 + 
 +**$sndfrom(name)** - return attributes of the address from where the request is going to be sent (local socket, same as $snd(name)). 
 + 
 +**$sndto(name)** - return attributes of the address to where the request is going to be sent (remote socket). 
 + 
 +They are available in **onsend_route**. The name can be:
  
   * ip - IP address of destination   * ip - IP address of destination
Line 1014: Line 1028:
  
 </code> </code>
 +
 +===== XHTTP module Pseudo-Variables =====
 +
 +==== $hu ====
 +
 +  * URL of http request.
 +
  
 ===== Special pseudo-variables - Escape Sequences ===== ===== Special pseudo-variables - Escape Sequences =====

Navigation

Wiki

Other

QR Code
QR Code cookbooks:pseudo-variables:devel (generated for current page)