Merge remote branch 'origin/sr_3.0'
authorAndrei Pelinescu-Onciul <andrei@iptel.org>
Wed, 27 Jan 2010 10:31:25 +0000 (11:31 +0100)
committerAndrei Pelinescu-Onciul <andrei@iptel.org>
Wed, 27 Jan 2010 10:31:25 +0000 (11:31 +0100)
latest sr_3.0 and kamailio_3.0 backports

* origin/sr_3.0: (90 commits)
  usrloc(k): rpc version for ul.dump
  core: init the len of sock_str attribute
  ctl: added parameters to control buffer size
  htable(k): rpc commad to dump htable
  pv(k): fixed $shv engine
  sanity: print From hdr in warning message
  nathelper(k): print bad contact uri
  core: more verbose when error parsing hdr
  kamailio.cfg: updated cfg with sample PSTN gw routing
  nathelper(k): fix for swap scenario
  presence(k): aliased MLA to SLA
  core: event parsing enahced for dialog;ma
  tm: documented t_relay_to() function
  tm: added t_relay_to(proxy, flags)
  tm: documented t_replicate() functions
  tm: t_replicate() can take avps & select as params
  tm: added t_replicate(uri)
  db_oracle: use PARAM_TYPE_MASK when checking param type
  snmpstats: fix param type checking
  core: define module_loaded to use find_module_by_name
  ...

Conflicts:
lib/srdb1/schema/dr_gateways.xml
lib/srdb1/schema/dr_groups.xml
lib/srdb1/schema/dr_gw_lists.xml
lib/srdb1/schema/dr_rules.xml
lib/srdb1/schema/kamailio-drouting.xml
modules/ctl/README
modules/topoh/README
modules_k/uac/auth.c
modules_k/uac/uac_send.c
parser/parse_param.h
utils/kamctl/mysql/drouting-create.sql
utils/kamctl/oracle/drouting-create.sql
utils/kamctl/postgres/drouting-create.sql

17 files changed:
1  2 
Makefile
main.c
modules/ctl/README
modules/ctl/doc/params.xml
modules/tm/README
modules/tm/tm.c
modules/topoh/README
modules/topoh/doc/topoh_admin.xml
modules/topoh/topoh_mod.c
modules_k/nathelper/nathelper.c
modules_k/presence_xml/doc/presence_xml_admin.xml
modules_k/uac/auth.c
parser/msg_parser.c
parser/parse_param.c
parser/parse_param.h
socket_info.c
sr_module.c

diff --cc Makefile
Simple merge
diff --cc main.c
Simple merge
@@@ -19,8 -19,10 +19,10 @@@ Andrei Pelinescu-Onciu
          1.3.4. group (integer or string)
          1.3.5. fifo (integer)
          1.3.6. autoconversion (integer)
+         1.3.7. binrpc_max_body_size (integer)
+         1.3.8. binrpc_struct_max_body_size (integer)
  
 -   1.4. RPC Functions
 +   1.4. SIP-router RPC Functions
  
          1.4.1. ctl.listen
          1.4.2. ctl.connections
