User Tools

Site Tools


cookbooks:3.2.x:core

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
cookbooks:3.2.x:core [2011/10/18 18:43]
miconda [rewritehostporttrans]
cookbooks:3.2.x:core [2016/02/02 16:31] (current)
alexh !~ does not exist in 3.2
Line 1: Line 1:
-====== Kamailio 3.2.x: Core Cookbook ======+====== Kamailio SIP Server v3.2.x: Core Cookbook ======
  
 This tutorial collects the functions and parameters exported by Kamailio core to configuration file. This tutorial collects the functions and parameters exported by Kamailio core to configuration file.
Line 59: Line 59:
   * #!else - swtich to false branch of ifdef/ifndef region   * #!else - swtich to false branch of ifdef/ifndef region
   * #!endif - end ifdef/ifndef region   * #!endif - end ifdef/ifndef region
 +  * #!trydef -  add a define if not already defined
 +  * #!redefine - force redefinition even if already defined
  
 Among benefits: Among benefits:
Line 182: Line 184:
  
 <code c> <code c>
-#!subst "/ID/subst/"+#!substdef "/ID/subst/"
 </code> </code>
  
Line 643: Line 645:
 Prototype: **loadmodule "modulepath"** Prototype: **loadmodule "modulepath"**
  
-If modulepath is only modulename or modulename.so, then Kamailio will try to search also for **modulename/modulename.so**, very useful when usining directly the version compiled in the source tree.+If modulepath is only modulename or modulename.so, then Kamailio will try to search also for **modulename/modulename.so**, very useful when using directly the version compiled in the source tree.
  
 Example of usage: Example of usage:
Line 808: Line 810:
 ==== mem_summary ==== ==== mem_summary ====
  
-Parameter to control printing of mmemory debugging information displayed on exit or SIGUSR1. The value can be composed by following flags:+Parameter to control printing of memory debugging information displayed on exit or SIGUSR1. The value can be composed by following flags:
   * 1 - dump all the pkg used blocks (status)   * 1 - dump all the pkg used blocks (status)
   * 2 - dump all the shm used blocks (status)   * 2 - dump all the shm used blocks (status)
Line 826: Line 828:
 ==== mhomed ==== ==== mhomed ====
  
-Set the server to try to locate outbound interface on multihomed host. This parameter affects the selection of the outgoing socket for forwarding requests. By default is off (0) - it is rather time consuming. When decativated, the incoming socket will be used or the first one for a different protocol, disregarding the destination location. When activated, sip-router will select a socket that can reach the destination (to be able to connect to the remote address). (sip-router opens a UDP socket to the destination, then it retrieves the local IP which was assigned by the operating system to the new UDP socket. Then this socket will be closed and the retrieved IP address will be used as IP address in the Via/Record-Route headers)+Set the server to try to locate outbound interface on multihomed host. This parameter affects the selection of the outgoing socket for forwarding requests. By default is off (0) - it is rather time consuming. When deactivated, the incoming socket will be used or the first one for a different protocol, disregarding the destination location. When activated, sip-router will select a socket that can reach the destination (to be able to connect to the remote address). (sip-router opens a UDP socket to the destination, then it retrieves the local IP which was assigned by the operating system to the new UDP socket. Then this socket will be closed and the retrieved IP address will be used as IP address in the Via/Record-Route headers)
  
 Example of usage: Example of usage:
Line 856: Line 858:
  
 ==== phone2tel ==== ==== phone2tel ====
-By enabling this feature, SIP-Router internally treats SIP URIs with user=phone parameter as TEL URIs. If you do not want thi behavior, you have to turn it off. +By enabling this feature, SIP-Router internally treats SIP URIs with user=phone parameter as TEL URIs. If you do not want this behavior, you have to turn it off. 
  
 Default value: 1 (enabled) Default value: 1 (enabled)
Line 971: Line 973:
 CSeq exactly the same way as TM does. This is good for reboot - than messages belonging to transaction lost due to reboot will still be forwarded with the same branch parameter and will be match-able downstream. CSeq exactly the same way as TM does. This is good for reboot - than messages belonging to transaction lost due to reboot will still be forwarded with the same branch parameter and will be match-able downstream.
  
-If it is turned on, just a simple value is put into the branch paramter (better for performance)+If it is turned on (default, value is 1), just a simple value is put into the branch parameter (better for performance)
  
 +<code c>
 +syn_branch=0
 +</code>
 ==== tos ==== ==== tos ====
  
Line 1045: Line 1050:
  
 If the internal resolver/cache is enabled you can add/remove records by hand (using sercmd or xmlrpc) using the DNS RPCs, e.g. dns.add_a, If the internal resolver/cache is enabled you can add/remove records by hand (using sercmd or xmlrpc) using the DNS RPCs, e.g. dns.add_a,
-dns.add_srv, dns.delete_a a.s.o. For more info on DNS RPCs see http://sip-router.org/docbook/sip-router/branch/master/rpc_list/rpc_list.html#dns.add_a+dns.add_srv, dns.delete_a a.s.o. For more info on DNS RPCs see http://www.kamailio.org/docs/docbooks/3.2.x/rpc_list/rpc_list.html#dns.add_a
  
 Note: During startup of SIP-Router, before the internal resolver is loaded, the system resolver will be used (it will be used for queries done from module register functions or modparams fixups, but not for queries done from mod_init() or normal fixups).  Note: During startup of SIP-Router, before the internal resolver is loaded, the system resolver will be used (it will be used for queries done from module register functions or modparams fixups, but not for queries done from mod_init() or normal fixups). 
Line 1571: Line 1576:
  
   sctp_max_burst = number   sctp_max_burst = number
 +
 +
 +===== UDP Parameters =====
 +
 +==== udp4_raw ====
 +
 +Enables raw socket support for sending UDP IPv4 datagrams (40-50% performance increase on linux multi-cpu).
 +
 +Possible values: 0 - disabled (default), 1 - enabled, -1 auto.
 +
 +In "auto" mode it will be enabled if possible (sr started as root or with CAP_NET_RAW). udp4_raw can be used on Linux and FreeBSD. For other BSDs and Darwin one must compile with -DUSE_RAW_SOCKS. On Linux one should also set udp4_raw_mtu if the MTU on any network interface that could be used for sending is smaller then 1500.
 +
 +The parameter can be set at runtime as long as sr was started with enough privileges (core.udp4_raw).
 +
 +<code>
 +udp4_raw = on
 +</code>
 +
 +==== udp4_raw_mtu ====
 +
 +MTU value used for UDP IPv4 packets when udp4_raw is enabled.  It should be set to the minimum MTU of all the network interfaces that could be used for sending. The default value is 1500. Note that on BSDs it does not need to be set (if set it will be ignored, the proper MTU will be used automatically by the kernel). On Linux it should be set.
 +
 +The parameter can be set at runtime (core.udp4_raw_mtu).
 +
 +==== udp4_raw_ttl ====
 +
 +TTL value used for UDP IPv4 packets when udp4_raw is enabled. By default it is set to auto mode (-1), meaning that the same TTL will be used as for normal UDP sockets.
 +
 +The parameter can be set at runtime (core.udp4_raw_ttl).
  
  
Line 1876: Line 1910:
               resetflag(b);  # equiv. to resetflag(2)                resetflag(b);  # equiv. to resetflag(2) 
  
 +==== is_int ====
 +Checks if a pseudo variable argument contains integer value. 
  
 +  if(is_int("$avp(foobar)")) {
 +    log("foobar contains an integer\n");
 +  }
  
 ==== log ==== ==== log ====
Line 2091: Line 2130:
 Try to close the connection (the one on which the message is sent out) after forwarding the current message. Can be used in same route blocks as set_forward_no_connect(). Try to close the connection (the one on which the message is sent out) after forwarding the current message. Can be used in same route blocks as set_forward_no_connect().
  
-Note: Use with care as you might not receive the replies anymore as the connection is closed.+Note: Use with care as you might not receive the replies anymore as the connection is [[http://vdo.com.vn]] closed.
  
  
Line 2391: Line 2430:
   !=      not equal   !=      not equal
   =~      regular expression matching: Note: Posix regular expressions will be used, e.g. use [[:digit:]]{3} instead of \d\d\d   =~      regular expression matching: Note: Posix regular expressions will be used, e.g. use [[:digit:]]{3} instead of \d\d\d
-  !~      regular expression not-matching 
   >       greater   >       greater
   >=      greater or equal   >=      greater or equal
cookbooks/3.2.x/core.1318956212.txt.gz ยท Last modified: 2011/10/18 18:43 by miconda