@@@ -180,7 -182,27 +182,27 @@@ modparam("ctl", "fifo", "tcp:*:2050"
     Example 7. Set the autoconversion parameter
  modparam("ctl", "autoconversion", 1)
  
 -1.4. RPC Functions
+ 1.3.7. binrpc_max_body_size (integer)
+    Set the size of binrpc buffer for RPC reply. Value represents
+    kilobytes.
+    Default: 4 (meaning 4KB);
+    Example 8. Set the binrpc_max_body_size parameter
+ modparam("ctl", "binrpc_max_body_size", 10)
+ 1.3.8. binrpc_struct_max_body_size (integer)
+    Set the size of binrpc structure buffer for RPC reply. Value represents
+    kilobytes.
+    Default: 1 (meaning 1KB);
+    Example 9. Set the binrpc_struct_max_body_size parameter
+ modparam("ctl", "binrpc_struct_max_body_size", 3)
 +1.4. SIP-router RPC Functions
  
     Revision History
     Revision $Revision$ $Date$
Simple merge
Simple merge
diff --cc modules/tm/tm.c
Simple merge
@@@ -125,12 -129,25 +129,25 @@@ Chapter 1. Admin Guid
  modparam("topoh", "mask_key", "some secret here")
  ...
  
- 3.2. mask_callid (integer)
+ 3.2. mask_ip (str)
+    IP address to be used in masked headers to build valid SIP URIs. Can be
+    any IP address, does not affect routing when used on the main SIP
+    server.
+    Default value is "10.1.1.10".
+    Example 1.2. Set mask_ip parameter
+ ...
+ modparam("topoh", "mask_ip", "192.168.0.1")
+ ...
+ 3.3. mask_callid (integer)
  
 -   Whether to encode or not the call-id. Some SIP extensions include the
 -   call-id in SIP message payload or header, so it is safe to not encode
 -   call-id in such cases. Well-known extensions such as call transfer or
 -   conference join will be added to work with encoded call-id.
 +   Whether to encode the Call-id: header. Some SIP extensions include the
 +   Call-id in the SIP message payload or header, so it is safe to not
 +   encode Call-id in such cases. Well-known extensions such as call
 +   transfer or conference join will be added to work with encoded Call-id.
  
     Default value is 0 (do not mask).
  
  modparam("topoh", "mask_callid", 1)
  ...
  
- 3.3. uparam_name (str)
+ 3.4. uparam_name (str)
  
 -   Name of URI param where to store encoded value.
 +   Name of URI parameter where to store encoded value.
  
     Default value is "line".
  
  modparam("topoh", "uparam_name", "myparam")
  ...
  
- 3.4. uparam_prefix (str)
+ 3.5. uparam_prefix (str)
  
 -   Prefix to be added in encoded URI params.
 +   Prefix to be added in encoded URI parameters.
  
     Default value is "sr-".
  
  modparam("topoh", "uparam_prefix", "xyz")
  ...
  
- 3.5. vparam_name (str)
+ 3.6. vparam_name (str)
  
 -   Name of Via param where to store encoded value.
 +   Name of Via: parameter used to store encoded value.
  
     Default value is "branch".
  
  modparam("topoh", "vparam_name", "myv")
  ...
  
- 3.6. vparam_prefix (str)
+ 3.7. vparam_prefix (str)
  
 -   Prefix to be added in encoded Via params.
 +   Prefix to be added in encoded Via: parameters.
  
     Default value is "z9hG4bKsr-".
  
@@@ -86,13 -86,34 +86,34 @@@ modparam("topoh", "mask_key", "some sec
                </example>
        </section>
        <section>
+               <title><varname>mask_ip</varname> (str)</title>
+               <para>
+               IP address to be used in masked headers to build valid
+               SIP URIs. Can be any IP address, does not affect routing
+               when used on the main SIP server.
+               </para>
+               <para>
+               <emphasis>
+                       Default value is "10.1.1.10".
+               </emphasis>
+               </para>
+               <example>
+               <title>Set <varname>mask_ip</varname> parameter</title>
+               <programlisting format="linespecific">
+ ...
+ modparam("topoh", "mask_ip", "192.168.0.1")
+ ...
+ </programlisting>
+               </example>
+       </section>
+       <section>
                <title><varname>mask_callid</varname> (integer)</title>
                <para>
 -                      Whether to encode or not the call-id. Some SIP extensions include
 -                      the call-id in SIP message payload or header, so it is safe to
 -                      not encode call-id in such cases. Well-known extensions such as
 +                      Whether to encode the Call-id: header. Some SIP extensions include
 +                      the Call-id in the SIP message payload or header, so it is safe to
 +                      not encode Call-id in such cases. Well-known extensions such as
                        call transfer or conference join will be added to work with encoded
 -                      call-id.
 +                      Call-id.
                </para>
                <para>
                <emphasis>
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
   * Supported types of parameters
   */
  typedef enum ptype {
 -      P_OTHER = 0, /* Unknown parameter */
 -      P_Q,         /* Contact: q parameter */
 -      P_EXPIRES,   /* Contact: expires parameter */
 -      P_METHODS,   /* Contact: methods parameter */
 -      P_RECEIVED,  /* Contact: received parameter */
 -      P_TRANSPORT, /* URI: transport parameter */
 -      P_LR,        /* URI: lr parameter */
 -      P_R2,        /* URI: r2 parameter (ser specific) */
 -      P_MADDR,     /* URI: maddr parameter */
 -      P_TTL,       /* URI: ttl parameter */
 -      P_DSTIP,     /* URI: dstip parameter */
 -      P_DSTPORT,   /* URi: dstport parameter */
 -      P_INSTANCE,  /* Contact: sip.instance parameter */
 -      P_FTAG,      /* URI: ftag parameter */
 -      P_CALL_ID,   /* Dialog event package: call-id */
 -      P_FROM_TAG,  /* Dialog event package: from-tag */
 -      P_TO_TAG,    /* Dialog event package: to-tag */
 -      P_ISD,       /* Dialog event package: include-session-description */
 -      P_SLA,       /* Dialog event package: sla */
 -      P_MA         /* Dialog event package: ma */
 +      P_OTHER = 0, /*!< Unknown parameter */
 +      P_Q,         /*!< Contact: q parameter */
 +      P_EXPIRES,   /*!< Contact: expires parameter */
 +      P_METHODS,   /*!< Contact: methods parameter */
 +      P_RECEIVED,  /*!< Contact: received parameter */
 +      P_TRANSPORT, /*!< URI: transport parameter */
 +      P_LR,        /*!< URI: lr parameter */
 +      P_R2,        /*!< URI: r2 parameter (ser specific) */
 +      P_MADDR,     /*!< URI: maddr parameter */
 +      P_TTL,       /*!< URI: ttl parameter */
 +      P_DSTIP,     /*!< URI: dstip parameter */
 +      P_DSTPORT,   /*!< URi: dstport parameter */
 +      P_INSTANCE,  /*!< Contact: sip.instance parameter */
 +      P_FTAG,      /*!< URI: ftag parameter */
 +      P_CALL_ID,   /*!< Dialog event package: call-id */
 +      P_FROM_TAG,  /*!< Dialog event package: from-tag */
 +      P_TO_TAG,    /*!< Dialog event package: to-tag */
 +      P_ISD,       /*!< Dialog event package: include-session-description */
-       P_SLA        /*!< Dialog event package: sla */
++      P_SLA,       /*!< Dialog event package: sla */
++      P_MA         /*!< Dialog event package: ma */
  } ptype_t;
  
  
@@@ -128,9 -122,10 +129,10 @@@ struct event_dialog_hooks 
        struct param* to_tag;
        struct param* include_session_description;
        struct param* sla;
+       struct param* ma;
  };
  
 -/*
 +/*! \brief
   * Union of hooks structures for all classes
   */
  typedef union param_hooks {
diff --cc socket_info.c
Simple merge
diff --cc sr_module.c
Simple merge