Explorar el Código

Merge branch 'master' of ssh://git.sip-router.org/sip-router

Jason Penton hace 12 años
padre
commit
857d35f827
Se han modificado 80 ficheros con 11973 adiciones y 10820 borrados
  1. 8389 8317
      ChangeLog
  2. 0 649
      ChangeLog_k
  3. 83 64
      INSTALL
  4. 25 226
      Makefile
  5. 5 4
      Makefile.defs
  6. 2 1
      Makefile.dirs
  7. 314 0
      Makefile.groups
  8. 5 0
      Makefile.shared
  9. 7 3
      NEWS
  10. 4 4
      README
  11. 6 0
      dns_cache.c
  12. 0 77
      lib/kcore/parse_pai.c
  13. 0 119
      lib/kcore/parse_ppi.c
  14. 0 53
      lib/kcore/parse_ppi.h
  15. 82 35
      modules/cfgutils/README
  16. 34 0
      modules/cfgutils/cfgutils.c
  17. 7 0
      modules/cfgutils/doc/cfgutils.xml
  18. 47 0
      modules/cfgutils/doc/cfgutils_admin.xml
  19. 70 1
      modules/db_postgres/pg_cmd.c
  20. 1 0
      modules/db_postgres/pg_fld.c
  21. 1 0
      modules/db_postgres/pg_fld.h
  22. 6 1
      modules/db_sqlite/Makefile
  23. 1 1
      modules/dispatcher/ds_ht.c
  24. 78 60
      modules/nathelper/README
  25. 22 0
      modules/nathelper/doc/nathelper_admin.xml
  26. 6 0
      modules/nathelper/nathelper.c
  27. 46 24
      modules/presence/README
  28. 19 0
      modules/presence/doc/presence_admin.xml
  29. 41 0
      modules/presence/presence.c
  30. 40 3
      modules/pv/README
  31. 4 0
      modules/pv/doc/pv.xml
  32. 34 0
      modules/pv/doc/pv_admin.xml
  33. 40 5
      modules/pv/pv.c
  34. 114 28
      modules/pv/pv_core.c
  35. 147 0
      modules/pv/pv_shv.c
  36. 3 0
      modules/pv/pv_shv.h
  37. 15 0
      modules/registrar/api.c
  38. 4 0
      modules/registrar/api.h
  39. 21 1
      modules/registrar/save.c
  40. 1 0
      modules/registrar/save.h
  41. 16 4
      modules/rtpproxy/rtpproxy.c
  42. 39 6
      modules/sca/sca_appearance.c
  43. 7 3
      modules/sca/sca_appearance.h
  44. 18 2
      modules/sca/sca_call_info.c
  45. 8 37
      modules/sca/sca_reply.c
  46. 2 3
      modules/sca/sca_reply.h
  47. 106 38
      modules/sca/sca_subscribe.c
  48. 5 0
      modules/sca/sca_subscribe.h
  49. 27 25
      modules/sipcapture/sipcapture.c
  50. 122 103
      modules/siputils/README
  51. 50 0
      modules/siputils/checks.c
  52. 5 0
      modules/siputils/checks.h
  53. 29 0
      modules/siputils/doc/siputils_admin.xml
  54. 39 0
      modules/siputils/siputils.c
  55. 11 3
      modules/tm/t_msgbuilder.c
  56. 2 2
      modules/usrloc/ul_mi.c
  57. 3 2
      parser/hf.c
  58. 926 0
      parser/parse_addr_spec.c
  59. 70 0
      parser/parse_addr_spec.h
  60. 299 0
      parser/parse_body.c
  61. 11 0
      parser/parse_body.h
  62. 211 0
      parser/parse_ppi_pai.c
  63. 22 16
      parser/parse_ppi_pai.h
  64. 2 795
      parser/parse_to.c
  65. 1 28
      parser/parse_to.h
  66. 6 0
      pkg/kamailio/deb/debian/changelog
  67. 21 0
      pkg/kamailio/deb/debian/control
  68. 3 3
      pkg/kamailio/deb/debian/rules
  69. 6 0
      pkg/kamailio/deb/lenny/changelog
  70. 1 1
      pkg/kamailio/deb/lenny/rules
  71. 6 0
      pkg/kamailio/deb/precise/changelog
  72. 21 0
      pkg/kamailio/deb/precise/control
  73. 3 3
      pkg/kamailio/deb/precise/rules
  74. 6 0
      pkg/kamailio/deb/squeeze/changelog
  75. 21 0
      pkg/kamailio/deb/squeeze/control
  76. 2 2
      pkg/kamailio/deb/squeeze/rules
  77. 6 0
      pkg/kamailio/deb/wheezy/changelog
  78. 21 0
      pkg/kamailio/deb/wheezy/control
  79. 3 3
      pkg/kamailio/deb/wheezy/rules
  80. 92 65
      pkg/kamailio/fedora/17/kamailio.spec

+ 8389 - 8317
ChangeLog

@@ -1,10438 +1,10510 @@
-2007-05-15 18:15  greger
+===================== 2013-03-11 Version 4.0.0 Released =====================
 
-	* Makefile.defs: Turned off DBG_QM_MALLOC in preperation for
-	  release (ref. discussion on serdev some time ago)
+===================== Changes Since Version 3.3.0 ===========================
 
-2007-05-15 07:15  di-shi
+commit 71101a73000e2e00c9c7ce38d1bcc3efa94e58fc
+Author: Peter Dunkley <[email protected]>
+Date:   Thu Mar 7 02:11:35 2013 +0000
 
-	* modules/osp/doc/: functions.xml, osp.sgml, osp.xml,
-	  osp_devel.sgml, osp_devel.xml, osp_faq.sgml, osp_faq.xml,
-	  osp_user.sgml, osp_user.xml, params.xml: Update OSP module doc.
+    pkg/kamailio/(centos|fedora): added docbook2X build requirement
+    (cherry picked from commit dd2ef87af7dac6fb1411d58a0dd2e6125b99da80)
+    
+    Conflicts:
+    	pkg/kamailio/fedora/17/kamailio.spec
 
-2007-05-14 12:26  sobomax
+commit 57664f03123de808aa21f0ddc01548db4a069048
+Author: Peter Dunkley <[email protected]>
+Date:   Thu Mar 7 00:10:54 2013 +0000
 
-	* modules/pa/: notify.c, pa_mod.c, pa_mod.h: MFt: Add new module
-	  tunable notify_is_refresh. Default is 1, setting to 0 prevents
-	  200 OK to NOTIFY from being used as a target refresh.  It is
-	  necessary in the cases when notified party is behind a NAT
-	  otherwise remote contact is updated with non-public IP and any
-	  further NOTIFY will be lost.
+    pkg/kamailio/(centos|fedora): updated .spec in preparation for release
 
-2007-05-14 11:53  sobomax
+commit 6d44534858831b00a6036d66c23b11ea2d046f04
+Author: Peter Dunkley <[email protected]>
+Date:   Wed Mar 6 11:08:32 2013 +0000
 
-	* lib/: presence/Makefile.ser, xcap/Makefile.ser: Make buildable on
-	  FreeBSD OOB.
+    pkg/kamailio/(centos|fedora): re-added perl files
+    (cherry picked from commit df1af285d60e2d066c2753e8f3815a7dc4f97684)
 
-2007-05-14 11:50  sobomax
 
-	* modules/pa/Makefile: Backout previous change: my mistake.
+commit 58d937f34d90a812a44435b46e3185bea8eebb7e
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Tue Mar 5 18:35:08 2013 +0100
 
-2007-05-14 11:30  sobomax
+    Makefile.groups: fixed typo in the name of perl mods list
+    
+    - reported by Peter Dunkley
+    (cherry picked from commit f4a4ad8effe41a30705a49da3097818c83d3be6e)
 
-	* modules/pa/Makefile: Make it buildable.
+commit 7ad1c63c53c0f85c5d06830dc52d8cb96105a003
+Author: Peter Dunkley <[email protected]>
+Date:   Tue Mar 5 17:25:18 2013 +0000
 
-2007-05-14 11:20  sobomax
+    pkg/kamailio/(centos|fedora): updated .spec to match latest changes
 
-	* lib/xcap/xcap_client.c: Make buildable with the latest version of
-	  the curl (CURLOPT_MUTE has been depreciated).
+commit 4f905e5998e2517d5382ee05411463af9df028d4
+Author: Peter Dunkley <[email protected]>
+Date:   Tue Mar 5 15:51:56 2013 +0000
 
-2007-05-14 08:53  di-shi
+    pkg/kamailio/(centos|fedora): updated release tag in .spec
 
-	* modules/osp/etc/sample-osp-ser.cfg: Change CANCEL logic.
+commit 13531b47c66f87ce1a3d21f11b1a32379d264821
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Tue Mar 5 17:11:51 2013 +0100
 
-2007-05-04 23:48  sobomax
+    Makefile.groups: mi_xmlrpc has a dedicated pkg grpup depending on xmlrpc-c library
+    (cherry picked from commit 49251e62da99bf05f257e12306cafec614feb408)
 
-	* modules/auth_db/authorize.c: MFt: Add support for loading
-	  non-string (int only at this time) fields via load_credentials
-	  feature. For now, they are converted into the string AVP and as
-	  such should be either processed as strings or converted into
-	  integers using avpops module functions. Non-ideal solution, but
-	  it's better than crashing when trying to access invalid pointer.
+commit 1933eef816241d157fa980709dc2b87dfb1f21d0
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Mon Mar 4 23:41:31 2013 +0100
 
-2007-05-04 23:17  sobomax
+    Makefile.groups: restored outbound as packaging group
+    (cherry picked from commit 6375044137494f1203f26580e16f63c92225c596)
 
-	* db/db_id.c: Allow '/' to be part of the hostname. Some DB
-	  backends (e.g. postgresql) use this for specyfying location of
-	  the unix domain socket for communicating with the server. Example
-	  of such URL would be:
+commit 9fd2a4cb210e08f576092a6a049570c1a9d0b27f
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Mon Mar 4 20:06:53 2013 +0100
 
-	  postgres://someuser@/var/run/sippy
+    Makefile.defs: version set to 4.0.0-rc1
 
-	  Here the sippy is the database name, while /var/run is the
-	  location of the socket. This change should be backward compatible
-	  since '/' is not allowed in the database name.
+commit 3fd1ec548504b574522cc2b3a2c623366612ffb7
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Mon Mar 4 19:56:54 2013 +0100
 
-2007-05-04 18:10  mma
+    usrloc: added missing state from AoR contact dump
+    (cherry picked from commit 068e6e5903801ca7cb7d1ca304d35bca70a34b58)
 
-	* route.c: Backport of SER-263 fix
+commit 5591cce6007b6d770fbf7e10309caa3593798684
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Mon Mar 4 16:30:34 2013 +0100
 
-	  - check the length of the select result value if the run_select
-	  returned 0   to catch the empty string (res->s might be NULL if
-	  res->len==0) - check whether the /0 put behind the string is
-	  really neccessary   STR_STATIC_INITed str is already delimited,
-	  write behind causes segfault
+    dispatcher: release lock instead of destroy when cleaning active calls hash table
+    
+    - this could happen when dispatcher list was reloaded
+    - reported and fix by Dmitry, closes FS#275
+    (cherry picked from commit d83b9aefd5afa25b2d18a8bf92357fbd33d627bf)
 
-2007-05-04 10:18  kubartv
+commit c390d7ed3bf1072ddfa8c1b3ac240359ea0a466e
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Mon Mar 4 16:19:20 2013 +0100
 
-	* modules/gflags/gflags.c: corrected bug in reloading global
-	  attributes closes SER-262 (taken from HEAD; it seems to be
-	  working)
+    Makefile.groups: refer to pkg groups instead of K
+    (cherry picked from commit 3cf821d9983418d68ca33edc35ff5eb2e592d16f)
 
-2007-05-03 20:57  sobomax
+commit d8606ec25cc4083a9c425639f14f0bbe26768f7a
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Mon Mar 4 16:14:42 2013 +0100
 
-	* modules/xcap/xcap_mod.c: MFt: Make compatible with the latest
-	  curl library.
+    db_postgres: handle prepare statements in DB APIv2
+    
+    - patch by  Markus Bucher, closes FS#272
+    (cherry picked from commit 09c7b67beee9529d6a7c06e600c7f294bf453eda)
 
-2007-05-03 20:40  andrei
+commit 31219de430f48fc15bbf58cde5d6073cd5625ef5
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Mon Mar 4 16:09:36 2013 +0100
 
-	* dst_blacklist.c:
-	  - [backport]: fix: blacklist destroy not freeing all the shmem on
-	  exit and   missing  initializations (thanks to  Vladimir Marek
-	  <[email protected]>)
+    Makefile: updated the groups of modules
+    
+    - they are kept in Makefile.groups to keep main Makefile cleaner
+    - most of modules are in lists groupped mostly by dependency
+    - compilation and packaging groups are build using the lists
+    - exclude_modules list is automatically built from all modules without
+      those part of lists with external dependencies
+    (cherry picked from commit b5024f320b578c831d3ee13b077bb87954bc61b0)
 
-2007-05-03 12:02  sobomax
+commit dc15e648b398ef7d8052181b822c9756bed95013
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Mon Mar 4 10:46:01 2013 +0100
 
-	* modules/osp/destination.c: MFt: Include stdio.h for snprintf(3).
+    Makefile.defs: -DWITH_AS_SUPPORT is on by default
+    
+    - it was for kamailio flavour only
+    - can be disabled with WITHAS=0 and exclude_modules+=seas
+    (cherry picked from commit 01cbe8bf98d6ad1ef8cf7e0b9f646fde81831fc6)
 
-2007-05-03 11:56  sobomax
+commit c40939ad2aae3dfb7d33ed8016223da9038f1ca7
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Sun Mar 3 23:53:14 2013 +0100
 
-	* lib/binrpc/binrpc_api.c: Include all headers necessary for
-	  writev(2) syscall.
+    Makefile: split module groups definitions in Makefile.groups
+    
+    - the part was quite big and it is more config related than build rules
+    - it has to be updated with the current list of modules
+    (cherry picked from commit 23a22e2c8d73843798d66ec1bebe22cf7702213b)
 
-2007-05-03 11:45  sobomax
+commit 0d6e0778ef4d86ebd06671333f86f45fc2ec375d
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Fri Mar 1 18:12:23 2013 +0100
 
-	* modules/unixsock/unixsock_server.c: Fix compilation.
+    rtpproxy: proper fixup function for rtpproxy_manage(...)
+    
+    - second parameter was resolved as spve type, although fixed as str
+    - reported by  Markus Bucher, FS#273
+    (cherry picked from commit b23510e0adb6060a257c8662700450ed7faef080)
+
+commit e239cb78c6a16e94c8ef42530a89f1a734e89afa
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Wed Feb 27 09:24:52 2013 +0100
+
+    Makefile.defs: version set to 4.0.0-rc0
+    
+    - branch for release series 4.0.x has been created
+
+commit 9365c5c19cb0b9d4300fa5b0a220bf19738c808f
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Mon Feb 25 11:19:15 2013 +0100
+
+    core: parser - function to proper handling multipart bodies with same content type
+    
+    - closes FS#170, based on a patch by Luis Martin
+
+commit 45b2ea3018cc84f8bcf9e687dcc0a03e81597711
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Sun Feb 24 20:04:51 2013 +0100
+
+    siputils: completed the function to return RURI parameter value
+    
+    - closes FS#238, based on a patch by Luis Martin
+
+commit 39bffdd7db9c3118045eae9640659997bac4bf4e
+Author: Olle E. Johansson <[email protected]>
+Date:   Sun Feb 24 22:17:25 2013 +0100
+
+    snmpstats add support for ws, wss and sctp transports
+
+commit 4547a28b077b5bdaf9128e98fd4e1ee9a8c11847
+Author: Olle E. Johansson <[email protected]>
+Date:   Sun Feb 24 17:53:27 2013 +0100
+
+    snmpstats Add missing SIP response codes
+    
+    And switch from Wikipedia to the IANA list as a master list.
+
+commit 7952711e6079e02a07ad027c6d8840e755c6e528
+Author: Olle E. Johansson <[email protected]>
+Date:   Sun Feb 24 10:25:38 2013 +0100
+
+    snmpstats fix typo
+
+commit 402e44861c489d4246a0fe1f57bc2cc5fe7a70c9
+Author: Marius Zbihlei <[email protected]>
+Date:   Sat Feb 23 14:58:07 2013 +0000
+
+    Added own _strnstr method as strnstr is BSD only
+    
+    This cause the tm module to not be loaded on non-BSD (i.e. Linux) system
+    Problem reported by Joel Vandal.
+
+commit 09dcd2353773b011bcce9f24886ab35a47409ff1
+Author: Andrew Mortensen <[email protected]>
+Date:   Fri Feb 22 14:45:58 2013 -0500
+
+    sca: return true if no Contact header is found in an INVITE packet
+    
+    - stop spurious log messages when receiving a 100 Trying with no Contact.
+
+commit 8fbcb1d1003b3ff3c28cf18aa6791f191a831cea
+Author: Andrew Mortensen <[email protected]>
+Date:   Thu Feb 21 22:56:37 2013 -0500
+
+    sca: log at debug level when reporting lack of Contact header
+
+commit 9cb26a2eefe93e0ca162db917e34e784e703770a
+Author: Andrew Mortensen <[email protected]>
+Date:   Thu Feb 21 22:32:23 2013 -0500
+
+    sca: ensure SCA caller has correct callee CLI when callee is non-SCA.
+    
+    - previously only set when callee was also SCA
+
+commit 86771e45a92f6262a9fee1bd698c8e9dbe3b0b70
+Author: Andrew Mortensen <[email protected]>
+Date:   Thu Feb 21 18:55:02 2013 -0500
+
+    sca: remove misleading comment.
+    
+    - suggestion in comment has long since been implemented
+
+commit 3c5b0019bbe1589410d8744545b64a278a222761
+Author: Konstantin Mosesov <[email protected]>
+Date:   Fri Feb 22 00:51:33 2013 +0200
+
+    app_python: Bugfix for rewrite_ruri
+    
+    *) Fixed a bug in msg_rewrite_ruri discovered by "V Tone" <[email protected]>.
+    *) Removed 'python exception' when do_action returns error. Reason: it is not an exception.
+    *) Removed abort() if first_line type is invalid.
+
+commit 3bae735a5e38414bd53738928ba531a329290777
+Author: Andrew Mortensen <[email protected]>
+Date:   Thu Feb 21 17:00:31 2013 -0500
+
+    sca: prevent possible NULL-dereference in log message when NOTIFY fails.
+    
+    - sub struct may be NULL outside of else block. Use non-shmem req_sub from
+      incoming SUBSCRIBE packet instead.
 
-2007-05-03 11:27  sobomax
+commit 0fd954bc6a8f94ac5e8087f6b8abdba372505c6e
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Thu Feb 21 11:34:25 2013 +0100
 
-	* lib/cds/simple_profile.c: MFt: Don't rely on presence of
-	  unportable type (probably glibc internal one).
+    kamailio.cfg: fixed typos to speeddial
+    
+    - patch by Thilo Bangert, FS#268
 
-2007-05-02 05:12  di-shi
+commit 77f99fc7c0252c5fa71ad5939f048742592f1d43
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Thu Feb 21 11:25:39 2013 +0100
 
-	* modules/osp/etc/sample-osp-ser.cfg: 1. Fix a typo for log
-	  variables.  2. Add warning log for the BYE messages without OSP
-	  info.
+    tm: add Max-Forwards header to local requests if not given as parameter
+    
+    - add the header to local generated CANCEL and ACK
+    - based on a patch by Morten Tryfoss
 
-2007-05-02 00:03  sobomax
+commit 9e6f0268097d81c0e06c7fe33599d0763ed38179
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Thu Feb 21 10:40:07 2013 +0100
 
-	* modules/tm/sip_msg.c: MFt: Handle HDR_SERVER_T.
+    core: dns - prevent queries for IPv4/6 address literals
+    
+    - prevent A queries for IPv6 address literals or AAAA queries for IPv4
+      address literals
+    - patch by Simon Perreault
 
-2007-05-01 23:32  sobomax
+commit 4439b188634deeb3c0745a7a9664de8745d9272e
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Wed Feb 20 11:29:06 2013 +0100
 
-	* parser/: hf.c, hf.h, keys.h, msg_parser.c, msg_parser.h,
-	  parse_hname2.c: MFt: Server HF support.
+    Makefile.defs: version set to 4.0.0-pre2
 
-2007-05-01 17:20  liborc
+commit 164b8167855415771a82715ef59a300af8c2bafa
+Author: Peter Dunkley <[email protected]>
+Date:   Wed Feb 20 09:59:56 2013 +0000
 
-	* modules/usrloc/ul_rpc.c: string length fix
+    modules/outbound: Fix core dump crash
+    
+    - Reported by oej
 
-2007-04-30 10:43  kubartv
+commit 8d10bcd44834fd6f2a0c41238fd2dc197143c06e
+Author: Peter Dunkley <[email protected]>
+Date:   Wed Feb 20 09:49:44 2013 +0000
 
-	* db/schema/offline_winfo.xml, scripts/mysql/my_create.sql,
-	  scripts/oracle/or_create.sql, scripts/postgres/pg_create.sql:
-	  index in offline_winfo table changed to unique index closes
-	  SER-261
+    modules/outbound: Fixes the crash but is logically incorrect for outbound
+    
+    - Not sure why the crash happened at all - but this fix breaks the outbound logic
+    
+    Revert "outbound Fix core dump crash"
+    
+    This reverts commit 6369444761d44526ded2620e33438abb182d2bdc.
 
-2007-04-27 11:00  vlada
+commit 6369444761d44526ded2620e33438abb182d2bdc
+Author: Olle E. Johansson <[email protected]>
+Date:   Tue Feb 19 23:08:13 2013 +0100
 
-	* ser_stun.c: Applied patch from Alfred E. Heggestad - added
-	  include of <openssl/sha.h> and removed exter declaration of SHA1.
+    outbound Fix core dump crash
+    
+    When we got a CANCEL without Contact the parse_contact was sent a null
+    pointer. Changing the "or" to "and" fixed this and Kamailio no longer cores
+    on Cancel coming on over websockets from jssip.
+    
+    Tested at SIPit 30. Core dumps and backtraces available.
+    Pdunkley - please check this patch
 
-2007-04-24 13:43  di-shi
+commit 8524f32bc07bd121326369f432eb29a257856f41
+Author: Olle E. Johansson <[email protected]>
+Date:   Mon Feb 18 22:36:45 2013 +0100
 
-	* modules/osp/: RELEASE-NOTES.txt, destination.c, destination.h,
-	  globals.c, orig_transaction.c, orig_transaction.h, osp_mod.c,
-	  osp_mod.h, osptoolkit.c, osptoolkit.h, provider.c, provider.h,
-	  sipheader.c, sipheader.h, term_transaction.c, term_transaction.h,
-	  tm.c, tm.h, usage.c, usage.h, doc/osp.sgml, doc/osp_devel.sgml,
-	  doc/osp_faq.sgml, doc/osp_user.sgml, etc/sample-osp-ser.cfg:
-	  merge code from experimental.
+    maxfwd The default value is not 256, it's 16 in the source code.
 
-2007-04-23 18:54  andrei
+commit 3f05697f6503f682274fce7bd93eeeaaa9b58188
+Author: Richard Good <[email protected]>
+Date:   Mon Feb 18 09:48:22 2013 +0200
 
-	* Makefile.modules: - fixed missing Makefile.defs dependency when
-	  running make inside a module$  director [backported from
-	  unstable]
+    dialog_ng: changed LM_ERR to LM_DBG in dlg_hash.c
+    
+     - dlg_set_leg_info() line 416 was incorrectly logged as ERR when it should be only DBG
 
-2007-03-27 14:01  janakj
+commit 2e58de7e16203c849cf1c445dfb33d304ffd3507
+Author: Ovidiu Sas <[email protected]>
+Date:   Fri Feb 15 21:13:29 2013 -0500
 
-	* modules/acc_radius/acc_radius.c: - Always add User-Name
-	  attribute, patch provided by Samuel
+    rtpproxy: when adding ICE relay candidates, always include RTCP candidate
 
-2007-03-14 22:42  tma0
+commit 05d02fd85b12f8e529f088e28cd1923351631e31
+Author: Ovidiu Sas <[email protected]>
+Date:   Fri Feb 15 20:12:56 2013 -0500
 
-	* modules/nathelper/natping.c: - merged SER-246 from HEAD
+    sdp: fix TABS and whitespaces
 
-2007-03-14 15:13  tma0
+commit b6e2a5c152de3f13251bca6a4f52f8bc9f725018
+Author: Ovidiu Sas <[email protected]>
+Date:   Fri Feb 15 12:08:20 2013 -0500
 
-	* modules/xlog/xl_lib.c: - merged SER-240 from HEAD
+    xhttp_rpc: cosmetic updates to header's web page
 
-2007-03-08 12:20  calrissian
+commit c3db1a1b598416d1380d54e1a21e9991070a075b
+Author: Ovidiu Sas <[email protected]>
+Date:   Fri Feb 15 11:27:15 2013 -0500
 
-	* etc/ser-basic.cfg: - removed obsoleted fifo comments - replaced
-	  sl_send_reply with sl_reply - lots of beautifications (no
-	  functional changes)
+    xhttp_pi: fix default value for xhttp_pi_root param
 
-2007-03-08 11:51  calrissian
+commit 8066d290b69a472fc46df248ae861487c932f738
+Author: Ovidiu Sas <osas@ubuntu.(none)>
+Date:   Tue Feb 12 15:13:05 2013 -0500
 
-	* etc/ser.cfg: - removed xmlrpc route from init route - fixed
-	  several comments
+    xhttp_pi: remove unused variable
 
-2007-03-01 18:07  andrei
+commit 36d0763385605c8174a538297dd8dfa94092e9c5
+Author: Ovidiu Sas <osas@ubuntu.(none)>
+Date:   Tue Feb 12 14:38:53 2013 -0500
 
-	* scripts/mysql/ser_mysql.sh:
-	  [backport from unstable]
+    xhttp_pi: remove unused variable
 
-	  - fix: allow empty mysql password and better handle the DB=""
-	  case inside	sql_query
+commit 0a56f3b4c08236265dc66965e61d1a36a7594b36
+Author: Alexandr Dubovikov <[email protected]>
+Date:   Tue Feb 12 10:44:46 2013 +0100
 
-2007-03-01 14:53  andrei
+    modules:sipcapture fixed LM_ERR. Sorry :-(
 
-	* main.c:
-	  [backport from unstable]
+commit 1690eafbb599842f0507ad41c1590fcbba8c7630
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Mon Feb 11 23:40:53 2013 +0100
 
-	  - sercmd ps udp receiver description fixed to be the same as in
-	  0.9.6  (patch from Hendrik Scholz)
+    msrp: return proper value for $msrp(code)
+    
+    - internally there is an offset of 10000 to the value in the msrp reply
+    - reported by Peter Dunkley
 
-	  (closes SER-237)
+commit ae0183fe5af84ce986baa36b0e6a33f4e06f6803
+Author: Konstantin Mosesov <[email protected]>
+Date:   Sat Feb 9 16:39:49 2013 +0200
 
-2007-02-28 20:21  andrei
+    app_python: fixed compilation errors and warnings.
 
-	* atomic/: atomic_alpha.h, atomic_x86.h:
-	  [backport from unstable]
+commit f38eaeda810730a10a0b67ee42ae629642cdebc2
+Author: Olle E. Johansson <[email protected]>
+Date:   Fri Feb 8 22:13:17 2013 +0100
 
-	  - compilation fix for gcc < 2.9 (workaround for unsuported
-	  contraint)
+    imc README updates. Configuration files works with 4.0.0 now.
 
-2007-02-23 22:19  andrei
+commit a0c0b57d0bcede9144b8ddf71556f4bdb58baebd
+Author: Olle E. Johansson <[email protected]>
+Date:   Fri Feb 8 21:58:50 2013 +0100
 
-	* Makefile.defs, globals.h, main.c, modules/acc_db/acc_db.c,
-	  modules/auth_db/authdb_mod.c, modules/avp_db/avp_db.c,
-	  modules/db_ops/db_ops.c, modules/gflags/gflags.c,
-	  modules/lcr/lcr_mod.c, modules/msilo/msilo.c,
-	  modules/mysql/dbase.c, modules/pa/pa_mod.c, modules/pdt/pdt.c,
-	  modules/postgres/dbase.c, modules/rls/rls_mod.c,
-	  modules/speeddial/speeddial.c, modules/uri_db/uridb_mod.c,
-	  modules/usrloc/ul_mod.c:
-	  [backport from unstable]
+    db_text change "openser" and minor edits
 
-	  - fix:  db connections should not be opened from
-	  child_init(PROC_MAIN),   or they will be inherited by all the tcp
-	  processes (bad). Bug reported by   Jan Andres
-	  <[email protected]>.
+commit d4f64eb262f73e316772955afc4153b84ba74954
+Author: Olle E. Johansson <[email protected]>
+Date:   Fri Feb 8 21:41:11 2013 +0100
 
-	  closes SER-227
+    maxfwd Update README, fix typos
 
-2007-02-23 10:09  kubartv
+commit 88b25387f5ddd83a6cb211a4e650191d268fd893
+Author: Olle E. Johansson <[email protected]>
+Date:   Fri Feb 8 21:33:37 2013 +0100
 
-	* lib/cds/: ChangeLog, serialize.c, serialize.h: merged from HEAD
-	  (needed here)
+    mangler Update README for readability
 
-2007-02-22 21:59  andrei
+commit 022935946d2b66ab74d2fb3c4601b340cd57fe34
+Author: Olle E. Johansson <[email protected]>
+Date:   Fri Feb 8 21:32:39 2013 +0100
 
-	* dns_cache.c, hashes.h:
-	  [backport from unstable]
+    ldap Add the README
 
-	    - added case-insensitive hash functions
-	    - replaced dns case insensitve hash calc. with the version from
-	  hashes.h
-	     (and fixed a "paste error" in dns hash calculation in the
-	  process)
+commit 28ee292ca10a8fc8428ac8cff763dbf57ed19db3
+Author: Olle E. Johansson <[email protected]>
+Date:   Fri Feb 8 21:21:02 2013 +0100
 
-2007-02-22 16:33  janakj
+    ldap Convert an "a" to an "o"
 
-	* pkg/rpm/ser.spec-4.1: - fixed download url (I got it wrong in the
-	  previous commit)
+commit 3ce0e28280d4b7a5f4b991af861455114b829976
+Author: Olle E. Johansson <[email protected]>
+Date:   Fri Feb 8 21:12:52 2013 +0100
 
-2007-02-22 16:27  janakj
+    kex Fix copy/paste typos and minor edits for readability
 
-	* pkg/rpm/: ser.init, ser.spec-4.1: - applied patch from Alfred E.
-	  Heggestad - Updated download URL
+commit a9ca3f4a05d0655b11ba90bc64d68b53c4ba039c
+Author: Olle E. Johansson <[email protected]>
+Date:   Fri Feb 8 21:03:07 2013 +0100
 
-2007-02-22 13:49  janakj
+    ipops Minor updates to README
 
-	* etc/ser.cfg: - replace sl_send_reply with sl_reply
+commit 63653d7d18a7124ff3a33991f3db4cd8271a9e24
+Author: Olle E. Johansson <[email protected]>
+Date:   Fri Feb 8 20:56:06 2013 +0100
 
-2007-02-21 21:37  andrei
+    mi_fifo Typo fixes mostly
 
-	* modules/tls/: fixed_c_zlib.h, tls_init.c:
-	  [backported from unstable]
+commit beb5537e70bc36f459223633109d31306ae600f8
+Merge: e4ffcaf 80e8407
+Author: Olle E. Johansson <[email protected]>
+Date:   Thu Feb 7 22:05:42 2013 +0100
 
-	  - even more zlib sanity checks - workarround against openssl 1
-	  ex_data hash	per process instead of one globally - properly
-	  cleanup if something failed
+    Merge branch 'master' of ssh://git.sip-router.org/sip-router
+    
+    Arrrggh. My mistake.
+    * 'master' of ssh://git.sip-router.org/sip-router:
+      registrar: Fixed typo in event_route name, 'usrloc:expired-contact'
 
-2007-02-21 02:51  andrei
+commit e4ffcaf671c93222a5aed846cf89fefaf72b2b4a
+Author: Olle E. Johansson <[email protected]>
+Date:   Thu Feb 7 22:05:05 2013 +0100
 
-	* tcp_read.c:
-	  [backport from unstable]  - fixed get_ticks* usage: only
-	  get_ticks_raw() must be used and everything  must be converted to
-	  ticks. Thanks to Alfred E. Heggestad" <[email protected]> for  spotting
-	  this.
+    outbound - Fix typos in example configuration
 
-2007-02-20 20:37  andrei
+commit 80e8407dedb06d386167924a40fbf47119708336
+Author: Giacomo Vacca <[email protected]>
+Date:   Tue Feb 5 17:16:18 2013 +0000
 
-	* Makefile, Makefile.defs:
-	  [backport from unstable]
+    registrar: Fixed typo in event_route name, 'usrloc:expired-contact'
+    
+    - (Instead of changing all the related documentation that refers to usrloc:contact-expired)
 
-	   - call tls_shutdown() only if tls_set_fd() was succesfull
-	     (fixes a tricky bug that can appear on low memory conditions)A
-	   - tls_dump_cert_info takes into account the possibility of a
-	  failing
-	      X609_NAME_oneline() (can happen on low memory)
+commit 1c643eb26a25880669a719a29c1c8e984e32983d
+Author: Olle E. Johansson <[email protected]>
+Date:   Thu Feb 7 11:04:00 2013 +0100
 
-2007-02-20 20:17  andrei
+    siptrace Fix bug in documentation
+    
+    The default database URL was mysql, not "", which caused me some strange issues.
 
-	* modules/tls/tls_server.c:
-	  [backport from unstable]
+commit fcbf4a0329adab01b079d72408582c2b5d4390e6
+Author: Olle E. Johansson <[email protected]>
+Date:   Thu Feb 7 10:39:17 2013 +0100
 
-	  - call tls_shutdown() only if tls_set_fd() was succesfull
-	  (fixes a tricky bug that can appear on low memory conditions)A  -
-	  tls_dump_cert_info takes into account the possibility of a
-	  failing    X609_NAME_oneline() (can happen on low memory)
+    sipcapture - update example configuration
 
-2007-02-20 20:15  andrei
+commit 7f5b6c26d4bf1f50b1890d177121f4c4fd65428c
+Author: Ovidiu Sas <[email protected]>
+Date:   Wed Feb 6 23:39:27 2013 -0500
 
-	* tcp_read.c:
-	  [backport from unstable]
+    xhttp_pi: documentation updates
 
-	  - minor: nicer error handling - fixed wrong expire time
-	  calculation (not correct when tick oveflow,	 an timeout == some
-	  value before the overflow).	  This should fix the connection
-	  lives forever bug reported by Alfred E.     Heggestad
-	  <[email protected]>.
+commit 0c970537a2d2aa66d24650e07efb587acd9edfc0
+Author: Ovidiu Sas <[email protected]>
+Date:   Wed Feb 6 23:37:53 2013 -0500
 
-2007-02-20 20:02  andrei
+    xhttp_rpc: documentation updates
 
-	* Makefile.defs:
-	  [backport from unstable]
+commit ce5aa2416d93d3626db8d69651530edf4575a569
+Author: Richard Fuchs <[email protected]>
+Date:   Wed Feb 6 18:05:05 2013 -0500
 
-	   - moved TLS_HOOKS init. in Makefile.defs so that it will be
-	  available if make
-	     is called from a module directory
+    Revert "nathelper: add new option sipping_disable_bflag"
+    
+    This reverts commit dc9a06f7b33a758cb3a44fbc1d018e1a81a794a5.
 
-2007-02-20 20:02  andrei
+commit 23b84739a72c5cca1fd397fbe1a7468a621cc2e6
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Wed Feb 6 23:08:02 2013 +0100
 
-	* modules/tls/: tls_init.c, tls_init.h, tls_server.c:
-	  [backport from ser unstable]
+    msilo: safety check for freeing tmp_extra_headers
+    
+    - it can be a static empty buffer
+    - reported by Stoyan Mihaylov
 
-	  - tls: openssl kerberos malloc bug (# 1467) fixed on cvs
-	  (0.9.8e-dev and 0.9.9-dev), so add extra checks for enabling the
-	  workarround (which disables kerberos) only when necessary:  if
-	  openssl compiled with kerberos support, and openssl <
-	  0.9.8e-beta1 or openssl between 0.9.9-dev and 0.9.9-beta1 apply
-	  workarround.
+commit 1d6b2ce07c6b661ed3e3a1c31b8ec408d68ed4e9
+Author: Olle E. Johansson <[email protected]>
+Date:   Wed Feb 6 20:42:50 2013 +0100
 
-2007-02-20 19:43  andrei
+    xhttp_rpc Fix typo and minor formatting in README
 
-	* action.c, select.c, modules/nathelper/nathelper.c,
-	  modules/permissions/im_locks.h, modules/usrloc/reg_avps.c,
-	  modules/xlog/xl_lib.c:
-	  [backport from unstable]  - warnings for solaris  - compilation
-	  fixes for  gcc 2.95
+commit dc9a06f7b33a758cb3a44fbc1d018e1a81a794a5
+Author: Richard Fuchs <[email protected]>
+Date:   Wed Feb 6 11:38:57 2013 -0500
 
-2007-02-16 18:17  calrissian
+    nathelper: add new option sipping_disable_bflag
+    
+    sipping_disable_bflag can be set on a per-registration basis
+    to disable NAT pings completely
 
-	* etc/ser.cfg: copied Alfred Heggestads patch from head
+commit da298e85166b873f4825e4baa96db0d317771e20
+Author: Peter Dunkley <[email protected]>
+Date:   Wed Feb 6 12:55:55 2013 +0000
 
-2007-02-16 14:38  kubartv
+    modules/msrp: Fixed typos in MSRP README and added extra event_route example
 
-	* modules/tm/uac.c: merge from HEAD - corrected broken sending
-	  request to given destination (used for example in msilo)
+commit f56e82a286e00a17dbf02e9a5056ef73488b89b1
+Author: Peter Dunkley <[email protected]>
+Date:   Wed Feb 6 12:36:52 2013 +0000
 
-2007-02-12 14:28  janakj
+    modules/msrp: Fixed error in msrp_cmap_lookup()
 
-	* NEWS: - version changed
+commit 1e16eb9c892358a972ae71f05ec138fbe0d23126
+Author: Juha Heinanen <[email protected]>
+Date:   Wed Feb 6 11:21:11 2013 +0200
 
-2007-02-12 14:27  janakj
+    modules/lcr: treat lcr_gw/ip_addr empty string value same as null value
 
-	* Makefile.defs: - new branch for Ottendorf, version changed
+commit 62cd05a469f657b5371ecd1538f9c9b224f7e589
+Author: Ovidiu Sas <[email protected]>
+Date:   Tue Feb 5 10:06:47 2013 -0500
 
-2007-02-12 14:16  janakj
+    xhttp_pi: documentation updates
 
-	* modules/uri_radius/: checks.c, urirad_mod.c: - A_SER_ATTRS has
-	  not been renamed to A_SER_ATTR, fixed
+commit af7d4496febf95e56b604849a8f818e688b21f53
+Author: Ovidiu Sas <[email protected]>
+Date:   Mon Feb 4 10:59:10 2013 -0500
 
-2007-02-12 14:15  janakj
+    lib/srdb1: while converting strings to int/bigint check for invalid characters
 
-	* rad_dict.h: - added missing V_CALL_CHECK value of Service-Type
-	  attribute
+commit 47276cf597ab941016fd49dbcfaaab3da8802834
+Author: Ovidiu Sas <[email protected]>
+Date:   Sun Feb 3 23:36:26 2013 -0500
 
-2007-02-11 09:46  andrei
+    ims_icscf: getting rid of "defined but not used" compiler warning
 
-	* lib/binrpc/binrpc_api.c:
-	  - commented out the stropts.h include, it seems it's not really
-	  needed  and is not widely available (bsd, darwin don't have it)
+commit d474abbb3d93c992ccff561909402ca1b52297bd
+Author: Ovidiu Sas <[email protected]>
+Date:   Sun Feb 3 10:50:47 2013 -0500
 
-2007-02-10 20:41  andrei
+    ims_usrloc_pcscf: remove unused variables
 
-	* Makefile, NEWS:
-	  - TLS_HOOKS support turned on by default (this means that to use
-	  tls	one needs only to compile the tls module, load it and add
-	  enable_tls=1	  in the config). make TLS_HOOKS=0 will compile
-	  without tls hooks support.	 make CORE_TLS=1 will automatically
-	  disable the hooks and will try    to compile with the old
-	  tls-in-core.
+commit 7d6d016c7556a3241d47801b0480c022ca2dd3c8
+Author: Ovidiu Sas <[email protected]>
+Date:   Sun Feb 3 10:31:55 2013 -0500
 
-2007-02-10 20:02  andrei
+    ims_usrloc_scscf: remove unused variables
 
-	* modules/tls/: Makefile, tls_domain.c, tls_domain.h, tls_init.c,
-	  tls_init.h, tls_mod.c, tls_server.c, tls_server.h:
-	  - use the new tls hooks api (the core patch is no longer
-	  necessary) - renamed some of tls_.* functions to tls_h_.* to
-	  avoid name conflicts with the core - fixed shutdown tls before
-	  tcp bug (if ser was stopped while tls connections  were still
-	  active, the tls module was destroyed before tcp => crash when
-	  tcp tried to close the tls connections). Now all the destroy
-	  operation  are moved into the new destroy_tls hook and the module
-	  destroy function is	empty.
+commit 622b01719bb8a95c5995c8412cd040787f0cd0a6
+Author: Ovidiu Sas <[email protected]>
+Date:   Fri Feb 1 19:45:28 2013 -0500
 
-2007-02-10 19:52  andrei
+    xhttp_pi: new commands in the pi_framework_sample:
+     - add
+     - update
+     - delete
 
-	* Makefile, Makefile.defs, Makefile.sources, cfg.lex, cfg.y,
-	  main.c, tcp_main.c, tcp_read.c, tls_hooks.c, tls_hooks.h,
-	  tls_hooks_init.h, version.h:
-	  - tls hooks support: special tls hooks added in core that allow a
-	  module or  core part to provide a tls implementation. Support for
-	  the old in-core  tls compile options is preserved (but one can
-	  compile with either tls   hooks support or tls-in-core support,
-	  not with both in the same time).  Changes were kept to a minimum.
-	  - Makefiles: make TLS=1 deprecated, use instead make TLS_HOOKS=1
-	  or  make CORE_TLS=1 (if in-core tls support is needed). Added
-	  TLS_EXTRA_LIBS   (e.g. make CORE_TLS=1 TLS_EXTRA_LIBS="-lz
-	  -lkrb5").
+commit 60e60e26cebeea2d8e07ec4ffd036ab1f35e2f12
+Author: Andrew Mortensen <[email protected]>
+Date:   Fri Feb 1 11:45:32 2013 -0500
 
-2007-02-08 15:40  janakj
+    sca: restore correct table version number in db creation files.
+    
+    - Had been reverted by commit f636e215089a9b14daa113d93025831e827192b5
+      because the schema xml file had the wrong version number.
 
-	* modules/xmlrpc/xmlrpc.c: - @xmlrpc must be non-terminal select
+commit 36c7b450889a8005af3f14b0edb55f4ede6f98a1
+Author: Peter Dunkley <[email protected]>
+Date:   Fri Feb 1 10:14:26 2013 +0000
 
-2007-02-08 15:39  janakj
+    modules/websocket: moved example WebSocket configuration file to examples directory
 
-	* modules/xmlrpc/xmlrpc.c: - added missing static keyword
+commit cdd23170e8fd6da4817619ee82ded0fa27936081
+Author: Andrew Mortensen <[email protected]>
+Date:   Wed Jan 30 15:17:28 2013 -0500
 
-2007-02-08 15:33  janakj
+    sca: db table version incremented to 1
+    
+    - should have been part of commit adding record_route to table.
 
-	* modules/rr/rr_mod.c: - added missing static keyword
+commit 2eeb686ea57ce569d3c5eb05430c78d0fdbdd4eb
+Author: Olle E. Johansson <[email protected]>
+Date:   Wed Jan 30 13:26:35 2013 +0100
 
-2007-02-07 15:37  vlada
+    tls Small modificiation in tls configuration example
 
-	* ser_stun.c, ser_stun.h: fixes:  - error text mesagges  - checking
-	  of optional attributes  - added some other debug messages
+commit 147430e2f5849996fcfff4933795ef212fdfb83a
+Author: Carsten Bock <[email protected]>
+Date:   Wed Jan 30 12:17:50 2013 +0100
 
-2007-02-06 09:04  vlada
+    Fix: We trust the IP in the media for calls from the network to the user
+    Fix: Rx-Configuration updates
 
-	* lib/: Makefile, Makefile.ser, README: added support for binrpc
-	  library
+commit 50a041f5c04ef79d8812d5871903931b120c0812
+Author: Carsten Bock <[email protected]>
+Date:   Wed Jan 30 11:55:42 2013 +0100
 
-2007-02-06 09:00  vlada
+    Fix linking for the IMS-QOS module
 
-	* lib/binrpc/: Makefile, Makefile.ser, README, binrpc_api.c,
-	  binrpc_api.h: binrpc library - offers API for using Andrei's
-	  binary RPC functionality
+commit 6729c79d7fe3778a889ef7e6777c0bbe2e011528
+Author: Carsten Bock <[email protected]>
+Date:   Tue Jan 15 11:17:45 2013 +0100
 
-2007-02-05 16:16  janakj
+    Cleanup of example I-CSCF config.
 
-	* modules/xmlrpc/xmlrpc.c: - cosmetic change: tls_sel renamed to
-	  xmlrpc_sel
+commit ef63f7cd1a6966e3309d8f83e88a7e62b41bd4ed
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Mon Jan 28 16:54:44 2013 +0100
 
-2007-02-05 11:20  janakj
+    kamailio.cfg: use route(RELAY) instead of t_relay()
+    
+    - coherent exit from config when sending out
 
-	* modules/tls/tls_init.c: - added missing header files to make tls
-	  module compile on FreeBSD   reported by Atle Samuelsen
+commit a21750ff6fcf87d8e3f54597bdd3f1171846e6cb
+Author: Alex Hermann <[email protected]>
+Date:   Mon Jan 28 13:08:02 2013 +0100
 
-2007-02-02 16:17  andrei
+    modules/sqlops: Check if pv_spec is available before trying to use it.
+    
+    Instead of segfaulting when the script writer has not specified enough PV
+    specs to hold all the query's result columns, bail out with an error message.
 
-	* modules/tls/tls_init.c:
-	  - fixed missing warning quotes (problem with older compilers)
+commit ebe16f75b38c76dab141ca9583b10b67e4f45f57
+Author: Alex Hermann <[email protected]>
+Date:   Mon Jan 28 13:06:08 2013 +0100
 
-2007-02-01 05:34  andrei
+    lib/srdb1: Fix compilation warning on 32-bit architectures
+    
+    On "bits-challenged" architectures, long != 64 bits.
+    Use long long instead, seems to work on 64-bit archs too.
 
-	* tcp_conn.h, timer.h, timer_ticks.h:
-	  - ticks_t move in timer_ticks.h - tcpconn_get() exported (tls
-	  needs it)
+commit a0968999375227bf187bca374e544e359a9c4c5f
+Author: Olle E. Johansson <[email protected]>
+Date:   Sun Jan 27 19:55:49 2013 +0100
 
-2007-02-01 05:24  andrei
+    tls README: Change "ser" and "sip-router" to "kamailio"
 
-	* modules/tls/: tls_domain.c, tls_init.c, tls_init.h, tls_mod.c,
-	  tls_rpc.c, tls_select.c:
+commit e59acd4d006e5048610e75f2cfc2df30b2f7c968
+Author: Olle E. Johansson <[email protected]>
+Date:   Sun Jan 27 14:33:13 2013 +0100
 
-	   - openssl compression bug detect/workaround enabled at runtime
-	   (if zlib compression is detected, we replace openssl version
-	  with ours).
-	   The previous version had this fix but it was enabled only at
-	  compile-time.
-	   - SSL_OP_TLS_BLOCK_PADDING_BUG option disabled if
-	      0.9.8 <= openssl < 0.9.8c and compresion is used (check at
-	  runtime)
-	   - more start-up sanity checks:
-	      - check if openssl used library version is close enough to
-	  the
-		library with which the tls module was compiled (header
-	  files)
-		For now it checks for the same major, minor and fix level
-		(e.g. 0.9.8a && 0.9.8c are ok, 0.9.7b and 0.9.8a are not)
-	     - try to auto-detect (using the compile flags) if the used
-	  library was
-	       compiled with kerberos support and if the tls module was
-	  compiled with the
-	       same setting (or else we won't be able to enable the
-	  kerberos bug
-	       workarround).
-	   - more verbose start-up messages and errors
-	   - warning fixes
-	   - 2 new module parameters:
-	      tls_disable_compression (default 0)
-	      tls_force_run (default 0) -- will ignore the start-up sanity
-	  checks and
-	       continue running even if the library version/options are
-	  different
-	   References: openssl bugs #1468, #1467 & #1204
-	  (http://rt.openssl.org)
+    tls Update README with RPC commands
+    
+    The selects are still missing.
 
-2007-01-31 19:52  mma
+commit 6b212dc881dae76ab872c79e39f96b21ee4e6687
+Author: Olle E. Johansson <[email protected]>
+Date:   Sat Jan 26 21:10:03 2013 +0100
 
-	* modules/rr/record.c: Change of the function parameter from str*
-	  to fparam_t* was not reflected in the typecasts.
+    tls Update of README
 
-	  Closes SER-222
+commit 78f0c33c3793a7c586860c65ed84e8442808d580
+Author: Olle E. Johansson <[email protected]>
+Date:   Sat Jan 26 17:56:51 2013 +0100
 
-2007-01-31 19:49  mma
+    dispatcher - Fix typo in README and add return value information for ds_select_dst
+    
+    The return value was used in the example, but not documented.
 
-	* modules/rr/loose.c: Closes SER-214
+commit bc507d28e1168313772142925721b32e1a7b634a
+Author: Philippe Sultan <[email protected]>
+Date:   Fri Jan 25 20:59:23 2013 +0100
 
-2007-01-27 09:01  andrei
+    kamctl: added command for management of uid_domain records
 
-	* tcp_main.c:
-	  - minor tcp fix: some bug detection code (which should never be
-	  triggered)  is more robust now
+commit 9cb173699b25bc420ff5938214b3df81ed18a4ba
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Fri Jan 25 17:30:42 2013 +0100
 
-2007-01-27 00:11  andrei
+    core: made a wrapper forward_reply_nocb()
+    
+    - it forwards a reply without calling the callbacks from modules for sip
+      response handling
+    - fixes the issue of sl_forward_reply() looping when used in TM onreply
+      routes
 
-	* ISSUES, modules/tls/tls_init.c, modules/tls/tls_init.h,
-	  modules/tls/tls_server.c:
-	  - workarround for openssl kerberos malloc bug: openssl kerberos
-	  code in kssl.c uses libc malloc/free/calloc instead of the
-	  OPENSSL* versions (set using CRYPTO_set_mem_functions()). In ser
-	  ssl connections "move" between processes and so everything must
-	  be  allocated in shared mem. If the wrong malloc function are
-	  called ser  will eventually crash. This workarround tries to
-	  disable kerberos support  each time a new SSL structure is
-	  created. For this fix to work is important  to either use
-	  statically linked openssl or re-compile ser on the target
-	  machine (if openssl is linked dynamically then it must use the
-	  same	compilation options as the machine on which ser is
-	  compiled).  Bug reporterd by Atle Samuelsen
-	  <[email protected]>.
+commit 0636b8a70109ee44b46ec0cc76d4513c87c18e3f
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Fri Jan 25 17:29:46 2013 +0100
 
-2007-01-26 20:56  andrei
+    sl: use forward_reply_nocb() for sl_forward_reply()
+    
+    - otherwise it gets to looping if the function is used from TM onreply
+      routes
 
-	* modules/tls/tls_init.c:
-	  - typo fix: don't attempt to apply the compression fix
-	  workarround if no  zlib compression was found
+commit d2d6b4b932c7df6e6620a256692be5ef049356a3
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Fri Jan 25 11:38:38 2013 +0100
 
-2007-01-26 11:20  hscholz
+    core: end simple pv name (e.g., $xy) at end of line
+    
+    - cfg parser was throwing error if last token in a line was $xy as pv
+      with \n was not found
 
-	* modules/domain/domain.c: - load_domains(): check for valid
-	  database handle before attempt using it
+commit c3987b2ef44c26b781d9b026d86370184e2a4ae3
+Author: Anca Vamanu <[email protected]>
+Date:   Thu Jan 24 13:45:18 2013 +0200
 
-2007-01-24 19:01  andrei
+    db_cassandra: Replaced 'openser' with 'kamailio'
 
-	* main.c, modules/tls/tls_init.c, modules/tls/tls_locking.c,
-	  modules/tls/tls_locking.h, modules/tls/tls_server.c:
+commit 139ae7966a0ff8e5e46a902d9e14dc8840934bd0
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Thu Jan 24 11:45:31 2013 +0100
 
-	  - tls fix: set openssl locking functions (should be stable even
-	  under high  load, lost of connections, and multi-cpu machines)
+    core: default compatibility set to SR_COMPAT_MAX
+    
+    - means that $xy is tried first as pv and if not, then is considered avp
+      (was default compat mode for default flavour in the past)
+    - you can still use:
+        - #!KAMAILIO in config to force SR_COMPAT_KAMAILIO (i.e., $xy must
+    	  be a pv, otherwise is error)
+        - #!SER is config to force SR_COMPAT_SER (i.e., $xy is avp/attr)
 
-2007-01-23 11:41  kubartv
+commit 216029a609630a7d18ce3b77d3d9ae95f45d662c
+Merge: 2d129b5 f1b5145
+Author: Matthew Williams <[email protected]>
+Date:   Wed Jan 23 11:27:54 2013 -0800
 
-	* modules/uri_db/uridb_mod.c: corrected bug - added To header
-	  parsing in lookup_uid - sometimes is not msg->to set there
-	  (depending on order of headers) and ser dumps a core
+    Merge branch 'master' of ssh://git.sip-router.org/sip-router
 
-2007-01-22 15:05  andrei
+commit 2d129b5538b64acea788b502dcf97c5ffffdf949
+Author: Matthew Williams <[email protected]>
+Date:   Wed Jan 23 10:49:52 2013 -0800
 
-	* Makefile.defs, dns_cache.c:
-	  - dns cache resolv fix: responses containting only a CNAME and a
-	  non-CNAME   record for the CNAME target (e.g. foo CNAME bar ; bar
-	  A 1.2.3.4) w/o any   additional records, were badly interpreted
-	  (the non-CNAME response was	interpreted as a CNAME).    Thanks
-	  to  Alfred E. Heggestad <[email protected]> for the bug report.
+    correct url to libjson in json and jsonrpc-c module docs
 
-2007-01-19 11:06  kubartv
+commit f1b514596856889fa2a8e4b164178998177d7b59
+Author: Peter Dunkley <[email protected]>
+Date:   Wed Jan 23 13:42:52 2013 +0000
 
-	* Makefile, lib/Makefile.ser: Updated Makefile to compile and
-	  install SER's shared libraries if needed (i.e. with presence
-	  related modules).
+    pkg/kamailio/(centos|fedora): Removed old FC16 build
+    
+    - Fedora 18 is now out and I only plan to keep this .spec correct
+      for CentOS and Fedora working for current and previous OS releases.
 
-2007-01-18 21:35  andrei
+commit cb56b67788fc61f8de65d0335c6364c7aba15759
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Wed Jan 23 12:55:51 2013 +0100
 
-	* sr_module.h, modules/ctl/ctl.c, modules/domain/domain_mod.c: -
-	  added PROC_RPC (used for now by ctl) - ctl uses PROC_RPC as rank
-	  for its child
+    lib/srdb1: update custom sql functions for uid tables
 
-2007-01-18 21:01  andrei
+commit 9a1d64bddbf3ec931d39a0e47370e8d46ec2aeb9
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Wed Jan 23 12:49:16 2013 +0100
 
-	* Makefile.defs, main.c:
+    kamctl: added option to grant sql access from a remote host
+    
+    - set DBACCESSHOST in kamctlrc
 
-	  - deadlock on no-detach (-DD) start-up error shutdown fixed
-	  (closes SER-210)
+commit 1fd2b4ec865cbe738d92e72259fed27380d252ab
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Wed Jan 23 00:45:17 2013 +0100
 
-2007-01-17 23:14  andrei
+    kamctl: added option to creat uid-related tables
+    
+    - few more options to be able to create database only, grant or revoke
+      privileges from command line
+    - the extensions were added for mysql
 
-	* doc/tcp_tunning.txt:
-	  - tcp tunning hints for runnig ser with lots of tcp connections
-	  (for now only  linux is discussed)
+commit 71d1f9b233559e12970019819323cdfb9427b836
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Tue Jan 22 23:09:47 2013 +0100
 
-2007-01-17 21:24  andrei
+    kamctl: cleaned db creation
 
-	* modules/tls/: tls_mod.c, tls_mod.h, tls_select.c, tls_server.c:
-	  - timeouts fixed (all the tcp timeouts use now ticks and not
-	  seconds)
+commit 15e1ae6720136a698326a0b53f6db8eef73e3e5a
+Author: Richard Brady <[email protected]>
+Date:   Tue Jan 22 17:19:31 2013 +0100
 
-2007-01-17 19:13  kubartv
+    json: proper handling of empty values for json documents
 
-	* db/schema/: offline_winfo.xml, presentity.xml,
-	  presentity_contact.xml, presentity_extensions.xml,
-	  presentity_notes.xml, tuple_extensions.xml, tuple_notes.xml,
-	  watcherinfo.xml: updated DB schema documentation for PA module
-	  (included within its documentation)
+commit 3e580e1ee24f9b9ec4b1fa151b23ebc84f3db1cb
+Author: Alexandr Dubovikov <[email protected]>
+Date:   Tue Jan 22 15:45:38 2013 +0100
 
-2007-01-17 18:29  kubartv
+    modules:sipcapture  Added PSQL schema, fixed columns length, fixed id column for PostgreSQL
+    
+    	Thanks Ovind Kolbu for schema and patch
 
-	* modules/pa/: pa_mod.c, doc/Makefile, doc/pa.xml,
-	  doc/pa_db_src.xml: updated documentation - included generated DB
-	  schema description in standalone module documentation
+commit f76bd09d4800ea63552c11002d7f6f72569e78ed
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Tue Jan 22 13:40:11 2013 +0100
 
-2007-01-17 13:14  janakj
+    pua_reginfo: fix setting lengths of contact attributes
+    
+    - fix also for warning from FS#255 reported by Ovidiu Sas
 
-	* modules/msilo/doc/msilo.xml: - removed reference to msilo.sql
-	  (not needed anymore)
+commit ff22a1cbc2b817d63611b3da967d8245e11cb84c
+Author: Richard Brady <[email protected]>
+Date:   Tue Jan 22 12:19:53 2013 +0100
 
-2007-01-17 12:11  janakj
+    siputils: fix decode2format fuction to handle ; in userpart
 
-	* modules/gflags/gflags.c: - Fixed convertion of function
-	  parameters   fixes SER-205
+commit 58417e5f23c50a1892584d368e49373c579af31e
+Author: Alexandr Dubovikov <[email protected]>
+Date:   Tue Jan 22 11:41:43 2013 +0100
 
-2007-01-17 11:54  janakj
+    modules:sipcapture Changed authorization column to "auth". Now PostgreSQL should be happy.
+    
+    for old schema please use:
+    
+    modparam("sipcapture", "authorization_column", "authorization")
 
-	* modules/sl/sl_funcs.c: - fixed potential memory leak	 fixes
-	  SER-209
+commit c579bce3e6fa4efc29cf4fd8681f471a768a8e7c
+Author: Ovidiu Sas <[email protected]>
+Date:   Mon Jan 21 15:10:39 2013 -0500
 
-2007-01-17 11:39  janakj
+    kamdbctl: fix presence tables provisioning
 
-	* modules/tls/tls_config.c: - The config file parser did not always
-	  return proper   variable value   closes SER-206
+commit da007aaf6a2296c62189d30c6991e5cdb9f8a4ec
+Author: Konstantin Mosesov <[email protected]>
+Date:   Mon Jan 21 19:40:19 2013 +0200
 
-2007-01-15 17:45  kubartv
+    app_python: reverted changes (dlflags)
 
-	* doc/stylesheets/dbschema2docbook.xsl: probably better version of
-	  stylesheet for converting DB schema documentation into docbook
+commit 36013e021dde6362bb335bbcadd41b6838151a45
+Merge: f50e910 288c597
+Author: Peter Dunkley <[email protected]>
+Date:   Sun Jan 20 20:13:40 2013 +0000
 
-2007-01-12 16:39  kubartv
+    Merge branch 'master' of ssh://git.sip-router.org/sip-router
 
-	* modules/pa/: ChangeLog, pa_mod.c, doc/Makefile,
-	  doc/functions.xml, doc/pa_base.xml, doc/params.xml, doc/xcap.xml:
-	  updated module documentation
+commit f50e910b9710fd1055aae7e445a0504b841413a3
+Author: Peter Dunkley <[email protected]>
+Date:   Sun Jan 20 20:04:45 2013 +0000
 
-2007-01-12 16:36  kubartv
+    pkg/kamailio/fedora: added build files for Fedora 18
 
-	* Makefile.doc: added possibility to define extra dependencies when
-	  generating documentation
+commit 288c597bfba2ffba4c49e691488cee574d714a97
+Author: Olle E. Johansson <[email protected]>
+Date:   Sun Jan 20 16:58:59 2013 +0100
 
-2007-01-10 11:34  greger
+    README remove "modules_k"
 
-	* INSTALL, Makefile: Added three new group_include target groups:
-	  mysql, radius, presence.  You can now build a standard ser with
-	  mysql using: make group_include="standard mysql" all
+commit 41fab9cb21af174734ef820da4bbf6d19d34d56a
+Author: Olle E. Johansson <[email protected]>
+Date:   Sun Jan 20 16:55:23 2013 +0100
 
-	  Fixed a problem in the exclude/include logic when using
-	  group_include. The result is now as expected.
+    README-MODULES - merge listing of modules into one combined
+    
+    Thanks to Daniel for merging the directories.
 
-	  Improved the output in print-modules target to show the actual
-	  resultant set of modules that will be made in addition to the
-	  include and exclude modules lists.
+commit 4cc713182c4f5b53a00a8d2d6d3a21afca589b77
+Author: Konstantin Mosesov <[email protected]>
+Date:   Sun Jan 20 17:38:06 2013 +0200
 
-2007-01-09 21:16  calrissian
+    app_python:
+        - fixed runtime warning: exports dlflags interface is deprecated and it will not be supported in newer versions; consider using mod_register() instead
+        - python routines can be called in any routes.
 
-	* etc/ser.cfg: cleaned up the use of UID AVP to fix alias problem -
-	  thanks to Enrico for the bug report
+commit 1d29c95e982244a5140f93c8ae886c8d457d8e24
+Author: Peter Dunkley <[email protected]>
+Date:   Sun Jan 20 15:07:59 2013 +0000
 
-2007-01-08 15:58  tirpi
+    pkg/kamailio/(centos|fedora): updated kamailio.spec
 
-	* modules/permissions/: parse_config.c, doc/functions.xml,
-	  doc/params.xml, doc/permissions.xml: Security bug is fixed which
-	  was published in
-	  http://www.openpkg.com/security/advisories/OpenPKG-SA-2006.042.html
+commit d934a2acd31408ae6afdf31007f2ebe4527d1f3d
+Author: Peter Dunkley <[email protected]>
+Date:   Sun Jan 20 14:23:17 2013 +0000
 
-	  The publishment is rather funny than serious, because the config
-	  line is read in a LINE_LENGTH size buffer, and a part of the line
-	  is never longer than the line itself.
+    modules/db_postgres: Fixes
+    
+    - Fixed submit_query() retry mechanism - connection errors now detected and retried.
+    - Fixed memory leak when raw queries contain > 1 SQL command.
+    - Fixes by Hugh Waite @ Crocodile RCS
 
-2007-01-03 17:09  calrissian
+commit c059041a71a1b7175243c366316108ce370fffa7
+Author: Peter Dunkley <[email protected]>
+Date:   Sun Jan 20 14:18:55 2013 +0000
 
-	* modules/usrloc/ucontact.c: dont free non-allocated memory for
-	  instance value
+    core: fixed bug in PV caching that broke the use of the $$ symbol
+    
+    - Found and fixed by Hugh Waite @ Crocodile RCS
 
-2006-12-21 10:53  kozlik
+commit 9a3b3229e0b0f39489feca8da3c0a7aeeaae600e
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Sun Jan 20 14:28:57 2013 +0100
 
-	* db/schema/attr_types.xml, scripts/dbtext/ser_db/attr_types,
-	  scripts/mysql/my_create.sql, scripts/mysql/my_data.sql,
-	  scripts/oracle/or_create.sql, scripts/oracle/or_data.sql,
-	  scripts/postgres/pg_create.sql, scripts/postgres/pg_data.sql: new
-	  column 'grp' added to attr_types table
+    Makefile.defs: version set to 4.0.0-pre1
 
-2006-12-19 12:42  kubartv
+commit fedd38e03f6fcc4851d738cf2bd274b5290ae1ae
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Sun Jan 20 14:19:11 2013 +0100
 
-	* db/schema/: acc.xml, credentials.xml, domain.xml,
-	  domain_attrs.xml, domain_settings.xml, global_attrs.xml,
-	  missed_calls.xml: added table titles in DB table descriptions
-	  needed by DocBook
+    Makefile: updated the names for perl modules
 
-2006-12-19 12:40  kubartv
+commit e5e821150f53135e8c288f71ddd95c6c23e8d8d9
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Sun Jan 20 14:18:02 2013 +0100
 
-	* db/schema/version.xml: removed strange whitespaces to allow
-	  documentation generation
+    perlvdb: module renamed to db_perlvdb
+    
+    - it is a database driver module
 
-2006-12-19 12:38  kubartv
+commit 63a09d8562a1ac3679dc34c409a37f1d6617e430
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Sun Jan 20 13:26:01 2013 +0100
 
-	* doc/stylesheets/dbschema2docbook.xsl: updated stylesheet for
-	  generating documentation from DB schema:  - generates valid
-	  output (ignores namespaces which is needed for current docbook
-	  version)  - handling <description> in more sophisticated way
-	  (wrapping non-para elements into para, ...)  - added comments  -
-	  unused/commented parts thrown out
+    modules/*: updated include paths
 
-2006-12-18 16:42  kubartv
+commit 1abe29004193a348a1dcca72665fef1d390610b0
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Sun Jan 20 12:57:52 2013 +0100
 
-	* db/schema/: acc.xml, credentials.xml, domain.xml,
-	  domain_attrs.xml, domain_settings.xml, global_attrs.xml,
-	  missed_calls.xml: little corrections needed to generate docbook
-	  documentation from table description
+    modules_k/*: moved k modules in directory modules/
 
-2006-12-18 16:40  kubartv
+commit dbe58f4cff868f069bc417b3002c7ac75ce484a1
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Sun Jan 20 12:51:29 2013 +0100
 
-	* doc/stylesheets/dbschema2docbook.xsl: Added first version of
-	  template able to create Docbook XML from DB schema description.
-	  Tried with xsltproc on current Debian testing.
+    modules_k/: added placeholder for an empty directory
 
-	  There are some problems with XML namespaces within DB schema
-	  description; xmlto is not able to validate generated document but
-	  with direct call to XSLTPROC are no problems (it strippes
-	  namespace declarations for docbook).
+commit ba3fa594f3ade8f8afd69606f92d1e4fa4685ede
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Sun Jan 20 12:47:08 2013 +0100
 
-2006-12-15 10:09  andrei
+    app_perl: perl module moved and renamed to modules/app_perl
+    
+    - same naming pattern as for the other embedded interpreters
 
-	* dset.c:
-	  - dst_uri buffer overflow check, discovered in openser (the fix
-	  is slightly  different due to slight changes in the append_branch
-	  function)  Note: this is not such a big problem as it might
-	  sound, the only module   using append_branch() with a non zero
-	  dst_uri is registrar and in this  case it sets dst_uri to the
-	  received address which is always < 1024 (so it's  always safe).
+commit 0533e3f86bb605d4ce68ae60b80013dcf8540903
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Sun Jan 20 12:14:41 2013 +0100
 
-2006-12-14 21:31  andrei
+    perl: samples and documentation updated to use package Kamailio
 
-	* Makefile.defs: - automatically links against libpthread if
-	  USE_PTHREAD_MUTEX is forced
+commit e3f78196b345ab22eaba8f4ade7492e660782485
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Sun Jan 20 11:59:00 2013 +0100
 
-2006-12-14 15:39  kubartv
+    perl: xs file updated to use Kamailio instead of OpenSER
 
-	* modules/rls/: ChangeLog, rpc.c: removed CDATA wrapping of XML
-	  documents in XMLRPC output
+commit 1be653e243b02094a93ef20509fc98326f160284
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Sun Jan 20 11:53:36 2013 +0100
 
-2006-12-14 15:32  vlada
+    perl: Perl packages renamed from OpenSER::* to Kamailio::*
+    
+    - part of patch from Stoyan Mihaylov
 
-	* utils/sercmd/sercmd.c: Added goto error statement for
-	  error_toobig label.
+commit f448282ec6775857f4bef733f4785dd571bfe081
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Sun Jan 20 11:47:48 2013 +0100
 
-2006-12-14 12:37  kubartv
+    perl: renaming openser to kamailio in C source files
 
-	* modules/pa/: ChangeLog, tuple.c, tuple.h: corrected BUG - tuple
-	  extensions were not written into database
+commit 9d5cc7085e916bf348ba52828d5c9519652c61ae
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Sun Jan 20 11:34:20 2013 +0100
 
-2006-12-14 12:36  kubartv
+    perl: renamed files and directory from openser to kamailio
+    
+    - part of patch from Stoyan Mihaylov
 
-	* modules/pa/rpc.c: corrected XMLRPC interface - CDATA sections
-	  thrown out because didn't work more
+commit 4e939748186c6dcff6744d36439b9620fe41a196
+Author: Olle E. Johansson <[email protected]>
+Date:   Sat Jan 19 22:33:18 2013 +0100
 
-2006-12-14 09:58  kubartv
+    iptrtpproxy Documentation cleanup
+    
+    And a missing file from sanity module
 
-	* modules/pa/pa_mod.c: corrected typing error in DB column name
+commit 80dc9107c5cd47cab24786a12d2612c25f714ff3
+Author: Olle E. Johansson <[email protected]>
+Date:   Sat Jan 19 20:07:08 2013 +0100
 
-2006-12-14 09:38  vlada
+    sanity Sanitize XML file names and formats
 
-	* ser_stun.c: Fixed wrong calculation of body length. If the
-	  message is in bis format, the length of body must include length
-	  of fingerprint.
+commit 396de50105c29c102da1afb9fabe8ea1324a7282
+Author: Olle E. Johansson <[email protected]>
+Date:   Sat Jan 19 19:57:50 2013 +0100
 
-2006-12-13 23:50  andrei
+    xmlops Updating xml formats
 
-	* flags.c, hash_func.c, hash_func.h, hashes.h, route.c, route.h,
-	  str_hash.h:
-	  - hash cleanup/cosmetics: - use the "raw" hash functions from
-	  hashes.h as	base for the other hashes (e.g. tm hash). This
-	  doesn't change the hash    functions, just removes some extra
-	  copies.			     - split old hashes.h into
-	  hashes.h (more generic			      stuff)  and
-	  str_hash.h				- new_hash() is safer now
-	  (nobody uses it, but just				  in
-	  case...)
+commit 67a0aafe4933d6ccbc04e6a86a21c34f62bae7fb
+Author: Richard Fuchs <[email protected]>
+Date:   Fri Jan 18 10:21:50 2013 -0500
 
-2006-12-13 23:46  andrei
+    tmrec: fix example given in docs
 
-	* Makefile.defs: - minor fix: if USE_POSIX_SEM is defined on linux,
-	  automatically link against  libpthread
+commit 3cec800fb8e48b6f2dbc880c5a991e9d636c9f5c
+Author: Jason Penton <[email protected]>
+Date:   Fri Jan 18 14:33:53 2013 +0200
 
-2006-12-13 17:51  janakj
+    modules_k/statistics: fixed bug when using pvar as stat value (fixup function was broken)
 
-	* modules/avp_radius/avp_radius.c: - Implemented radius_load_attrs
-	  function which can load the values   of SER attributes from
-	  RADIUS server. The function synopsis is   same as in avp_db.
+commit a865b622be84ddc1dacff35401adbb6937ec86b3
+Author: Olle E. Johansson <[email protected]>
+Date:   Fri Jan 18 13:32:55 2013 +0100
 
-2006-12-13 17:50  janakj
+    README - converted to Kamailio
 
-	* modules/avp_db/avp_db.c: - Use global default domain id defined
-	  in config.h
+commit 5b6231d2d85f2a5a07b09e7e534f25e16f5e43b2
+Author: Olle E. Johansson <[email protected]>
+Date:   Fri Jan 18 09:41:42 2013 +0100
 
-2006-12-13 17:49  janakj
+    Update to current module set for 4.0
 
-	* modules/auth_radius/: authorize.c, authrad_mod.c, sterman.c: -
-	  Use ATTRID and VENDOR macros to separate attribute id from vendor
-	  id - Send SER-Service-Type attribute to the RADIUS server and set
-	  its value   to Digest-Authentication - check for empty attribute
-	  name when converting RADIUS attributes to   SER attributes
+commit ebde66ba5f97ff5587e36b8e952b19a1becd08ab
+Author: Ovidiu Sas <[email protected]>
+Date:   Thu Jan 17 19:19:37 2013 -0500
 
-2006-12-13 17:48  janakj
+    carrierroute: fix cross-compilation
 
-	* modules/acc_radius/acc_radius.c: - Use ATTRID and VENDOR macros
-	  to separate attribute id from vendor id
+commit 83eafc8d8f767f4705d5f76ad0ffd4349a06c927
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Wed Jan 16 22:37:08 2013 +0100
 
-2006-12-13 17:47  janakj
+    dialog: fix for is_in_profile()
+    
+    - function was broken, reported by Klaus Darilion
 
-	* rad_dict.h, etc/dictionary.ser: RADIUS dictionary update:   -
-	  SER-Service-Type attribute added   - Added Digest-Authentication
-	  value for SER-Service-Type
+commit ac2a3acddef3d5dd3a8033859f8a245624944d8e
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Wed Jan 16 22:28:30 2013 +0100
 
-2006-12-13 16:12  kubartv
+    Revert "First commit (raw code) of new module: app_java (Java Native Interface support for Kamailio)."
+    
+    This reverts commit 3cc85a3915ed69471966cf741d7cf2adee4f3b0b.
+    
+    - code in master is frozen for v4.0.0
 
-	* modules/pa/: extension_elements.c, offline_winfo.c, pa_mod.c,
-	  pa_mod.h, pres_notes.c, presentity.c, tuple.c,
-	  tuple_extensions.c, tuple_notes.c, watcher.c: added possibility
-	  to change DB column names from config (!not tested!)
+commit ebaab480a74fdde6036b471ec1175c4ad294c758
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Wed Jan 16 22:27:34 2013 +0100
 
-2006-12-13 14:27  tirpi
+    Revert "app_java:"
+    
+    This reverts commit db74e5230a26fdfebbf88f9575ea8a7636719743.
+    
+    - code is master is fronzen for v4.0.0
 
-	* modules/permissions/trusted_hash.c: protocol included in the log
-	  message
+commit db74e5230a26fdfebbf88f9575ea8a7636719743
+Author: Konstantin Mosesov <[email protected]>
+Date:   Wed Jan 16 21:08:42 2013 +0200
 
-2006-12-13 10:23  andrei
+    app_java:
+        - code cleanup
+        - changed all *alloc to pkg_*alloc
+        - added examples module configuration file
 
-	* etc/ser.cfg: - removed create_via()  (not longer available after
-	  the latest xmlrpc changes)
+commit 3cc85a3915ed69471966cf741d7cf2adee4f3b0b
+Author: Konstantin Mosesov <[email protected]>
+Date:   Wed Jan 16 20:43:29 2013 +0200
 
-2006-12-13 02:43  janakj
+    First commit (raw code) of new module: app_java (Java Native Interface support for Kamailio).
 
-	* etc/dictionary.ser: - SER-Attrs -> SER-Attr because this is what
-	  all modules use
+commit 588a1a4280840e40beaae77345533b40ef1c710d
+Author: Ovidiu Sas <[email protected]>
+Date:   Wed Jan 16 11:38:18 2013 -0500
 
-2006-12-13 02:41  janakj
+    xhttp_pi: adding note about using the provisioning interface with db_text
 
-	* modules/acc_radius/acc_radius.c: - set proper vendor in
-	  rc_avpair_add (most SER attributes are vendor specific)
+commit c065b24620a9475a70a19de95231a814076eefae
+Author: Ovidiu Sas <[email protected]>
+Date:   Wed Jan 16 10:48:25 2013 -0500
 
-2006-12-13 01:44  janakj
+    xhttp_pi: more documentation updates
 
-	* modules/auth_radius/: authorize.c, authrad_mod.c, sterman.c,
-	  sterman.h: - generate AVPs after successful authentication - make
-	  sure that uid of the caller is present in avps - make sure
-	  "iptelorg" vendor is in the dictionary (it is required) - recover
-	  AVPs from SER-Attr VSAs   closes SER-193
+commit 0f59c52cb1d21d07654f815af3636330dc02e164
+Author: Ovidiu Sas <[email protected]>
+Date:   Wed Jan 16 10:37:30 2013 -0500
 
-2006-12-12 16:59  kubartv
+    xhttp_pi: documentation updates
+     - reported by Philippe Sultan <[email protected]>
 
-	* modules/pa/pdomain.c: corrected unsafe hash function to safer
-	  one, closes SER-194
+commit 32e73f99a3bab4bc673504d316831f0a8ff1f48c
+Author: Olle E. Johansson <[email protected]>
+Date:   Tue Jan 15 09:46:22 2013 +0100
 
-2006-12-12 16:31  mma
+    Starting to prepare README/INSTALL files for release
 
-	* modules/gflags/gflags.c: Cleses SER-189. gflags mod_destroy
-	  simplification
+commit 241681f6a2bc9d9647251963eee5f65386717edb
+Author: Carsten Bock <[email protected]>
+Date:   Tue Jan 15 09:03:25 2013 +0100
 
-2006-12-12 15:12  tirpi
+    b/f: If no parameter is given, the "fixup_lir" method will never get called...
 
-	* select_core.c, select_core.h: @dst_uri and @next_hop select calls
-	  are introduced:  - @dst_uri returns the destination uri  -
-	  @next_hop returns the dst_uri/new_uri/ruri
+commit 7f7e0d046cbaf59170605c21070eb476a28fbc18
+Author: Carsten Bock <[email protected]>
+Date:   Tue Jan 15 08:18:52 2013 +0100
 
-2006-12-12 12:05  greger
+    b/f: Need to link librt (on OS non-Darwin)
 
-	* modules/lcr/doc/functions.xml: Added empty functions.xml so that
-	  lcr docs compile.
+commit 04b1b6c94a69da8b4bf5134d890edfaf0c0ad153
+Author: Carsten Bock <[email protected]>
+Date:   Mon Jan 14 19:28:27 2013 +0100
 
-2006-12-12 02:02  janakj
+    b/f: Modify IMS-Group Modulenames to reflect module-name changes.
 
-	* db/schema/attr_types.xml, scripts/oracle/or_create.sql,
-	  scripts/oracle/or_data.sql: - access changed to attr_access for
-	  oracle
+commit b87c9b03499e58d481cf6fe02302a378051272a0
+Author: Carsten Bock <[email protected]>
+Date:   Mon Jan 14 17:46:08 2013 +0100
 
-2006-12-12 01:57  janakj
+    b/f: Do not remove lib*, only "real" libs
 
-	* scripts/oracle/: or_create.sql, or_data.sql: - new version of
-	  database scripts generated
+commit b926764c5cfb6737407b2090a6c5659b46373237
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Sat Jan 12 13:10:18 2013 +0100
 
-2006-12-12 01:55  janakj
+    registrar: fix event route execution warning
 
-	* db/schema/: acc.xml, aliases.xml, attr_types.xml,
-	  contact_attrs.xml, cpl.xml, credentials.xml, customers.xml,
-	  domain.xml, domain_attrs.xml, domain_settings.xml,
-	  global_attrs.xml, grp.xml, gw_grp.xml, i18n.xml, ipmatch.xml,
-	  location.xml, missed_calls.xml, offline_winfo.xml, phonebook.xml,
-	  presentity.xml, presentity_contact.xml,
-	  presentity_extensions.xml, presentity_notes.xml,
-	  rls_subscription.xml, rls_vs.xml, rls_vs_names.xml, ser.xml,
-	  silo.xml, speed_dial.xml, tuple_extensions.xml, tuple_notes.xml,
-	  uri.xml, user_attrs.xml, version.xml: - get rid of xsl namespaces
-	  and use db="..." attributes instead - uid is a reserved word in
-	  Oracle so we have to change it everywhere   (now changed to uuid
-	  for oracle), closes SER-150
+commit a797eab732be6b17e3727ee604d21fcaddd5b35e
+Author: Olle E. Johansson <[email protected]>
+Date:   Sat Jan 12 08:45:11 2013 +0100
 
-2006-12-12 01:54  janakj
+    xmlrpc Modify doc structure to kamailio-like
 
-	* db/schema/Makefile: - Set db parameter when processing xsl
-	  templates
+commit 9bfc37fcc95da2d0b970efb6a3333e6d8e5f5bde
+Author: Olle E. Johansson <[email protected]>
+Date:   Sat Jan 12 08:33:25 2013 +0100
 
-2006-12-12 01:53  janakj
+    usrloc(k) Fix compiler warnings
+    
+    Thanks to juha for the reminder
 
-	* doc/stylesheets/dbschema/xsl/: common.xsl, dbtext.xsl, mysql.xsl,
-	  oracle.xsl, postgres.xsl, sql.xsl: - do not use xsl namespaces to
-	  override element values anymore (it does   not seem to work
-	  reliably across xsltproc upgrades)
+commit 4af97738081da634643f0fdfd681e7a94740a6d0
+Author: Ovidiu Sas <[email protected]>
+Date:   Fri Jan 11 19:14:15 2013 -0500
 
-	    if you need to override the value of an element then use db
-	  attribute:
-	    <name db="mysql">abc</name>
+    xhttp_pi: make sure that cfg directory exists during install
 
-2006-12-11 23:33  andrei
+commit 11cedccfbc11c9efde566ecd2afb883246c64ba7
+Author: Ovidiu Sas <[email protected]>
+Date:   Fri Jan 11 15:59:31 2013 -0500
 
-	* parser/parse_fline.c: - accept http replies if HTTP_REPLY_HACK is
-	  defined (needed for forwarding  xmlrpc request/replies to other
-	  sers)
+    lib/ims: fix cross compilation
 
-2006-12-11 19:52  blairs
+commit 35ba820e82840661d23c93e10bd289b8a6e14f5f
+Author: Ovidiu Sas <[email protected]>
+Date:   Fri Jan 11 15:20:11 2013 -0500
 
-	* modules/lcr/doc/: Makefile, lcr.xml, params.xml: New LCR docs
+    sqlops: remove unused variable `sv'
 
-2006-12-11 17:29  janakj
+commit c8878c0c702173d44dd4d9fad263ea8e329e6897
+Author: Ovidiu Sas <[email protected]>
+Date:   Fri Jan 11 15:13:16 2013 -0500
 
-	* modules/mediaproxy/mediaproxy.c: - remove dependency on domain
-	  module and use get_from_did and get_to_did   instead	 closes
-	  SER-137
+    permissions: remove unused variable `count'
 
-2006-12-11 17:21  andrei
+commit 35d8fd13382fc5fa6256f17a0f43c396be7c638d
+Author: Ovidiu Sas <[email protected]>
+Date:   Fri Jan 11 14:13:53 2013 -0500
 
-	* modules/xmlrpc/xmlrpc.c, test/udp_test_proxy.c:
-	  - dbg msg removed
+    outbound: fix cross-compilation
 
-2006-12-11 17:01  andrei
+commit 7bf23bc79b3ace2348c94bf284aac13dd917c3ab
+Author: Ovidiu Sas <[email protected]>
+Date:   Fri Jan 11 14:13:36 2013 -0500
 
-	* modules/xmlrpc/xmlrpc.c:
+    osp: fix cross-compilation
 
-	  - xmlrpc fix:- use the new non-sip-msg callbacks		-
-	  create automatically a new via if the http message doesn not
-		    have one and "fake" a receive_msg() 	     -
-	  create_via removed (done automatically now) - bonus: the ser
-	  route called for xmlrpc messages can be configured   with
-	  modparam("xmlrpc", "route", "route_for_xmlrpcs"). By default
-	  the main route is used (so no change needed for old scripts).
+commit d18997cd35d3ac03f446a61a7f198eb1b0704bd0
+Author: Ovidiu Sas <[email protected]>
+Date:   Fri Jan 11 14:13:07 2013 -0500
 
-2006-12-11 16:47  andrei
+    websocket: fix cross-compilation
 
-	* Makefile.defs, main.c, nonsip_hooks.c, nonsip_hooks.h, receive.c,
-	  parser/msg_parser.h, parser/parse_fline.c:
+commit c16ae05d5b91984a9d17ce6b643f29cf7b92cd75
+Author: Ovidiu Sas <[email protected]>
+Date:   Fri Jan 11 14:12:49 2013 -0500
 
-	  - added special callbacks for non-sip msg (e.g http), They are
-	  called every	time a message with the first line in sip/http
-	  format is received and the  protocol != SIP.	 These callbacks
-	  are needed as a part of an xmlrpc bug fix.
+    tls: fix ssl cross-compilation
 
-2006-12-11 14:40  janakj
+commit c9d8a66071efb77428ae74572d453c5b4ded4764
+Author: Ovidiu Sas <[email protected]>
+Date:   Fri Jan 11 14:12:10 2013 -0500
 
-	* modules/avp_db/avp_db.c: - fail to initialize when domain module
-	  is needed but not found   patch provided by Michal Matyska
-	  closes SER-192
+    auth_identity: fix ssl cross-compilation
 
-2006-12-11 14:11  hscholz
+commit f350ec8cd45819ed6f60947bca2ac6e747f86541
+Author: Klaus Darilion <[email protected]>
+Date:   Fri Jan 11 14:22:57 2013 +0100
 
-	* modules/uri/: README, uri_mod.c, doc/functions.xml: - allow AVPs
-	  in is_user()
+    modules_k/uac: document RR append_fromtag requirement in auto mode
 
-	    This provides a way to compare a TO username against the
-	  username
-	    in authentication credentials, i.e.
+commit 37c43f695fae346fde83690596150a84192ad0db
+Author: Peter Dunkley <[email protected]>
+Date:   Fri Jan 11 10:54:00 2013 +0000
 
-	    if (!is_user("@to.uri.user")) {
-	       sl_send_reply("403", "To username doesn't match
-	  credentials");
-	       drop;
-	    }
+    pkg/kamailio/(centos|fedora): updated release tag in .spec
 
-	    Bear in mind that you need parsed authentication headers for
-	  this, i.e.
-	    provided by (radius_)www_authenticate().
+commit 5a78a8b8ec104550a37d8e2ae9005bf87d21e00f
+Author: Anca Vamanu <[email protected]>
+Date:   Fri Jan 11 11:07:45 2013 +0200
 
-2006-12-11 11:20  mma
+    dialog: fix bug when detect_spirals enabled
+    
+    If detect_spirals enabled and the caller sent an Invite which received a
+    negative response and then immediately sent another Invite with the
+    same callid and tag, the module did not create a dialog record for the
+    second Invite. It wrongly concluded that the Invite is spiraled. This
+    resulted in missing CDR for that call.
+    Behavior observed if the first Invite has a small Session-Timer interval
+    and receives a 422 reply. When the phone sent the second Invite with a
+    larger Session-Timer, which could have been successful, it was not recorded
+    by the dialog module.
 
-	* modules/rr/avp_cookie.c: Closes SER-114. Search through URI and
-	  USER classes attributes to find which ones add to record-route
-	  avp cookie
+commit a1a197aa27a62426599d908870c60749e9941a03
+Author: Jason Penton <[email protected]>
+Date:   Fri Jan 11 10:47:44 2013 +0200
 
-2006-12-10 02:35  calrissian
+    modules/ims_qos: update to correct binding name for ims_usrloc_pcscf
 
-	* etc/ser.cfg: removed deprecated commented fifo config names to
-	  avoid confusion
+commit b414cb1d7dc92e24ea98e5624060f9ba25726602
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Fri Jan 11 09:32:12 2013 +0100
 
-2006-12-09 20:41  greger
+    Makefile.defs: version set to 4.0.0-pre0
+    
+    - marking pre-release phase
 
-	* INSTALL, Makefile: Closes SER-177. Groups of modules in make.
-	  Make can now be called with group_include="standard standard-dep
-	  stable experimental" or a subset of these.  Leaving out
-	  group_include results in same behavior as before, thus this
-	  commit is backwards compatible.
+commit 622640b85cbf681055c1a9c28d3f3ab61c13b36e
+Author: Ovidiu Sas <[email protected]>
+Date:   Thu Jan 10 16:53:12 2013 -0500
 
-2006-12-09 12:07  janakj
+    ims_registrar_scscf: fix cross-compilation
 
-	* modules/xmlrpc/xmlrpc.c: - proper escaping of payload in xmlrpc
-	  replies   closes SER-107
+commit 2c70b76e122d061b62058623e85e42872cd003ac
+Author: Ovidiu Sas <[email protected]>
+Date:   Thu Jan 10 16:43:29 2013 -0500
 
-2006-12-09 01:44  janakj
+    ims_registrar_pcscf: fic cross-compilation
 
-	* modules/auth_db/authorize.c: - all attributes set by
-	  authentication functions should go to user class   fixes SER-139
+commit 7b483c4cd97d61c8eefc484d31ffb3ba43d03ca5
+Author: Ovidiu Sas <[email protected]>
+Date:   Thu Jan 10 16:43:05 2013 -0500
 
-2006-12-09 01:37  janakj
+    ims_isc: fix cross-compilation
 
-	* modules/auth_radius/: authorize.c, authrad_mod.c, authrad_mod.h:
-	  - call build_challenge function when authentication fails
-	  closes SER-138
+commit f1e6a00c93f18871c5c069a08aac77fe783fd6cd
+Author: Ovidiu Sas <[email protected]>
+Date:   Thu Jan 10 16:42:34 2013 -0500
 
-2006-12-09 01:36  janakj
+    ims_icscf: fic cross-compilation
 
-	* modules/auth_db/: authdb_mod.c, authdb_mod.h, authorize.c: -
-	  default did should not be configurable
+commit 5799a797c7e4d0e84aca20618ef61dbf1a33692c
+Author: Ovidiu Sas <[email protected]>
+Date:   Thu Jan 10 16:42:08 2013 -0500
 
-2006-12-09 01:35  janakj
+    ims_auth: fix cross-compilation
 
-	* config.h: - default did is common for all modules
+commit 52a773fb8bcd9a07f12dcb0de9bff8744ab386d3
+Author: Klaus Darilion <[email protected]>
+Date:   Thu Jan 10 22:45:09 2013 +0100
 
-2006-12-09 00:51  janakj
+    kamailio.cfg: describe log levels
 
-	* modules/: acc_syslog/acc_syslog.c, acc_db/acc_db.c,
-	  acc_radius/acc_radius.c: - Pick proper outbound Request-URI (use
-	  the branch whose reply   will be forwarded upstream)	 closes
-	  SER-23
+commit 6d34982c99060436bc9a3a07058eb805488fc34d
+Author: Olle E. Johansson <[email protected]>
+Date:   Thu Jan 10 21:45:09 2013 +0100
 
-2006-12-08 15:19  greger
+    mtree	Add RPC command mtree.summary
 
-	* Makefile.doc, doc/stylesheets/drupal.xsl: Added drupal as new
-	  target for doc makefile using new drupal.xsl (thanks to Jan).
-	  The new target will generate docs without the html headers ready
-	  for inclusion into drupal cms used by iptel.org
+commit 52331c6ba80f2eb862405e7987ab21d6f55549e0
+Author: Olle E. Johansson <[email protected]>
+Date:   Thu Jan 10 20:10:49 2013 +0100
 
-	  To build all module docs: make exclude_modules=""
-	  doc_format="drupal" module-docs
+    mtree Bug fix - save number of nodes in mtree data structure at load
+    
+    Otherwise MI function doesn't report anything but zero nodes and memory
 
-2006-12-08 15:08  andrei
+commit 222166ef3a20c0c4a98a3c810112901c71ef275d
+Author: Peter Dunkley <[email protected]>
+Date:   Thu Jan 10 19:01:47 2013 +0000
 
-	* Makefile.defs, modules/db_ops/db_ops.c, modules/timer/timer.c: -
-	  even more warning fixes (64bit)
+    modules/rtpproxy: allowing rtpproxy_manage to take the flags parameter as a pseudo-variable
+    
+    - Feature added by Hugh Waite @ Crocodile RCS
 
-2006-12-08 13:55  janakj
+commit ef2b3a6ee84f75bd49a06635a486807eeaebc08a
+Author: Ovidiu Sas <[email protected]>
+Date:   Thu Jan 10 12:50:06 2013 -0500
 
-	* etc/dictionary.ser: - added missing SER-Uri-User attribute
-	  resolves SER-149
+    kamdbctl: new command - kamdbctl pframework create
+     - creates a provisioning framework for the installed db tables
 
-2006-12-07 20:12  andrei
+commit 2793567c9f4f31e2d58e23faa092750f0d71a0c1
+Author: Alex Hermann <[email protected]>
+Date:   Thu Sep 29 18:47:46 2011 +0200
 
-	* modules/: postgres/db_mod.c, rr/avp_cookie.c: - more warnings
-	  fixes
+    modules_k/cfgutils: add locking around gflags
+    
+    gflags are stored in shared memory and must thus be protected against
+    concurrent access.
+    
+    Reads from an int are atomic on most (all?) real world hardware, so only
+    modification of the flags is placed under the protection of the lock, not
+    reads.
 
-2006-12-07 19:58  andrei
+commit 6f0f560ec9bf67d93e18f932f572aa8b526ac955
+Author: Peter Dunkley <[email protected]>
+Date:   Thu Jan 10 16:00:46 2013 +0000
 
-	* usr_avp.c, parser/hf.c, parser/digest/digest.c:
-	  - killed gcc 4.x "type-punned pointer will break strict-aliasing
-	  warnings" (warning season opened)
+    pkg/kamailio/(centos|fedora): updated .spec
 
-2006-12-07 15:52  andrei
+commit 3b575a618545dcd65362ea6de972222703d824d9
+Author: Richard Good <[email protected]>
+Date:   Thu Jan 10 16:28:07 2013 +0200
 
-	* ser_stun.c:
-	  - warning fix in ser_stun, patch from Alfred E. Heggestad
-	  <[email protected]>
+    modules/ims_qos: Added documentation
+    
+    Added admin documentation and README for ims_qos module
 
-2006-12-07 15:46  andrei
+commit e7b5f667a4b094c1aa1c426fe33648db782f9190
+Author: Richard Good <[email protected]>
+Date:   Thu Jan 10 16:08:54 2013 +0200
 
-	* modules/gflags/gflags.c:
-	   - gflags mod_destroy fix, closes SER-189
+    modules/ims_usrloc_pcscf: Updated documentation
+    
+    Updated documentation and added README for ims_usrloc_pcscf module
 
-2006-12-07 10:47  kubartv
+commit 743c1f7f9645ce760f5f1892fbee187f96c8513a
+Author: Richard Good <[email protected]>
+Date:   Thu Jan 10 15:50:01 2013 +0200
 
-	* doc/presence/presence_book.xml: forgotten file to previous commit
-	  - pa doc updated to be compilable as standalone
+    modules/ims_auth:  Updated documentation
+    
+    Updated documentation and added README for ims_auth modules
+
+commit 0b476ea4981b750e3f5974f5fd1e3b8fb39ed8fa
+Author: Richard Good <[email protected]>
+Date:   Thu Jan 10 15:40:00 2013 +0200
+
+    modules/ims_icscf: documentation updated
+    
+    Documentation for IMS ICSCF modules updated and README added
+
+commit 06fb17e57e871e99eb251e3243f70652e92a013d
+Author: Jason Penton <[email protected]>
+Date:   Thu Jan 10 15:25:56 2013 +0200
+
+    modules/ims_qos: Added IMS QoS module
+    	- This module provides Diameter Rx IMS interface between PCSCF and PCRF
+    	  functions
+
+commit cbf2cb0c1d0301d63154834fbd9220e334b9c64c
+Author: Jason Penton <jaybeepee@jaybeepee-laptop.(none)>
+Date:   Thu Jan 10 14:33:54 2013 +0200
+
+    parser/sdp: fast-access pointer for raw SDP stream string
+    	- basically a pointer to the raw SDP stream
+
+commit f0cb7735b766e14ba142a45064e254d82d079746
+Author: Richard Good <[email protected]>
+Date:   Thu Jan 10 14:29:38 2013 +0200
+
+    modules/ims_isc: documentation added
+    
+    Added documentation including README for ims_isc module
+
+commit 8fb8b261fa76e5c3497b602f6b850fe02e5db48f
+Author: Alex Hermann <[email protected]>
+Date:   Tue Jan 8 19:09:48 2013 +0100
+
+    core: make database version table name configurable from script
+    
+    When kamailio is part of a bigger project and is sharing its database with
+    it, it is nice to have a less generic table name than "version".
+    
+    Also usefull when upgrading kamailio, where the new version has (backwards
+    compatibel) changes in the database definition. If each kamailio version uses
+    its own version table, they can all use the same database.
+
+commit 89a9db548f01eea54eb11ae57b76abcfb5e5c5f6
+Author: Alex Hermann <[email protected]>
+Date:   Mon Nov 5 13:33:27 2012 +0100
+
+    modules_k/kex: call pkg_proc_stats_destroy in module destroy function to free memory
+
+commit 2628e120432001c118eb89ac1b7023a9f5e795ad
+Author: Alex Hermann <[email protected]>
+Date:   Mon Oct 29 15:25:21 2012 +0100
+
+    modules_k/tmx: Add $T_reply_last, returning last reply code
+    
+    Make the last/previous reply on a branch available to the script via
+    $T_reply_last. Only available in TM_ONREPLY_ROUTE.
+
+commit a2d09db983aa0b9a54ee78d5a910ba92140b05f8
+Author: Alex Hermann <[email protected]>
+Date:   Thu Oct 11 18:43:07 2012 +0200
+
+    modules/rtpproxy: Add 'b' flag to add a branch specific string tot the call-id
+    
+    In a forking call, sometimes it is needed that each branch uses different
+    options to the rtpproxy. This patch adds a parameter that makes each
+    rtpproxy session unique to a branch by appending the value of a PV to the
+    call-id rtpproxy parameter.
+
+commit f11f35045f6eaffd153d767946399fbb397bc3eb
+Author: Alex Hermann <[email protected]>
+Date:   Mon Jul 4 17:33:50 2011 +0200
+
+    modules/avpops: avp_db_query: treat BIGINT result as INT, disregarding the most significant 32 bits.
+
+commit 457d075d3aabcaff6b6d14b6dfbc01c8a91734ec
+Author: Alex Hermann <[email protected]>
+Date:   Thu Oct 11 18:28:34 2012 +0200
+
+    modules/tm: Remember per-branch onreply_route and onfailure_route settings
+    
+    The onreply and onfailure routes were set only per transaction. This means
+    that when the onreply and/or failure route is changed in failure route (serial
+    forking), late replies to earlier branches would use the new onreply and
+    failure route instead of the routes set for them.
+    
+    This commit copies the transaction's onreply and failure routes to the branch,
+    so the route set when the request is sent out is always chosen, no matter
+    how late the reply arrives.
+    
+    Because the per-branch setting is copied after running onbranch_route, it is
+    now also possible to set the routes per-branch instead of per-transaction.
+
+commit 0b9f84519dd018159d67bb827d7e5c7e1e4431e2
+Author: Alex Hermann <[email protected]>
+Date:   Mon Aug 29 18:44:20 2011 +0200
+
+    modules/tm: add option to check callid when matching transactions
+    
+    Use this if you don't want replies/requests from broken clients, which
+    send a mangled Call-ID, to match the transaction. For example when
+    the UAC won't recognise the response anyway because of changed
+    Call-ID, this setting will prevent accounting records to be created
+    or failure_route to be skipped.
+
+commit 9ff6a40fce5160f23a385693d79df508759f1a31
+Author: Alex Hermann <[email protected]>
+Date:   Thu Aug 25 11:16:18 2011 +0200
+
+    modules_k/trusted: no not open DB connections if db_mode==1.
+    
+    For cached operation, childs (except MI) do not need DB access
+
+commit d1a85fbb01a9ae5b23c7b4f58de4ec584295d611
+Author: Alex Hermann <[email protected]>
+Date:   Fri Aug 26 11:16:45 2011 +0200
+
+    modules_k/nathelper: add return value 2 to fix_nated_sdp() indicating no ip's have been replaced
+
+commit 358f0b859cdb15afa0c1079009a67b7aa9349f2e
+Author: Alex Hermann <[email protected]>
+Date:   Fri Aug 26 13:08:39 2011 +0200
+
+    modules_k/pv: make individial flags accessible via $Mf(idx), $Bf(idx) and $Sf(idx)
+    
+    The parameter is the flag number (or registered name). If present
+    allows setting and reading the corresponding flag. As each flag is
+    now available as separate PV, it can be used in logging, transformations
+    and, last but not least, in loading/storing individual flags
+    from/to a database with sql_pvquery().
+    
+    When setting, any value != =0 will set the flag, 0 will clear it. When reading
+    a set flag returns 1, cleared flag 0.
+    
+    example:
+    
+    xlog("flags: 0x$mF / $Mf(15) / $Mf(16)");
+    setflag(15);
+    xlog("flags: 0x$mF / $Mf(15) / $Mf(16)");
+    $Mf(16) = 1;
+    xlog("flags: 0x$mF / $Mf(15) / $Mf(16)");
+    $Mf(15) = 0;
+    xlog("flags: 0x$mF / $Mf(15) / $Mf(16)");
+    
+    output:
+    
+    flags: 0x00000000 / 0 / 0
+    flags: 0x00008000 / 1 / 0
+    flags: 0x00018000 / 1 / 1
+    flags: 0x00010000 / 0 / 1
+
+commit 847ea5b2bc81749a44de34b35e5ef8516819951a
+Author: Alex Hermann <[email protected]>
+Date:   Tue Aug 30 13:35:55 2011 +0200
+
+    modules_k/trusted: Free memory of old trusted list when the list has been reloaded
+
+commit 1411a5789139cc302179b7d9f3a2b678e2caef9c
+Author: Alex Hermann <[email protected]>
+Date:   Fri Sep 16 13:48:59 2011 +0200
+
+    modules/mtree: Do not log an error when prefix not found.
+    
+    A not found prefix is already represented as a negative return code.
+    No need to log an error, as it may be perfectly valid that a prefix does not
+    exists.
+
+commit 58e81b6c42cc48bd2b4afe84491a1a12d9d4b973
+Author: Alex Hermann <[email protected]>
+Date:   Thu Sep 22 15:59:23 2011 +0200
+
+    lib/srdb1: store BIGINT result also as 32-bit integer if it fits
+    
+    BIGINT is always converted to string. Additionally it is now stored as INT too.
+    
+    MySQL (at least on 64-bit) is returning BIGINT for all "generated" INT values,
+    like COUNT(*). By storing thee results as INT (if possible), the config script
+    will be compatible with both 32-bit and 64-bit column values.
+
+commit d5898510adbe9c45d16a770531a3e7c95061956b
+Author: Alex Hermann <[email protected]>
+Date:   Mon Oct 3 15:55:42 2011 +0200
+
+    modules_k/tmx: Add active_transactions statistics
+    
+    An active transaction is a transaction that is still waiting for a reply.
+    If it has seen a reply but is existing just to collect retransmissions,
+    it is not counted (in contrast to inuse_transactions).
+
+commit 74c1a6224a0d55735f01e0b0800206eec002fab0
+Author: Alex Hermann <[email protected]>
+Date:   Tue Mar 27 16:44:23 2012 +0200
+
+    modules_k/dialog: Allow unset_dlg_profile also in REQUEST_ROUTE
+    
+    even if the function has no use in normal REQUEST_ROUTE, the route block
+    may be called from other route blocks like failure_route.
+
+commit 1109a4ff6c68d9b2a619198cf1150b3431565bf0
+Author: Alex Hermann <[email protected]>
+Date:   Mon Jan 7 15:35:46 2013 +0100
+
+    modules_k/sqlops: eleminate string copy in sql_exec_xquery()
+    
+    xavp api will make a copy in shmem, no need to make a private copy first.
+    
+    Thanks to Juha heinanen and Daniel-Constantin Mierla for finding this
+    inefficiency.
+
+commit 9b3d4e192859d83d8ec990751a5ead29ff72dab1
+Author: Alex Hermann <[email protected]>
+Date:   Thu Nov 29 11:47:10 2012 +0100
+
+    modules/pv: Fix $snd(ip) for IPv6
+    
+    Result was always an empty string surrounded by []. Converted to use ip_addr2a().
+    This also prevents the surrounding [], which are not part of an IPv6 address.
+
+commit 0ba54b551aa5dd7c13d4c6c4c275fd4cba3b17b0
+Author: Alex Hermann <[email protected]>
+Date:   Thu Feb 23 23:48:16 2012 +0100
+
+    modules_k/htable: don't return expired values
+    
+    If an item has expired, it will be treated as non-existent.
+
+commit 87d10dc1dce72d5c6b3a658f1d1193d16633eb6c
+Author: Alex Hermann <[email protected]>
+Date:   Mon Feb 27 14:14:44 2012 +0100
+
+    modules_k/perl: Fix resetting of flags in sv2int_str
+    
+    According to the functions comments and its usages in the same file, the flags would only be or'red, not reset
+    
+    This fixes setting an string named avp with an integer value:
+    
+    OpenSER::AVP::add("string", 12345);
+
+commit dfe3f66fc7969a5c479f78b1ec000914c48bd9ff
+Author: Alex Hermann <[email protected]>
+Date:   Tue Feb 28 11:39:10 2012 +0100
+
+    modules/sanity: Fail if request uri can't be parsed
+
+commit 1be860ef1a766bf271e7f7f7efcdc1006fe5bde9
+Author: Alex Hermann <[email protected]>
+Date:   Thu Jun 7 14:20:01 2012 +0200
+
+    modules_k/pua_mi: when checking for 0-length string, check s.len, not s.s
+
+commit 1e1202d3a710eeec5f534fc11f0406ba3e449df6
+Author: Alex Hermann <[email protected]>
+Date:   Mon Jul 16 15:24:37 2012 +0200
+
+    modules/auth: replace ser_time() wih time()
+    
+    The values returned by ser_time() deviate so much from time() (and thus
+    system time) that the module was creating expired nonces in challenges
+    and rejected valid nonces as being "from the future".
+    
+    See also FS#243
+
+commit bf7c1ee6d77e781e846504970a1c2d3ef9544908
+Author: Alex Hermann <[email protected]>
+Date:   Tue May 15 12:29:14 2012 +0200
+
+    modules/rtpproxy: return -3 when no more rtpproxy nodes can be found
+    
+    Provide a unique error code for the case when no (more) proxy nodes
+    are availave in the set. This allows the script recognize it from
+    the more general errors (all -1) and do special processing (failover
+    to another set)
+
+commit d0d17a8b9c20bfd9e8ce78931dd9f52254242a74
+Author: Alex Hermann <[email protected]>
+Date:   Mon Jan 7 15:16:27 2013 +0100
+
+    modules_k/uac: regenerate README
+
+commit f310fd10bda2da682dee9eaa91474c704ffd8c2c
+Author: Alex Hermann <[email protected]>
+Date:   Tue Jul 10 12:41:45 2012 +0200
+
+    modules_k/uac: uac_reg: add reg_retry_interval parameter
+    
+    The new parameter allows to retry failed registration attempts.
+    Instead of unconditionally marking the entry as disabled, the
+    registration will be retried after the set interval. Setting it
+    to 0 (default) retains the old behaviour.
+
+commit 7432aa5ee180851dd5d6d933cbfe7ced93396566
+Author: Alex Hermann <[email protected]>
+Date:   Tue Feb 28 15:23:17 2012 +0100
+
+    modules_k/uac: uac_reg: skip realm checking if realm is empty
+    
+    When realm is the empty string, do not check the realm, but accept anything
+    the UAS throws at us.
+
+commit 0507b848d0257b478b422b49eb339ade7b801579
+Author: Alex Hermann <[email protected]>
+Date:   Tue Feb 28 13:10:23 2012 +0100
+
+    modules_k/uac: skip realm matching when realm pv for uac_auth is empty or null
+    
+    This can be used if the realm used by the upsteam UAS isn't known in advance.
+
+commit eb1abe66b9f97a4f98386d294b538a53ec05c9a6
+Author: Alex Hermann <[email protected]>
+Date:   Tue Feb 21 12:35:18 2012 +0100
+
+    modules_k/uac: Add reg_db_table parameter to specify table name for registrations
+
+commit d2bdfd325665a0bc2652cdaa237d0afda9e4e8f8
+Author: Alex Hermann <[email protected]>
+Date:   Fri Sep 2 09:36:43 2011 +0200
+
+    modules_k/tmx: add t_is_reply_route()
+    
+    Function to determine if the top executed route block is a reply.
+    In line with t_is_failure_route() and t_is_branch_route().
+
+commit 87bce89fe77942146d03ce4a44e6330e4a8149e7
+Author: Alex Hermann <[email protected]>
+Date:   Thu Sep 1 17:18:03 2011 +0200
+
+    modules_k/tmx: add $T_reply_reason PV
+    
+    Especially for internally generated (faked) replies it was hard to
+    get the reason phrase. This PV provides just that.
+
+commit 43533b41f2a4fb23b24bcf98b01fca223c605cd9
+Author: Alex Hermann <[email protected]>
+Date:   Mon Jan 7 17:10:18 2013 +0100
+
+    Makefile: add corex module to kstandard group
+
+commit 14ef60cf93f2e7d2a458f8a3ce287e52f1b497d6
+Author: Alex Hermann <[email protected]>
+Date:   Mon Jan 7 14:04:57 2013 +0100
+
+    modules/tmx: set $T_branch_idx to sane values for more route types
+    
+    $T_branch_idx will now return a branch number (0-based) in more route types.
+    
+    BRANCH_ROUTE and TM_ON_REPLY_ROUTE: currently handled branch number
+    REQUEST_ROUTE and FAILURE_ROUTE: next branch number, will be increased by
+        every append_branch
+    
+    In FAILURE_ROUTE, the branch number of the winning reply can be retreived
+    with $T_rpl($T_branch_idx)
+    
+    All other route types will result in (the invalid) branch number -1.
+
+commit 397ef369d7092aa670d63f81aa86657daee47071
+Author: Alex Hermann <[email protected]>
+Date:   Fri Oct 12 14:06:33 2012 +0200
+
+    modules/tm: Set branch_index to T_BR_UNDEFINED when outside BRANCH_ROUTE or TM_ONREPLY_ROUTE.
+    
+    The inconsistent value of $T_branch_idx between BRANCH_ROUTE and
+    TM_ON_REPLY_ROUTE was fixed in an earlier commit, but now the value 0 has a
+    double meaning (branch 0 or invalid branch). This patch makes the invalid
+    branch distinguishable by setting it to -1.
+    
+    Now $T_branch_idx will return the branch number (0-based) in BRANCH_ROUTE
+    and TM_ON_REPLY_ROUTE and -1 in other route types or if the message is not
+    part of a transaction.
+
+commit e23e51ee2d5390b903b9f3029b01181c0dc5a7ba
+Author: Alex Hermann <[email protected]>
+Date:   Thu Oct 11 16:53:55 2012 +0200
 
-2006-12-07 10:45  kubartv
+    modules/tm: Make branch_index consistent in all route types
+    
+    The branch index was set one to high in BRANCH_ROUTE, leading to
+    inconsistent branch numbers in reply routes.
+
+commit aa454db1818220d6b05699b9ee6e01a8237ffcb1
+Author: Olle E. Johansson <[email protected]>
+Date:   Wed Jan 9 22:21:45 2013 +0100
 
-	* modules/pa/: ChangeLog, doc/pa.xml, doc/pa_base.xml,
-	  doc/pa_incl.xml: updated doc to be compilable standalone
+    siptrace	Typo after test compilations. Bad luck.
+
+commit a59b5bc19b2cc672794c959ee6eb4e42c461a3e9
+Author: Olle E. Johansson <[email protected]>
+Date:   Wed Jan 9 21:20:17 2013 +0100
 
-2006-12-06 17:07  andrei
+    cdp  Documentation updates
+    
+    Read my lips: It's configuration, not confiuaragion or confirtuaration... :-)
 
-	* modules/tm/tm.c:
-	  - tm: fr_timer and fr_inv_timer avps are by default not set (no
-	  default value).  This speeds up transaction creation	(since no
-	  avp lists need to be searched).  To revert to the old bevaviour
-	  just set them (modparam("tm"...)) or use  t_set_fr("$avp")
-	  (recommended)
+commit a6b038332e38e6f60fee32896ffd610cf76e11ee
+Author: Olle E. Johansson <[email protected]>
+Date:   Wed Jan 9 20:43:00 2013 +0100
 
-2006-12-06 16:59  andrei
+    avp XML doc updates
 
-	* Makefile.defs, action.c:
-	  - $? / $retcode it's changed now also by the last module function
-	  call	(previously it was modified only by route() calls -- it was
-	  the last   returned value from a route)
+commit c79c33f14d9cf15444cdd024551c788679cf71bb
+Author: Olle E. Johansson <[email protected]>
+Date:   Wed Jan 9 20:42:12 2013 +0100
 
-2006-12-05 23:31  calrissian
+    avp 	Documentation typo fix and update (SER => Kamailio)
 
-	* etc/ser.cfg: added avp_db db_url; credits go to Enrico
+commit 66560d5ad5c136aa833db57ed32283d788f56611
+Author: Olle E. Johansson <[email protected]>
+Date:   Wed Jan 9 20:18:42 2013 +0100
 
-2006-12-04 13:59  vlada
+    outbound(k) Minor edit of documentation.
+    
+    Please ignore, keep calm and carry on.
 
-	* modules/gflags/doc/gflags.xml: Added include of xmlrpc.xml file.
+commit 226c92425b266f1c1a5efb2286cf067ce0b7df22
+Author: Olle E. Johansson <[email protected]>
+Date:   Wed Jan 9 20:13:26 2013 +0100
 
-2006-12-04 13:58  vlada
+    siptrace(k) Fixing a bad change in docs...
 
-	* modules/gflags/doc/xmlrpc.xml: Description of XMLRPC interface of
-	  gflags module.
+commit 9b1c23481551ef74b6efeb0118c1119470a08826
+Author: Olle E. Johansson <[email protected]>
+Date:   Wed Jan 9 20:09:39 2013 +0100
 
-2006-12-04 13:55  vlada
+    siptrace(k)	Add RPC command for turning on/off
+    
+    Copying the functionality of the existing MI command.
+    
+    Also, setting the value of the trace_flag to 0 by default, as
+    documented in the documentation.
 
-	* modules/gflags/gflags.c: Added xmlrpc command global.reload for
-	  reloading of global_attrs db table.
+commit fd77c500050073e019b0366fdcd3a6c125a20cb9
+Author: Olle E. Johansson <[email protected]>
+Date:   Wed Jan 9 20:04:29 2013 +0100
 
-2006-12-01 17:08  greger
+    sipcapture: Fix typo in XML markup
 
-	* modules/osp/doc/: Makefile, functions.xml, osp.xml, params.xml:
-	  Adding docbook converted docs for OSP module.  Credit goes to
-	  Steve Blair
+commit 9af31f9c44cc35a4cbe74accf79513c7272ec93c
+Author: Olle E. Johansson <[email protected]>
+Date:   Wed Jan 9 19:50:12 2013 +0100
 
-2006-12-01 13:52  kubartv
+    sipcapture Small cleanup in docs
 
-	* doc/presence/presence_book.xml, modules/rls/doc/rls.xml,
-	  modules/rls/doc/rls_base.xml, modules/rls/doc/rls_incl.xml:
-	  allowed standalone documentation generation for RLS module
+commit ba12e3893787a8340d21aa18ab6faa81e825713f
+Author: Olle E. Johansson <[email protected]>
+Date:   Wed Jan 9 18:38:54 2013 +0100
 
-2006-11-30 16:29  tirpi
+    sipcapture  Small typo
 
-	* modules/auth_radius/authorize.c: duplicated case values removed
-	  (reported by Ricardo Martinez, [email protected])
+commit 8ebf2dbe6cc0e51b47c423227f5dcff14c7af4c3
+Author: Olle E. Johansson <[email protected]>
+Date:   Wed Jan 9 18:37:43 2013 +0100
 
-2006-11-30 13:52  tirpi
+    sipcapture	Add RPC command to turn on/off or check status
+    
+    Kamailio RPC rocks - much more than IMS ;-)
 
-	* modules/avp_db/avp_db.c: load_uri_attrs falls back to the
-	  "_default" did instead of using the domain name scheme column is
-	  checked during uri_attrs load
+commit 70ca23583a136f2a401ce57d4b9f110e2f4db1fe
+Author: Richard Fuchs <[email protected]>
+Date:   Wed Jan 9 12:34:27 2013 -0500
 
-2006-11-30 10:37  greger
+    pv(k): Remove read-only empty strings that might be attempted to be written to
 
-	* modules/maxfwd/doc/Makefile: Fixed error in ROOTDIR definition
-	  causing module doc make to fail.
+commit 2207618978f5d61c3afe65007c3460a2e1ef0d37
+Author: Olle E. Johansson <[email protected]>
+Date:   Wed Jan 9 16:53:07 2013 +0100
 
-2006-11-29 16:51  tirpi
+    usrloc(k)	Add RPC for AOR lookup
+    
+    Copied from mi interface. RPC rocks!
 
-	* modules/uri_db/uridb_mod.c: lookup_user functions include the URI
-	  scheme in the DB search
+commit 875c5e71cf1ac077f17eb15030ce8cfb0d299e89
+Author: Olle E. Johansson <[email protected]>
+Date:   Wed Jan 9 15:29:48 2013 +0100
 
-2006-11-29 15:35  andrei
+    usrloc(k) Reveal existing rpc command in README
 
-	* resolve.c:
+commit e1306157b324d2ad21d97af0edf14072769787d7
+Author: Olle E. Johansson <[email protected]>
+Date:   Wed Jan 9 14:00:32 2013 +0100
 
-	  - fix for free_rdata_list() which used to access the "next"
-	  pointer after  freeing the current elements.	 Credits & patch:
-	  Jan Andres <[email protected]>
+    db_cassandra Minor edits and typo fixes to README
 
-2006-11-29 13:23  janakj
+commit 8341030426fbe1f48e527b52d694b188ecdd48dc
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Wed Jan 9 14:55:46 2013 +0100
 
-	* modules/usrloc/README, modules/postgres/README,
-	  modules/print/README, modules/rr/README, modules/sl/README,
-	  modules/sms/README, modules/tm/README, modules/uri/README,
-	  modules/uri_db/README, modules/uri_radius/README,
-	  modules/dispatcher/README, modules/diversion/README,
-	  modules/exec/README, modules/jabber/README,
-	  modules/maxfwd/README, modules/nathelper/README,
-	  modules/options/README, modules/pa/README,
-	  modules/permissions/README, modules/pike/README,
-	  doc/ser_entities.xml, doc/serfaq/serfaq.xml,
-	  doc/seruser/general.xml, modules/cpl-c/README: - removed
-	  reference to [email protected], we will be using
-	  [email protected] instead
+    registrar: execute event route when a contact expires
+    
+    - the name of the routing block is event_route[usrloc:contact-expired]
 
-2006-11-28 20:05  andrei
+commit ff18475e9fd3c6d4da4ca2e85c045fc761eb48e5
+Author: Anca Vamanu <[email protected]>
+Date:   Wed Jan 9 15:44:38 2013 +0200
 
-	* modules/auth/auth_mod.c:
-	  - random numbers are seeded only by core
+    db_cassandra: updated documentation
+    
+    - added URLs for Thrift library and Cassandra
 
-2006-11-28 20:04  andrei
+commit b7fde2349a28e22cd9e02412d914d07ee8654f79
+Author: Anca Vamanu <[email protected]>
+Date:   Wed Jan 9 14:19:06 2013 +0200
 
-	* Makefile.defs, main.c, pt.c:
-	  - random number are seeded in all the processes (both srand() and
-	  srandom())
+    db_cassandra: Improved documentation and config file example
 
-2006-11-27 20:03  andrei
+commit b2e1fdd5df2e52d1393ebe592869e54fb6ee734f
+Author: Anca Vamanu <[email protected]>
+Date:   Wed Jan 9 12:52:13 2013 +0200
 
-	* Makefile.defs, modules/tm/t_fwd.c:
-	  - tm fix: print_uac_request backup uri, 2nd try  (applied a
-	  modified version of Miklos patch) closes SER-141
+    dbcassandra Added schema files for domain module
 
-2006-11-27 14:55  tirpi
+commit 3b9de69fcc60bf918413a8b79fb475067c1852b3
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Tue Jan 8 22:38:35 2013 +0100
 
-	* modules/tls/tls_select.c: @tls.peer.verified did not set the
-	  result buffer
+    dialog(k): bridge contact address can be set via parameter
 
-2006-11-24 18:20  andrei
+commit 644902198d7727d8c283109d84de36babf5544ad
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Tue Jan 8 22:34:00 2013 +0100
 
-	* Makefile.defs, hashes.h, modules/usrloc/dlist.c,
-	  modules/usrloc/udomain.c, modules/usrloc/udomain.h:
-	  - usrloc hash fix (performace): switched to a numeric string
-	  optimized hash   function (which also has very good distribution
-	  for strings) - added the new hash to core's hashes.h & changes
-	  hashes.h license  to openbsd style (so that anybody can use the
-	  hash functions without   being forced to gpl the code)
+    dialog: add contact header in REFER for dlg_bridge()
+    
+    - some UAs reject the REFER if there is no contact header
 
-2006-11-24 15:02  tirpi
+commit 0574a4833122a6f4c0b70e84dfbe7bb2f0f821ce
+Merge: fca96b0 d923afb
+Author: Jason Penton <[email protected]>
+Date:   Wed Jan 9 11:18:48 2013 +0200
 
-	* modules/uri_db/uridb_mod.c: lookup_user functions fall back to
-	  the default did ("_default") if no domain name is present in the
-	  URI (for example in case of tel: URI), or the domain name could
-	  not be looked up.
+    Merge branch 'master' of ssh://git.sip-router.org/sip-router
 
-2006-11-24 11:48  janakj
+commit fca96b0b6383198bbd95f0421e66bfb9cb1956f3
+Author: Jason Penton <[email protected]>
+Date:   Wed Jan 9 11:17:03 2013 +0200
 
-	* modules/: auth_radius/authorize.c, auth/api.c, auth/api.h,
-	  auth_db/authorize.c: - return codes extended so that we could
-	  detect malformed digest credentials	(proposed by Monica Sarbu)
-	  closes SER-136
+    modules_k/rr: updated README
 
-2006-11-24 08:37  janakj
+commit d923afb1737651cbb7e4aac2517445afd4625c6c
+Merge: d645d52 ead5275
+Author: Richard Good <[email protected]>
+Date:   Wed Jan 9 10:35:22 2013 +0200
 
-	* modules/tls/: tls_select.c, tls_server.c: - fixed wrong
-	  comparison values, reported by Klaus Darilion   closes SER-108
+    Merge branch 'master' of ssh://git.sip-router.org/sip-router
 
-2006-11-23 09:07  kozlik
+commit d645d525cc6e67ef17af31cbe7a54099134794e7
+Author: Richard Good <[email protected]>
+Date:   Wed Jan 9 10:34:05 2013 +0200
 
-	* db/schema/uri.xml, db/schema/uri_attrs.xml,
-	  scripts/dbtext/ser_db/uri_attrs, scripts/mysql/my_create.sql,
-	  scripts/oracle/or_create.sql, scripts/postgres/pg_create.sql: -
-	  type of 'scheme' column in uri_attrs table changed from int to
-	  string - 'scheme' column added to primary key
+    examples/scscf/kamailio.cfg - fixed IMS modules names
+    
+    Updated SCSCF example cfg to use new IMS module naming convention
 
-2006-11-23 01:47  janakj
+commit ead52752c9b61c0fcadd95d3d39042498068c73c
+Author: Jason Penton <[email protected]>
+Date:   Wed Jan 9 10:31:51 2013 +0200
 
-	* modules/usrloc/: ul_mod.c, ul_mod.h: - READONLY mode fixed, patch
-	  submitted by Bogdan Pintea   closes SER-113
+    modules_k/rr: added feature to set custom username for Record-Route URI
+        - this is an AVP param that can be used to customise the default
+          username (Request-URI) added to the Record-Route URI before
+          calling record_route.
 
-2006-11-23 00:57  janakj
+commit 9d394f9844b6043372b72539c69e9d56b0861d6d
+Author: Richard Good <[email protected]>
+Date:   Wed Jan 9 10:29:25 2013 +0200
 
-	* modules/uri_db/uridb_mod.c, id.c, id.h, modules/avp/avp.c: -
-	  set_{to,from}_uid return the return value of add_avp, patch
-	  provided by Bogdan Pintea   closes SER-121
+    examples/pcscf/kamailio.cfg - fixed IMS modules names
+    
+    Updated PCSCF example cfg to use new IMS module naming convention
 
-2006-11-23 00:47  janakj
+commit d3dee2b4579310fde42cfc727ebd5dc7537d8446
+Author: Richard Good <[email protected]>
+Date:   Wed Jan 9 10:19:47 2013 +0200
 
-	* select_core.c, sr_module.c, modules/gflags/gflags.c: - fixed
-	  wrong comments, reported by Bogdan Pintea   closes SER-123
+    examples/icscf/kamailio.cfg - fixed IMS modules names
+    
+    Updated ICSCF example cfg to use new IMS module naming convention
 
-2006-11-23 00:44  janakj
+commit 68d7468cf77e1831186ea0017ead15adb73c1328
+Author: Olle E. Johansson <[email protected]>
+Date:   Wed Jan 9 08:37:41 2013 +0100
 
-	* modules/: pa/pa_mod.c, registrar/reply.c: - warning fixes,
-	  reported by Bogdan Pintea   closes SER-124
+    snmpstats(k) Change from OpenSER to Kamailio
+    
+    Note: Apart from code name changes, the MIB files and the objects
+    has changed names. This will affect all systems monitoring your
+    SIP server as you upgrade to 4.0.0
 
-2006-11-23 00:40  janakj
+commit 2b09c72457a1c84508d74feb9dbc2d86f682508c
+Author: Olle E. Johansson <[email protected]>
+Date:   Wed Jan 9 07:56:14 2013 +0100
 
-	* modules/avp/avp.c: - proper test for return value of
-	  set_destination, fixed by Bogdan Pintea   closes SER-125
+    htable(k) Add new RPC htable.listTables
+    
+    This RPC list all defined tables and their settings
 
-2006-11-22 19:46  andrei
+commit 85ee107929a80b54d47eaabef6f25d7b2f0659e7
+Author: Carsten Bock <[email protected]>
+Date:   Tue Jan 8 20:58:03 2013 +0100
 
-	* fastlock.h:
-	  - fastlock arm fix: arm early clobber added: according to the swp
-	  instruction	specification the address register must be != from
-	  the other 2 .    Fix from openser, originally sent by Julien
-	  Blache <[email protected]>)
+    Added sample configuration files for Kamailio IMS Setup. IMS Rocks!
+    
+    Greetings from the Dolomites, Italy, Carsten
 
-2006-11-22 19:19  janakj
+commit d21c7e32ceb52a90a9106fb3bba66cdd357a1fa6
+Author: Ovidiu Sas <[email protected]>
+Date:   Tue Jan 8 14:30:17 2013 -0500
 
-	* modules/auth_db/authorize.c: - search for did only when use_did
-	  is set, fix provided by Bogdan Pintea   closes SER-126
+    pipelimit: fix documentation typo
 
-2006-11-22 19:13  janakj
+commit 3f8d1e2bdba6650d2541261a2184a0bef5b88b07
+Author: Ovidiu Sas <[email protected]>
+Date:   Tue Jan 8 14:21:46 2013 -0500
 
-	* str.h: - str formatting macro by Bogdan Pintea   closes SER-127
+    pipelimit: enhance return codes for pl_check() function
 
-2006-11-22 18:56  janakj
+commit 16784302104e5fc40b3873019938d140c402eff6
+Author: Ovidiu Sas <[email protected]>
+Date:   Tue Jan 8 13:08:44 2013 -0500
 
-	* parser/: parse_param.c, parse_param.h: - wrong parameter length
-	  fixed, fix provided by Bogdan Pintea	 closes SER-135
+    module*/*/Makefile: libcurl dependencies build fixes
 
-2006-11-22 15:53  janakj
+commit 66cc4397e04591fd5b2af9798a1ab22d3dbaf7b6
+Author: Arnout Vandecappelle (Essensium/Mind) <[email protected]>
+Date:   Tue Jan 8 12:42:40 2013 -0500
 
-	* modules/uri/checks.c: - retrieve function parameters properly.
-	  Fix provided by Bogdan Pintea   closes SER-134
+    module*/*/Makefile: libpcre dependencies build fixes
 
-2006-11-22 14:57  janakj
+commit 79295e7a5820921646846eec062e1ff7c27fec9d
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Tue Jan 8 18:41:35 2013 +0100
 
-	* scripts/mysql/ser_mysql.sh: - mysql password quoted properly to
-	  allow passwords containing spaces   closes SER-131
+    kamailio.cfg: mention v4.0 in the header of config file
 
-2006-11-22 13:52  kubartv
+commit ea4daadd16ff3d45c0c35d90df38bfcc33e8bfbe
+Author: Peter Dunkley <[email protected]>
+Date:   Tue Jan 8 16:21:19 2013 +0000
 
-	* lib/: cds/sstr.c, presence/pres_doc.c, presence/pres_doc.h,
-	  xcap/xcap_client.c: applied Bogdan's patch, closes SER-120
+    pkg/kamailio/(centos|fedora): Updated .spec file
 
-2006-11-22 13:46  kubartv
+commit 60f177ba77647fb7203f5c3b92d34a196f237a09
+Author: richard <richard@richard-laptop.(none)>
+Date:   Tue Jan 8 17:32:11 2013 +0200
 
-	* lib/Makefile.ser: applied Bogdan's patch (closes SER-119), but
-	  there can be better solution (use flags independent on modules) -
-	  we will see
+    modules/usrloc_pcscf and modules/usrloc_scscf - removed unnecessary junk files
 
-2006-11-21 13:48  kubartv
+commit 36a0cb38bcafcb4d4e2bfbc0977e0c1f25e74d14
+Author: richard <richard@richard-laptop.(none)>
+Date:   Tue Jan 8 17:23:29 2013 +0200
 
-	* modules/pa/rpc.c: added missing return after error in pa.trace
+    modules/ims* and modules/dialog2 - changed modules name to prepend ims_ to all IMS modules
+    
+    As per mailing list and offline discussions have prepended _ims to all IMS modules and renamed dialog2 dialog_ng
+    New modules name:
+    dialog_ng
+    ims_auth
+    ims_icscf
+    ims_isc
+    ims_registrar_pcscf
+    ims_registrar_scscf
+    ims_usrloc_pcscf
+    ims_usrloc_scscf
 
-2006-11-21 13:33  kubartv
+commit 4c7ba37b7d8bf55d1983950812a3ae060e5ee3e4
+Author: Jason Penton <[email protected]>
+Date:   Tue Jan 8 16:47:13 2013 +0200
 
-	* modules/pa/rpc.c: fixed trace method to work with binrpc (there
-	  was an attempt to use optional argument)
+    modules/cdp: Added kcore link for statistics
 
-2006-11-20 20:16  andrei
+commit 1ee54a1e511b98848fd2a6a5075009e2e0b4df06
+Author: Olle E. Johansson <[email protected]>
+Date:   Tue Jan 8 12:52:44 2013 +0100
 
-	* Makefile.defs, modules/tm/t_fwd.c:
-	  - tm fix: uri backup/restore print_uac_request bug - tm: new_uri
-	  is no longer saved/restored across add_uac(...)/print_uac_request
-	  calls since print_uac_request takes care of this internally
+    permissions(k) Add RPC function calls that match functionality in old modules_s module
 
-2006-11-17 21:07  andrei
+commit 82303dfad79c601767bb8e1a115fd30d1fb3a282
+Author: Peter Dunkley <[email protected]>
+Date:   Tue Jan 8 11:27:11 2013 +0000
 
-	* modules/ctl/io_listener.c:
-	  - ctl sepcific rpcs (who & connections) are only available
-	  through  ctl (they are local to the ctl listener process) =>
-	  reply with error if  somebody else tries to call them
+    modules_k/outbound: updated documentation
+    
+    - Fixed some mistakes in the Edge Proxy example
+    - Filled in more detail in the Registrar example
 
-2006-11-17 17:42  calrissian
+commit f57ac2ddaf1a4bbb8178f9fdc2fc408819d41228
+Author: Peter Dunkley <[email protected]>
+Date:   Tue Jan 8 11:02:09 2013 +0000
 
-	* etc/ser.cfg: Added usage of personalized TM timers.  Fixed
-	  lookup_user calls.  Added/fixed some comments.
+    modules_k/rr: fixed typo in a diagnostic
+    
+    - Thanks to oej for pointing this out
 
-2006-11-16 21:55  andrei
+commit a20893dd6cbf1a5fc7f48d9e8fd1823bbb1ba07f
+Author: Peter Dunkley <[email protected]>
+Date:   Tue Jan 8 11:01:31 2013 +0000
 
-	* id.c:
-	  - fixed bad to  check (crash for messages w/o to header)
+    modules_k/outbound: downgraded and ERR diagnostic to INFO
+    
+    - Thanks to oej for pointing this out
 
-2006-11-16 19:37  andrei
+commit 5fc244a81ff4749bd8cb0196a1baecd8a721191a
+Merge: ecba6cf 9a10ed3
+Author: Jason Penton <[email protected]>
+Date:   Tue Jan 8 11:01:37 2013 +0200
 
-	* modules/gflags/gflags.c:
-	  - bind db module & init db connection only if load_global_attrs
-	  is set
+    Merge branch 'master' of ssh://git.sip-router.org/sip-router
 
-2006-11-16 15:42  janakj
+commit ecba6cf229f849dd6390bbb2b9e9e70628fd0bd7
+Author: Jason Penton <[email protected]>
+Date:   Tue Jan 8 11:00:16 2013 +0200
 
-	* db/schema/credentials.xml, scripts/mysql/my_create.sql,
-	  scripts/oracle/or_create.sql, scripts/postgres/pg_create.sql,
-	  modules/auth_db/authdb_mod.c: - default did is _default
+    modules/cdp: added omitted statistics files
 
-2006-11-15 20:57  andrei
+commit 9a10ed3334804f520ecdab03f1019a19e13e0494
+Author: Peter Dunkley <[email protected]>
+Date:   Tue Jan 8 00:24:47 2013 +0000
+
+    modules_k/registrar: documented new "flow_timer" modparam
+
+commit e18905ea53c2c5d4a565de596e2c2913ede6466f
+Author: Peter Dunkley <[email protected]>
+Date:   Tue Jan 8 00:24:13 2013 +0000
+
+    modules_k/registrar: Added modparam to allow Flow-Timer: to be set in 200 OK response to REGISTER requests
+
+commit 2aa85480330e368154e2d1c407380ba06f66d3f5
+Author: Juha Heinanen <[email protected]>
+Date:   Mon Jan 7 21:59:18 2013 +0200
+
+    modules/rtpproxy: removed LM_DBG that caused compiler warnings
+
+commit 329db6c3ace5e93a3b7ab7155481f2e9705119b3
+Merge: e7bb3af c9de09b
+Author: Peter Dunkley <[email protected]>
+Date:   Mon Jan 7 16:11:05 2013 +0000
+
+    Merge branch 'master' of ssh://git.sip-router.org/sip-router
+    
+    * 'master' of ssh://git.sip-router.org/sip-router:
+      core: when printing the listening sockets on startup print also the advertise-port
+
+commit e7bb3af61bea673af801a5b9280f50ec13958a3b
+Author: Peter Dunkley <[email protected]>
+Date:   Mon Jan 7 16:10:46 2013 +0000
+
+    modules_k/outbound: Updated the module documentation
+
+commit 4cb23b43c246cb227282474d2b7bd6d6ff9c2033
+Author: Peter Dunkley <[email protected]>
+Date:   Mon Jan 7 16:10:17 2013 +0000
+
+    modules_k/registrar: Updated registrar module documentation to describe the outbound_mode parameter
+
+commit c486a9358f146ac2b3e5047021c197c3eb6b41d8
+Author: Peter Dunkley <[email protected]>
+Date:   Mon Jan 7 16:08:13 2013 +0000
 
-	* Makefile.defs, pt.c:
-	  - get_max_procs() will log a bug and abort() if used too early
-	  (e.g.   from mod_init())
+    modules_k/registrar: New outbound_mode parameter
+    
+    - Controls whether outbound options-tag is required in REGISTER
+      requests and whether they are added to responses to REGISTER requests.
+    - Needed so that an Outbound Edge Proxy can add a Flow-Timer: header
+      to 200 OK responses (to REGISTERs) that contain a Requires: header with
+      the outbound options-tag.
 
-2006-11-15 20:55  andrei
+commit c9de09b99b417aebb8fe84d44dec6c1bff1d8849
+Author: Klaus Darilion <[email protected]>
+Date:   Mon Jan 7 16:22:38 2013 +0100
 
-	* modules/tls/: tls_config.c, tls_domain.c, tls_mod.c, tls_rpc.c:
-	  - tls init updated to the new get_max_procs() use (not allowed
-	  from	mod_init()) - tls-core.patch updated to the latest tcp
-	  changes - lots of warnings and/or small errors fixed
+    core: when printing the listening sockets on startup print also the advertise-port
 
-2006-11-14 19:11  andrei
+commit da1d8d1a9315d187b050468aa33772253f10e47b
+Author: Jason Penton <[email protected]>
+Date:   Mon Jan 7 12:47:11 2013 +0200
 
-	* modules/tm/: dlg.c, dlg.h, t_cancel.h, t_lookup.h, t_reply.c,
-	  t_reply.h, tm.c, tm_load.c, tm_load.h, uac.c, uac.h:
-	  - patch from Miklos Tirpak <[email protected]>:    - tm minor
-	  fixes    - tm dialog improvements    - tm_binds extended (more
-	  function exported)
+    modules/sipcapture: fixed defines for Solaris
 
-2006-11-14 18:18  calrissian
+commit ff1c7f3756bf7c2175b7209ccc13ab0cbf6cb4f8
+Author: Jason Penton <[email protected]>
+Date:   Mon Jan 7 11:02:06 2013 +0200
 
-	* msg_translator.c: If a CL header is present only adjust the value
-	  but do not touch the header name itself any more.
+    md5.h: fixed types for Sun Solaris
 
-2006-11-14 17:38  hallik
+commit 3dd44561692657027289ff320709ce5d4bff210e
+Author: Jason Penton <[email protected]>
+Date:   Mon Jan 7 09:56:24 2013 +0200
 
-	* doc/stylesheets/dbschema/xsl/: common.xsl, sql.xsl: Added a
-	  declaration for namespace prefix.  Fixed DB schema compilation
-	  with new xsltproc.  This patch is simple hack that was introduced
-	  by Olaf Bergmann in serdev ML, and would be revisited in the
-	  future.
+    modules/cdp: housekeeping
+        - corrected copyright
+        - fixed timer code (latency thresholds)
+        - changed to KAMAILIO module interface
 
-2006-11-14 15:45  kubartv
+commit 0b108c83ba7138c760fa86c9274633c92b7193a1
+Merge: 9f63684 94e9bd8
+Author: Peter Dunkley <[email protected]>
+Date:   Sun Jan 6 19:37:22 2013 +0000
 
-	* scripts/dbtext/ser_db/: contact_attrs, presentity_extensions,
-	  tuple_extensions: added forgotten db-creation files
+    Merge branch 'master' into outbound
+    
+    * master:
+      pkg/kamailio/(centos|fedora): Updated ver and rel in .spec
+      sl: fix compilation warnings in sl_forward_reply()
+      dialog: fixed ka_timer linking
+      core: command line option -v replaced with -K
+      msrp: new parameter use_path_addr
+      msrp: added rpc command to list active connections
+      msrp: added internal map table to track msrp connections
+      pipelimit: implemented support for RPC commands
+      Makefile.defs: major version base updated to 4.0.0
+      sl: new function sl_forward_reply(...)
+      core: added function to remove an exiting lump structure from internal list
+      dialog2: generate and add missing README for dialog2 module
+      Do not bind with libser_cmd, this is not required.
+      Added Debian-Packaging for IMS modules
+      - Add group for IMS modules - Added convenience rule to build packages for current debian-stable
+      ims modules: don't link with -lrt on macosx
+      auth_ims: don't link with -lrt on darwin os
+      kamailio.cfg: xhttp left only in kamailio-oob.cfg
+      modules/rtpproxy: rtpproxy_manage can now add ice relay candidates
+      parser/sdp: fixed freeing of ice attributes
+
+commit 94e9bd8f15e192ee8b1c14d759129992b35435bf
+Author: Peter Dunkley <[email protected]>
+Date:   Sun Jan 6 19:36:39 2013 +0000
+
+    pkg/kamailio/(centos|fedora): Updated ver and rel in .spec
+
+commit 9f636841675f9cdd5a4baf768784564be71660b0
+Author: Peter Dunkley <[email protected]>
+Date:   Sun Jan 6 19:32:45 2013 +0000
+
+    modules_k/outbound: Updates to outbound module documentation
+
+commit 539e606d4ab88b837207fbe5a921f05756eba8a5
+Author: Peter Dunkley <[email protected]>
+Date:   Sun Jan 6 19:32:29 2013 +0000
+
+    modules_k/outbound: Fixes to outbound code arising from testing
 
-2006-11-14 15:44  kubartv
+commit b0ee720bec6d188615b98e8b107100fc5158e839
+Author: Peter Dunkley <[email protected]>
+Date:   Sun Jan 6 19:32:04 2013 +0000
 
-	* scripts/: dbtext/ser_db/presentity,
-	  dbtext/ser_db/presentity_contact, dbtext/ser_db/presentity_notes,
-	  dbtext/ser_db/tuple_notes, dbtext/ser_db/watcherinfo,
-	  mysql/my_create.sql, oracle/or_create.sql,
-	  postgres/pg_create.sql: Regenerated scripts for database creation
-	  - I have forgotten after last change
+    modules_k/rr: Updates to rr module documentation for outbound
 
-2006-11-13 15:36  kubartv
+commit a9d425f4aa8fe0fdc4aac3e158b6c98fd59a5776
+Author: Peter Dunkley <[email protected]>
+Date:   Sun Jan 6 19:31:41 2013 +0000
 
-	* utils/sipgrep/: README, sipgrep: added sipgrep utility written by
-	  Alexandr Dubovikov <[email protected]>
+    modules_k/rr: Fixes to loose.c from outbound testing
 
-	  It is a wrapper on ngrep which  * filters SIP messages according
-	  number in To or From header fields  * displays From tag, To tag,
-	  Call-ID and branch in    different colours, thus it is possible
-	  to trace dialogs or transactions    by "one look into message"
-	  ... this is really great! ;-)  * It can store received messages
-	  into a file and show them (together)
+commit 3f0f60d22d5577965b50821b1c7d0835c898c3f9
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Sun Jan 6 15:28:28 2013 +0100
 
-	  For a bit more info see README. For other info contact author.
+    sl: fix compilation warnings in sl_forward_reply()
+    
+    - reported by Juha Heinanen
 
-	  I think it could be really useful...
+commit ddcef074088df261ce3fb98adfbb1b76b73c30a6
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Sun Jan 6 15:24:39 2013 +0100
 
-2006-11-13 13:16  kubartv
+    dialog: fixed ka_timer linking
+    
+    - patch by Rinor Hoxha
 
-	* modules/pa/: extension_elements.c, pres_notes.c: updated logging
+commit 70d6cae27153d6641b2a781634aeb585b741d3a0
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Sun Jan 6 00:00:40 2013 +0100
 
-2006-11-10 19:21  andrei
+    core: command line option -v replaced with -K
+    
+    - -v was exposing to misusage for -V (version), now is aliased to it
 
-	* db/db_id.c: - db: fix cmp_db_id to work also with null strings
+commit 830af85c45933b3cdc3c48152667162fcf969a55
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Sat Jan 5 23:51:07 2013 +0100
 
-2006-11-10 18:49  andrei
+    msrp: new parameter use_path_addr
+    
+    - specify host and port for usage in Use-Path header
 
-	* modules/tm/t_lookup.c, parser/msg_parser.c, parser/msg_parser.h:
-	  - tm: a valid msg->hash_index is now marked by the FL_HASH_INDEX
-	  flag	in msg->msg_flags (previously a buggy 0-compariosn was
-	  used) - tm:  t_lookupOriginalT will compute msg->hash_index by
-	  itself if needed   (old version required a previous  t_check
-	  call) - tm/core: check_transaction_quadruple inlined
+commit bc8b005ba4d4c89afa6152dd212eda9b6689bb86
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Sat Jan 5 23:36:43 2013 +0100
 
-2006-11-10 11:25  andrei
+    msrp: added rpc command to list active connections
 
-	* ut.h: - killed the str2s debug error message
+commit ea3cacb10d2cc15f23c3a0c7fead151939873951
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Sat Jan 5 22:00:55 2013 +0100
 
-2006-11-08 03:16  calrissian
+    msrp: added internal map table to track msrp connections
+    
+    - initial version
+    - the table can be enabled via config parameters
 
-	* etc/ser.cfg: added From header check and load_attr for URI track
-	  as commented examples
+commit f432022f943ad4f72d3643974f065c6007af6589
+Author: Ovidiu Sas <[email protected]>
+Date:   Fri Jan 4 21:34:50 2013 -0500
 
-2006-11-07 20:00  andrei
+    pipelimit: implemented support for RPC commands
 
-	* modules/tm/: t_lookup.c, tm.c:
-	  - t_lookupOriginalT should never modifiy T / use set_t - removed
-	  useless t_check() call in w_t_lookup_cancel()
+commit e03be11d30abd9f6a5a756ae142444395f09df93
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Fri Jan 4 19:29:30 2013 +0100
 
-2006-11-07 00:49  calrissian
+    Makefile.defs: major version base updated to 4.0.0
+    
+    - development version is now 4.0.0-dev8
 
-	* etc/ser.cfg: fixed To user lookup for REGISTER; thansk to Michal
+commit d01b11b0cbbbfb84ae3d10fb90c05aedf07c9ccc
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Fri Jan 4 19:26:21 2013 +0100
 
-2006-11-07 00:27  calrissian
+    sl: new function sl_forward_reply(...)
+    
+    - forward the received reply fron configuration, before it would be done
+      by the core. It has the option to change the status code and reason
+      phrase
+    - the forwarding is statelessy, not affecting the tm states
 
-	* etc/ser-basic.cfg: renamed basic config file as simple is to
-	  confusing in the SIP area :)
+commit 7fd561975706676e61bb3d90968652edcb96f35c
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Fri Jan 4 19:25:05 2013 +0100
 
-2006-11-06 09:44  kubartv
+    core: added function to remove an exiting lump structure from internal list
 
-	* lib/cds/ChangeLog, lib/xcap/pres_rules.c, modules/pa/ChangeLog,
-	  modules/pa/async_auth.c: corrected bug reported by Bogdan Pintea
-	  and aplied his patch (closes SER-118)
+commit d2b805c8b13943f82240276f98f78145ac7572f9
+Author: Henning Westerholt <[email protected]>
+Date:   Thu Jan 3 16:44:03 2013 +0100
 
-2006-11-05 19:32  calrissian
+    dialog2: generate and add missing README for dialog2 module
 
-	* etc/ser.cfg: modified ser.cfg to work with all the new functions
-	  and code. this new version contains a lot more "features" but
-	  mainly for demonstration purposes so that the users get an idea
-	  what you can do with the config script language/commands.
-	  ser-simple.cfg is the successor of the original ser.cfg.
-	  ser-simple.cfg contains only the very basic commands for a proxy
-	  and regitrar.
+commit 2ce18eee8cfb85d7c88187a419c8d3f81228a1f8
+Author: Carsten Bock <[email protected]>
+Date:   Thu Jan 3 16:24:59 2013 +0100
 
-2006-11-04 17:17  andrei
+    Do not bind with libser_cmd, this is not required.
 
-	* Makefile.defs:
-	  - make with -Wall even whem compiling in debug mode, patch from
-	  Bogdan Pintea <[email protected]>
+commit 9cb6a84106aca0c998084c25b8b05d9d34a35ff2
+Author: Carsten Bock <[email protected]>
+Date:   Thu Jan 3 15:03:46 2013 +0100
 
-	  (closes SER-122)
+    Added Debian-Packaging for IMS modules
 
-2006-11-04 16:55  andrei
+commit fc1706e0c3b53500a321c13bc3450a4ccbe6dd6c
+Author: Carsten Bock <[email protected]>
+Date:   Thu Jan 3 15:02:40 2013 +0100
 
-	* Makefile.defs, tcp_main.c:
-	  - tcp fixes: tcpconn_timeout(); expire now timeout; switched to
-	  "raw" ticks (the conversion to s was plagued by truncation
-	  errors      => in some corner cases one could end up with tcp
-	  connections that	never expire) - if tcp_con_lifetime is set
-	  to a negative value, use the maximum possible   value instead
+    - Add group for IMS modules
+    - Added convenience rule to build packages for current debian-stable
 
-2006-11-04 02:31  andrei
+commit 539f97bdaa4b6c12fec3a943b6adb7902b748827
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Wed Jan 2 14:38:22 2013 +0100
 
-	* main.c: - safer child exit on signal (s/exit()/_exit())
+    ims modules: don't link with -lrt on macosx
+    
+    - define MAXINT on mac os x
 
-2006-11-03 01:43  andrei
+commit cf93bf2097660c093645550f1d3b54fdc1154288
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Wed Jan 2 14:22:39 2013 +0100
 
-	* modules/ctl/binrpc.h, modules/ctl/binrpc_run.c,
-	  utils/sercmd/sercmd.c:
-	  - ctl/binrpc modified not to complain if no reply was sent
-	  (happily send empty  replies) and to parse empty messages/replies
-	  (until now an empty message	was considered an error)
+    auth_ims: don't link with -lrt on darwin os
 
-2006-11-03 00:35  andrei
+commit 8660e2f031a159d0ac1edb87e20738f50a87d5c6
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Wed Jan 2 14:09:53 2013 +0100
 
-	* tcp_main.c: - more reliable tcp shutdown: force unlock the tcp
-	  lock in case	some terminated process did hold it
+    kamailio.cfg: xhttp left only in kamailio-oob.cfg
 
-2006-11-02 23:55  andrei
+commit 75fde552f1c4cdea736baa72ff1aa36e527e0215
+Author: Juha Heinanen <[email protected]>
+Date:   Wed Jan 2 13:00:31 2013 +0200
 
-	* Makefile.defs, tcp_conn.h, tcp_main.c, tcp_read.c, tcp_server.h:
-	  - tcp fixes/atomic_t switch
+    modules/rtpproxy: rtpproxy_manage can now add ice relay candidates
+    
+    - The feature is activated by defining ice_candidate_priority_avp module
+      parameter.
 
-2006-11-02 20:43  sobomax
+commit 35bc07e6a13e12aba519be8bde1a1e1dc06a1d94
+Author: Juha Heinanen <[email protected]>
+Date:   Wed Jan 2 09:13:00 2013 +0200
 
-	* mem/mem.h: Improve system malloc support:
+    parser/sdp: fixed freeing of ice attributes
 
-	  1. Convert size argument into unsigned long when printing out, so
-	  that it doesn't generate compiler warning;
+commit a117147b4c6563be21c0403eeeacf5ff0f3ba709
+Author: Peter Dunkley <[email protected]>
+Date:   Tue Jan 1 20:46:18 2013 +0000
 
-	  2. In pkg_malloc() wrapper use less generic temporary variable
-	  name to avoid potential namespace conflicts with the modules
-	  code.
+    modules_k/outbound: updated example
 
-	  3. Provide pkg_realloc() wrapper.
+commit 0a528b23bc39eabfaaf2874a74ce529955c21ff5
+Author: Peter Dunkley <[email protected]>
+Date:   Tue Jan 1 20:45:49 2013 +0000
 
-	  Sponsored by:   Sippy Software, Inc.
+    modules_k/rr: outbound fixes
+    
+    - Use the OUTBOUND address in RR when using outbound
 
-2006-11-01 17:03  kubartv
+commit 9b5c3a991942da005b8c56b049a1ebde5596042b
+Author: Peter Dunkley <[email protected]>
+Date:   Tue Jan 1 20:45:24 2013 +0000
 
-	* modules/pa/: ChangeLog, extension_elements.c, offline_winfo.c,
-	  presentity.c, presentity.h, subscribe.c, tuple.c,
-	  tuple_extensions.c, watcher.c, doc/auth.xml, doc/pa.xml:  - PIDF
-	  extensions support
-	   - XCAP parameters related to auth. info stored with presentity
-	  (experimental)
+    modules_k/outbound: fixes to use_outbound()
 
-2006-11-01 16:28  hallik
+commit e2d144bd76f327ce7c52914ed0462f415e7d06a7
+Merge: 4a41827 ddfbbd7
+Author: Peter Dunkley <[email protected]>
+Date:   Mon Dec 31 17:12:01 2012 +0000
 
-	* pkg/debian/: control, rules: Ser-ctl packaging removed, ser-ctl
-	  is not a part of sip_router tree anymore.
+    Merge branch 'master' into outbound
+    
+    * master:
+      parser/sdp: added check on body length when looking for 'a=candidate:'
+      parser/sdp: added 'a:remote-candidates' media stream attribute
 
-2006-11-01 16:21  kubartv
+commit 4a418276b50212feb3ef4d659c42e6772fc9fcd7
+Author: Peter Dunkley <[email protected]>
+Date:   Mon Dec 31 17:11:30 2012 +0000
 
-	* doc/presence/biblio.xml: changed link in doc - RPID is RFC now...
+    modules_k/outbound: first draft of outbound module documentation
 
-2006-11-01 16:17  kubartv
+commit 72d8e454f29174673cc80f9795ac8d564c2ca1bb
+Author: Peter Dunkley <[email protected]>
+Date:   Mon Dec 31 17:11:14 2012 +0000
 
-	* db/schema/: offline_winfo.xml, presentity.xml,
-	  presentity_contact.xml, presentity_extensions.xml,
-	  presentity_notes.xml, ser.xml, tuple_extensions.xml,
-	  tuple_notes.xml, watcherinfo.xml: updated PA module tables -
-	  added support for PIDF extensions
+    modules_k/outbound: Corrected check on flow_token_key length
 
-2006-11-01 15:54  kubartv
+commit ddfbbd7c0eb7fc1c7ffbb07d6260271ded8b42b3
+Author: Juha Heinanen <[email protected]>
+Date:   Mon Dec 31 18:18:05 2012 +0200
 
-	* modules/xcap/: xcap_mod.c, doc/Makefile: changed trace log, added
-	  Makefile for documentation
+    parser/sdp: added check on body length when looking for 'a=candidate:'
 
-2006-11-01 15:51  kubartv
+commit 88a8eb348359f05a1ff14371f8e323cf086d6497
+Author: Juha Heinanen <[email protected]>
+Date:   Mon Dec 31 18:16:23 2012 +0200
 
-	* modules/dialog/serialize_dlg.c: removed route serialization
-	  functions - used functions from CDS library
+    parser/sdp: added 'a:remote-candidates' media stream attribute
 
-2006-11-01 15:49  kubartv
+commit 5214a6e617bfc8f2471fcf0d02d8fa5cf0a9ce3b
+Merge: e00d77f 945b1fd
+Author: Peter Dunkley <[email protected]>
+Date:   Mon Dec 31 16:08:59 2012 +0000
 
-	* lib/: cds/rr_serialize.c, cds/rr_serialize.h, presence/pidf.c:
-	  renamed function for route serialization, PIDF parser accepts
-	  case insensitive basic status names
+    Merge branch 'master' into outbound
+    
+    * master:
+      pkg/kamailio/(centos|fedora): Added IMS modules to RPM builds
+      parser/sdp: added partial parsing of a=candidate attributes
+      modules/sipcapture  README: added HEPv2/v3 to supported protocols
+      modules:siptrace changed include to hep.h
+      Added HEPv3 (UDP) support for sipcapture.
+      modules/registrar_pcscf: firs commit of registrar_pcscf module 	- registrar for P-CSCF functionality
+      modules/registrar_scscf: first commit of registrar_scscf 	- Registrar functionality for S-CSCF servers
+      modules/isc: first commit of ISC module (IMS Service Control)
+      modules/usrloc_scscf: first commit of usrloc_scscf modules 	- usrloc functionality for S-CSCF servers
+      modules/usrloc_pcscf: first commit of usrloc_pcscf module
+      modules/auth_ims: first commit of auth_ims module 	- This module provides IMS specific authentication/authorisation functionality.
+      modules/icscf: added I-CSCF module.
+      modules/dialog2: first version of dialog2
+      lib/ims: added some info to README on IMS library
+      IMS Internal Lib: added internal kamailio library for IMS extensions
 
-2006-11-01 15:46  kubartv
+commit 945b1fd62e1bb5c9d4aa066666d64ae63731c94a
+Author: Peter Dunkley <[email protected]>
+Date:   Mon Dec 31 16:08:20 2012 +0000
 
-	* modules/presence_b2b/euac_funcs.c: replaced usage of uri2sock
-	  with uri2dst
+    pkg/kamailio/(centos|fedora): Added IMS modules to RPM builds
 
-2006-11-01 15:46  hscholz
+commit e00d77f710fe36dca08f099306c837ef7e53309f
+Author: Peter Dunkley <[email protected]>
+Date:   Mon Dec 31 15:36:00 2012 +0000
 
-	* mem/mem.h: - add brackets around 's' to allow pkg_malloc() to be
-	  invoked with	 non-atomic operands, i.e. dupl_string() in
-	  db/db_id.c
+    modules_k/outbound: filled in use_outbound() function
 
-2006-10-30 14:16  kozlik
+commit 488bf3c94b2498e7539638202ee878c237fde567
+Author: Peter Dunkley <[email protected]>
+Date:   Mon Dec 31 15:35:32 2012 +0000
 
-	* db/schema/uri.xml, scripts/dbtext/ser_db/uri,
-	  scripts/mysql/my_create.sql, scripts/oracle/or_create.sql,
-	  scripts/postgres/pg_create.sql: Changed type of 'scheme' column
-	  in URI table from int to string
+    core: added parsing of ;ob for URIs and Contact: headers
 
-2006-10-27 18:38  calrissian
+commit b7a1ea4c8a88eea873bf6b4bfac5e1f477a19073
+Author: Juha Heinanen <[email protected]>
+Date:   Mon Dec 31 15:51:53 2012 +0200
 
-	* modules/rr/loose.c: Improved algorithm to distinguish between
-	  loose and strict routing.  This should solve problems of not
-	  routing correctly ACKs for negative replies on preloaded INVITEs.
+    parser/sdp: added partial parsing of a=candidate attributes
 
-2006-10-26 23:34  mma
+commit 9d9394d63c3ccdfa3ce7ba067ef29c4657f0eb37
+Author: Peter Dunkley <[email protected]>
+Date:   Mon Dec 31 13:44:19 2012 +0000
 
-	* utils/route_graph/route_graph.py: I suppose, that python should
-	  be called (mistyped as pyhton)
+    modules_k/rr: handle outbound failing and outbound just not being used as separate cases
 
-2006-10-26 18:01  calrissian
+commit dccab57430d0014b386a8f97ca6c8506a81402e7
+Author: Peter Dunkley <[email protected]>
+Date:   Mon Dec 31 13:43:15 2012 +0000
 
-	* utils/route_graph/route_graph.py: a small Python script which
-	  tries to plot the dependecies between the route blocks of a SER
-	  config file
+    modules_k/outbound: decode_flow_token() returns different values when an error occurs and when the string obviously isn't a flow-token
 
-2006-10-25 22:29  andrei
+commit a0a23aacc9a2d19b30f62702811c1eadc5671d98
+Author: Peter Dunkley <[email protected]>
+Date:   Mon Dec 31 13:28:06 2012 +0000
 
-	* modules/pike/: pike.c, pike_funcs.c:
-	  - minor pike extra feature:	 - pike_check_req("1") will not
-	  update the timer aynmore  (pike_check_req() and
-	  pike_check_req("0") are equivalent to the old behaviour)
+    modules_k/rr: updated documentation for outbound support
 
-2006-10-25 22:24  andrei
+commit 7d6d7f177f465e184e1ef612a82a7406ccadd45a
+Author: Peter Dunkley <[email protected]>
+Date:   Mon Dec 31 13:25:36 2012 +0000
 
-	* modules/pike/: ip_tree.h, pike_funcs.c: - even more pike race
-	  avoidance/fixes (this time from me)
+    modules_k/rr: fixed typos in diagnostics and comments
 
-2006-10-25 22:22  andrei
+commit a0dd2a75dc763ebb5907573aac3b8653c5faf93a
+Author: Peter Dunkley <[email protected]>
+Date:   Mon Dec 31 13:25:01 2012 +0000
 
-	* modules/pike/: ip_tree.c, ip_tree.h, pike_funcs.c, timer.c:
-	  - pike fixes ported from openser:  1. changes made on the initial
-	  fork (Bogdan Iancu)  2. "bug fixed - due bogus flag testing, race
-	  between timer and ip tree could	 occurred" (Bogdan Iancu)
+    modules_k/path: fixed a typo in a diagnostic message
 
-2006-10-25 20:50  andrei
+commit 6141b16fc5f619938472f6f56d0fb2e0e5456aee
+Author: Peter Dunkley <[email protected]>
+Date:   Mon Dec 31 12:55:06 2012 +0000
 
-	* version.h: - compile flags  names added for USE_STUN &
-	  NO_SIG_DEBUG
+    modules_k/rr: tidied up error handling and comments relating to outbound
 
-2006-10-25 20:44  andrei
+commit 5ceef3cb48fc4b1e9c75abf91ba45f59f5125751
+Author: Peter Dunkley <[email protected]>
+Date:   Mon Dec 31 12:54:37 2012 +0000
 
-	* Makefile.defs, globals.h, main.c, pt.c:
-	  - init_childs(PROC_MAIN) moved before starting tcp_main to allow
-	  possible  tcp usage from module started processes  -
-	  fork_process() sanity checks & debugging: fail & log a bug if
-	  called   with make_sock==1 from a process != main or if called
-	  after tcp was   started; reset is_main for children  -
-	  fork_tcp_process() sanity checks as above  - init_pt():
-	  initialize tcp comm. fds to -1, fix description writing  for
-	  main/attendant.
+    modules_k/outbound: tightened up error handling in decode_flow_token()
 
-2006-10-25 18:54  andrei
+commit 680173cfc89bc051ce026ddf4a62dab494aa20a0
+Author: Alexandr Dubovikov <[email protected]>
+Date:   Mon Dec 31 00:33:16 2012 +0100
 
-	* cfg.y:  -minor cosmetic change: if stun variables are used in the
-	  config, but
-	    stun support is not compiled => warning
+    modules/sipcapture  README: added HEPv2/v3 to supported protocols
 
-2006-10-25 18:44  andrei
+commit 13889dfc3274f86352c719276b52fd8a458c243f
+Author: Alexandr Dubovikov <[email protected]>
+Date:   Mon Dec 31 00:27:22 2012 +0100
 
-	* Makefile.defs, NEWS, cfg.lex, cfg.y, config.h, dprint.h,
-	  globals.h, main.c: - log messages in children signal handlers off
-	  if NO_SIG_DEBUG  is defined (safer, but not default for now) -
-	  new config param.: exit_timeout (how much time ser will wait for
-	  its shutdown to complete, when it expires it will kill
-	  everything) - missing timeout added to SIGTERM triggered shutdown
+    modules:siptrace changed include to hep.h
 
-2006-10-25 17:55  andrei
+commit 6eda5e28355df2f1085f0ab9d303309965c4cd4f
+Author: Alexandr Dubovikov <[email protected]>
+Date:   Mon Dec 31 00:21:02 2012 +0100
 
-	* parser/hf.h: - fixed wrong HDR flags declaration (reported by
-	  Dragos Vingarzan  <[email protected]>)
+    Added HEPv3 (UDP) support for sipcapture.
+    
+    Many many thanks Dragos Dinu for your help!
+    
+    Happy New Year! Glückliches neues Jahr! С �овым Годом! La Mulți Ani!
 
-2006-10-24 18:53  andrei
+commit bd26883f8cf782a09dd115389b1a5cc60fdd2f83
+Author: Jason Penton <[email protected]>
+Date:   Sun Dec 30 22:40:27 2012 +0200
 
-	* dprint.c, dprint.h: - LOG & DBG simultaneous execution protection
-	  (they can be used almost  safely from the signal handlers)
+    modules/registrar_pcscf: firs commit of registrar_pcscf module
+    	- registrar for P-CSCF functionality
 
-2006-10-20 13:59  mma
+commit d274ee387a3aa27be808b11b879311793f840a40
+Author: Peter Dunkley <[email protected]>
+Date:   Sun Dec 30 19:31:24 2012 +0000
 
-	* select_core.c, select_core.h: new select functions:
+    modules_k/rr: Fixed return from process_outbound()
 
-	  Source ip/port based on message's src ip_addr struct: - src.(ip |
-	  port | ip_port)
+commit 4bbd8718667d5fed76b7b97b3e915647cf80e611
+Author: Peter Dunkley <[email protected]>
+Date:   Sun Dec 30 19:27:24 2012 +0000
 
-	  Destination ip/port based on message's dst ip_addr struct: -
-	  dst.(ip | port | ip_port)
+    modules_k/rr: added decoding and using of flow token to loose_route()
 
-	  Received info (based on socket used while received this message):
-	  - received.(proto | ip | port | ip_port | proto_ip_port)
+commit 200082fd140bcebc7cdbf1d5511f51aa6e6f304e
+Author: Jason Penton <[email protected]>
+Date:   Sun Dec 30 20:39:58 2012 +0200
 
-2006-10-20 01:46  calrissian
+    modules/registrar_scscf: first commit of registrar_scscf
+    	- Registrar functionality for S-CSCF servers
 
-	* ser_stun.c: added lots of debug messages until the usual sniffer
-	  are able to decode this new STUN version ;-)
+commit 49ef3f0279491020a334d93aeb7c76e723305564
+Author: Jason Penton <[email protected]>
+Date:   Sun Dec 30 20:36:41 2012 +0200
 
-2006-10-19 11:23  hscholz
+    modules/isc: first commit of ISC module (IMS Service Control)
 
-	* modules/auth/challenge.c: - fix memory leak by freeing temporary
-	  header.    Header is stored as AVP by add_avp()/create_avp()
+commit f08bc36d878529410dcfafa69753f80ade261f6f
+Author: Jason Penton <[email protected]>
+Date:   Sun Dec 30 20:34:44 2012 +0200
 
-2006-10-18 00:29  calrissian
+    modules/usrloc_scscf: first commit of usrloc_scscf modules
+    	- usrloc functionality for S-CSCF servers
 
-	* modules/auth_db/authorize.c: fixed: wrong return value from
-	  get_*_did was expected
+commit eda0f25661a153dde09c91a371cd7e02e18d7b26
+Author: Jason Penton <[email protected]>
+Date:   Sun Dec 30 20:33:00 2012 +0200
 
-2006-10-17 23:11  calrissian
+    modules/usrloc_pcscf: first commit of usrloc_pcscf module
 
-	* modules/auth_db/authorize.c: fixed debug log messages
+commit 5e844cf90c0d288a4038f5b2ff7cbebeab856488
+Author: Peter Dunkley <[email protected]>
+Date:   Sun Dec 30 18:31:07 2012 +0000
 
-2006-10-17 23:00  andrei
+    modules_k/outbound: changed some errors to info
 
-	* modules/tm/t_reply.c:
-	  - dns failover on 503 fix: do it only if the branch is still
-	  active  (hasn't timeouted yet)
+commit 1ecbbbbe2c2ee63553b47316f454ede3633a2189
+Author: Jason Penton <[email protected]>
+Date:   Sun Dec 30 20:29:22 2012 +0200
 
-2006-10-17 15:15  vlada
+    modules/auth_ims: first commit of auth_ims module
+    	- This module provides IMS specific authentication/authorisation functionality.
 
-	* cfg.y:  - fixed problem with "error EQUAL" rule
+commit 29e841d41f57fa24d79fef10ff1e20943fa068ec
+Author: Jason Penton <[email protected]>
+Date:   Sun Dec 30 20:26:09 2012 +0200
 
-2006-10-16 20:44  andrei
+    modules/icscf: added I-CSCF module.
 
-	* Makefile.defs, NEWS, modules/tm/sip_msg.c, modules/tm/t_lookup.c,
-	  modules/tm/t_reply.c, modules/tm/t_reply.h, modules/tm/tm.c,
-	  modules/tm/doc/params.xml, parser/case_prox.h, parser/case_www.h,
-	  parser/hf.c, parser/hf.h, parser/keys.h, parser/msg_parser.c,
-	  parser/parse_hname2.c: - tm: aggregate challenges
-	  (WWW/Proxy-Authenticate) from all the 401 & 407 if   the final
-	  reply is a 401/407 (required by rfc3261). To turn this off and
-	  fall back to the old behaviour set tm aggregate_challenges
-	  parameter to 0   (see tm docs for more details) - core: header
-	  parse support for WWW-Authenticate and Proxy-Authenticate
+commit 651dafa718cb96c15781134ed280812c664bd9dc
+Author: Jason Penton <[email protected]>
+Date:   Sun Dec 30 20:19:10 2012 +0200
 
-2006-10-16 20:40  andrei
+    modules/dialog2: first version of dialog2
 
-	* dns_cache.c: - fix: port was not set to default when the hostname
-	  was an ip address
+commit b4189892a8fb61670da8d8c6a4fb91110e889799
+Author: Jason Penton <[email protected]>
+Date:   Sun Dec 30 20:10:53 2012 +0200
 
-2006-10-16 20:36  andrei
+    lib/ims: added some info to README on IMS library
 
-	* data_lump_rpl.c, data_lump_rpl.h:
-	  - add_lump_rpl2 added: same as the old add_lump_rpl, but returns
-	  a lump_rpl**,   making a specific lump removal much more easy
+commit acc9e5a3dde72aedbb1eeba561987c5faf80800f
+Author: Peter Dunkley <[email protected]>
+Date:   Sun Dec 30 17:56:55 2012 +0000
 
-2006-10-13 15:29  vlada
+    modules_k/rr: add flow token to Record-Route: headers when needed
 
-	* NEWS:  - added description of improvements associated with STUN
+commit d55cce8e5f2558560bf38a8ff25ddbb80f697284
+Author: Peter Dunkley <[email protected]>
+Date:   Sun Dec 30 17:40:08 2012 +0000
 
-2006-10-13 15:08  vlada
+    modules_k/rr: do not double RR when outbound is in use for a request
 
-	* Makefile.defs, cfg.lex, cfg.y, globals.h, main.c, ser_stun.c,
-	  ser_stun.h, tcp_conn.h, tcp_read.c, udp_server.c:  - added STUN
-	  keep-alive functionality in accordance with
-	  draft-ietf-behave-rfc3489bis-04.txt
+commit b4f41ed842766e047d286da1ceefb783f6791a5b
+Author: root <root@jaybeepee-HP-EliteBook-8560w.(none)>
+Date:   Sun Dec 30 19:38:57 2012 +0200
 
-2006-10-12 21:15  andrei
+    IMS Internal Lib: added internal kamailio library for IMS extensions
 
-	* Makefile.defs, modules/tm/t_reply.c, modules/tm/t_stats.c:
-	  - dns failover when a 503 reply is received (if the dns name
-	  resolves  to more ips/srvs try the next one) - if the final reply
-	  is a relayed 503 replace it with a 500 (generate   a "fake" 500).
-	  If the 503 is locally generated, let it pass.  - tm_rpc_stats:
-	  removed duplicate "waiting" stats
+commit 7c79ef5875787a1c05d263a83c803299489308fd
+Author: Peter Dunkley <[email protected]>
+Date:   Sun Dec 30 17:20:52 2012 +0000
 
-2006-10-11 19:45  andrei
+    modules_k/rr: bind rr to outbound module
 
-	* Makefile.defs, modules/tm/h_table.h, modules/tm/t_cancel.c,
-	  modules/tm/t_fwd.c:
-	  - stop creating new branches (forking)if a 6xx or a CANCEL was
-	  received - cancel branch fix: if a branch was canceled stop
-	  possible dns failover   forking on it - stop retransmission timer
-	  fix for cancel for non-invites
+commit 724847a226cd3a5e8c2aa766a17890f06d30d6ce
+Merge: 3efe73d 3d2c78d
+Author: Peter Dunkley <[email protected]>
+Date:   Sun Dec 30 17:08:43 2012 +0000
 
-2006-10-11 11:30  greger
+    Merge branch 'master' into outbound
+    
+    * master:
+      uid_gflags: default table for global attrs prefixed with uid_
+      libsrdb1/kamctl: added uid_global_attrs table
+      libsrdb1/kamctl: added uid_domain and uid_domain_attrs tables
+      srdb1/kamctl: added uid_uri and uid_uri_attrs tables
+      uid_avp_db: default table name prefixed with uid_
+      srdb1/kamctl: added definition of table uid_user_attrs
+      libsrdb1/kamctl: added definition of uid_credentials table
 
-	* doc/stylesheets/ser.css: Improved ser.css handling of note class.
+commit 3d2c78df699a047d97f016a14c275c5559553fe5
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Sat Dec 29 16:42:09 2012 +0100
 
-2006-10-10 21:29  greger
+    uid_gflags: default table for global attrs prefixed with uid_
 
-	* doc/stylesheets/ser.css: New ser.css for documentation. Example:
-	  http://siprouter.onsip.org/doc/modules/usrloc.html
+commit e5831f5896e79ad5b878208a408d61fb374f2715
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Sat Dec 29 16:39:29 2012 +0100
 
-2006-10-10 21:21  andrei
+    libsrdb1/kamctl: added uid_global_attrs table
 
-	* Makefile.defs, NEWS, modules/tm/h_table.h, modules/tm/t_cancel.c,
-	  modules/tm/t_cancel.h, modules/tm/t_fwd.c, modules/tm/t_reply.c,
-	  modules/tm/timer.c:
-	  - tm 6xx fixes: when a 6xx is received send a CANCEL on all the
-	  branches for which a provisional response was received and then
-	  wait for the branches to  finish (timeout, 487 from the CANCEL or
-	  another final response which	 "raced" the CANCEL). Branches that
-	  did not receive any response	  (in fact any response >=100) will
-	  be "terminated" immediately  (fake 487).  - tm which_cancel()
-	  0-the cancel bitmap fix - tm which_cancel(), should_cancel(),
-	  cancel_branch() enhancements/changes - tm rpc_cancel fixes (it
-	  works now)
+commit 5eaaaf9827bb951add1f45bc5d635a4889954f73
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Sat Dec 29 16:29:17 2012 +0100
 
-2006-10-10 16:06  greger
+    libsrdb1/kamctl: added uid_domain and uid_domain_attrs tables
 
-	* Makefile.doc: Added html.stylesheet stringparam to xsltproc to
-	  include ser.css as referenced stylesheet in html-generated docs.
+commit 907e13b7080c3ecbbbf8fa35c1adb4b3d9137ff5
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Sat Dec 29 16:15:07 2012 +0100
 
-2006-10-06 13:32  andrei
+    srdb1/kamctl: added uid_uri and uid_uri_attrs tables
 
-	* Makefile.defs, NEWS, modules/tm/t_reply.c, modules/tm/tm.c:
-	  - tm	better final reply selection: 6xx is preferred over other
-	  negative   replies; from several 4xx prefer 401, 407, 415, 420,
-	  484 (in this order). For   all the other cases, return the lowest
-	  code (as before).
+commit c8b3aa436455314cc5b5591224cc2336c3060d9c
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Sat Dec 29 16:00:27 2012 +0100
 
-2006-10-06 13:02  andrei
+    uid_avp_db: default table name prefixed with uid_
 
-	* dns_cache.c:
-	  - port fix (original port was overwritten with 5060 for non-srv
-	  lookups)
+commit 4d060c204cb5d526b3e05d50131a725d2f931b39
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Sat Dec 29 15:58:06 2012 +0100
 
-2006-10-02 19:29  andrei
+    srdb1/kamctl: added definition of table uid_user_attrs
 
-	* Makefile.defs, NEWS, pt.c, tcp_main.c,
-	  modules/tm/doc/functions.xml:
-	  - fork_process & fork_tcp_process fixes - reverted to the old
-	  fork()-in-parallel behaviour	(uncomment FORK_DONT_WAIT for the
-	  "serial" fork()).
+commit 008f9242fd996d3c853b6844fa724473c4ffd4d9
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Sat Dec 29 15:36:51 2012 +0100
 
-2006-10-02 09:13  kubartv
+    libsrdb1/kamctl: added definition of uid_credentials table
 
-	* lib/presence/pidf.c: removed few debug logs
+commit 3efe73dc002b4e02147a2f950c3058998f658a23
+Merge: 8f0ab91 8c512a5
+Author: Peter Dunkley <[email protected]>
+Date:   Sat Dec 29 01:22:27 2012 +0000
 
-2006-09-29 09:52  greger
+    Merge branch 'master' into outbound
+    
+    * master:
+      modules_s/usrloc: moved to obsolete folder
+      modules_s/registrar: moved to obsolete folder
+      modules_s/.gitkeep: added a placeholder to keep empty modules_s folder for a while
+      Makefile: make TAGS skips the obsolete folder
+      usrloc(k): fixed position of xavp_contact parameter in docs
+      usrloc: store per-contact attributes in database
+      core: fixed xavp level cloning function
+      core: added a fuction that adds an xavp with an xavp value
+      kamctl: regenerated database creation scripts
+      lib/srdb1: added location_attrs table
+
+commit 8c512a504402594c3d78da8e3ebdbe05e7561a2f
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Sat Dec 29 00:19:53 2012 +0100
+
+    modules_s/usrloc: moved to obsolete folder
+    
+    - use instead the other module with same name
+
+commit f39b8bd436571b7f3ac40740a4a938739f9c6ad9
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Sat Dec 29 00:18:25 2012 +0100
+
+    modules_s/registrar: moved to obsolete folder
+    
+    - use instead the other module with same name
+
+commit 96efc37844a8c128d520b9873aacb3633231e33f
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Sat Dec 29 00:17:10 2012 +0100
+
+    modules_s/.gitkeep: added a placeholder to keep empty modules_s folder for a while
+    
+    - it may be useful if some modules from obsolete folder are wanted back
+      (in the repo, or just locally)
+
+commit 8d5f8bbc2edaee9ccbe935d5f44fe4601281f060
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Sat Dec 29 00:09:47 2012 +0100
+
+    Makefile: make TAGS skips the obsolete folder
+    
+    - use make TAGS-ALL to include all the folders
+
+commit 27570b56727e788da939fedc84304cf87fc1e179
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Fri Dec 28 22:25:29 2012 +0100
+
+    usrloc(k): fixed position of xavp_contact parameter in docs
+
+commit 5463e46f9c3fa2e3aa8345eceb79936de63b7222
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Fri Dec 28 22:20:15 2012 +0100
+
+    usrloc: store per-contact attributes in database
+    
+    - attributes table is the name of table used for save/lookup plus suffix
+      '_attrs' (e.g., location_attrs)
+    - feature enable only if xavp_contact parameter is set
+
+commit 88dd1f30481d088b56a97a6fbb84a88f94261eb9
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Fri Dec 28 22:17:03 2012 +0100
+
+    core: fixed xavp level cloning function
+    
+    - new function introduced recently for usrloc usage
+
+commit aea4043106b7b3e44529385293616b7af640c892
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Fri Dec 28 19:21:28 2012 +0100
+
+    core: added a fuction that adds an xavp with an xavp value
+
+commit f636e215089a9b14daa113d93025831e827192b5
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Fri Dec 28 19:18:09 2012 +0100
+
+    kamctl: regenerated database creation scripts
+    
+    - target on location_attrs table
+    - affected xhttp_pi and sca
+
+commit 060734a2acf96333ffaef8207812cc27bc127c76
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Fri Dec 28 14:55:35 2012 +0100
+
+    lib/srdb1: added location_attrs table
+    
+    - store per contact attributes
+
+commit 8f0ab9130af20ed1709b03fff8e831695cbdc64f
+Author: Peter Dunkley <[email protected]>
+Date:   Fri Dec 28 08:03:50 2012 +0000
+
+    modules_k/path: only add ";ob" parameter when it is the the first hop
+
+commit 7fce787c316de12fd3294ca2a70d79d71ff2ad1b
+Merge: 11b7630 b2e5040
+Author: Peter Dunkley <[email protected]>
+Date:   Wed Dec 26 14:25:44 2012 +0000
+
+    Merge branch 'master' into outbound
+    
+    * master:
+      core: check for IP in no_naptr_srv_sip_resolvehost()
+      core: try all srv protocols when not already set
+      registrar(k): restore the location contact xavp upon lookup
+      usrloc(k): option to store xavp per contact
+      core: extended xavp api
+      registrar(k): use only pre-existing branches in lookup_branches()
+      p_usrloc: clean memory in case of malloc error
+      Revert "Changing to kamcmd"
+      kamcmd changes
+      Changing to kamcmd
+      kamcmd Updating docs
+      Change "sercmd" to "kamcmd" in module documentation files - README
+      kamctl Fix typo that causes the "trusted" help to be printed twice and "address" zero times
+      kamctl Change "sercmd" to "kamcmd" in help texts
+      Fixing compiler warnings
 
-	* Makefile, Makefile.rules: Added new target for makefile:
-	  modules-doc. Can be used together with include_modules and
-	  exclude_modules to create doc files in the supported format.
-	  Added new option to make: doc_format=format, where formats can be
-	  txt, html, xhtml, or pdf.  Default format is html.  Updated
-	  proper and clean targets to also include module doc dirs.
-	  Example: make exclude_modules="something" doc_format="txt"
-	  modules-doc
+commit 11b7630b3f3423dd5697b9c1938f34ee851d325e
+Author: Peter Dunkley <[email protected]>
+Date:   Wed Dec 26 14:24:58 2012 +0000
 
-2006-09-28 23:10  andrei
+    modules_k/path: Updated module documentation for outbound
 
-	* Makefile.defs, NEWS, modules/tm/h_table.h, modules/tm/t_reply.c,
-	  modules/tm/timer.c, modules/tm/tm.c,
-	  modules/tm/doc/functions.xml, parser/msg_parser.h:
-	  - reverted to the old behaviour for the transaction timeout
-	  reply:  now 408 is returned always; before 480 was returned on
-	  invite timeout   after a provisional reply.  - added new script
-	  functions: t_branch_timeout() and t_branch_replied(),   which can
-	  be used to distinguish between a 408 received from the network
-	  (if (!t_branch_timeout() && t_check_status("408")) ... ), a local
-	  transaction timeout w/o any reply being received	  (if
-	  (t_branch_timeout() && ! t_branch_replied()) ...) and a local
-	  timeout    after some provsional reply    ( if
-	  (t_branch_timeout() && t_branch_replied()) ...) - even more
-	  script functions:	   - t_any_timeout() -- true if any of the
-	  transaction branches did timeout	  - t_any_replied() -- true
-	  if at least one branch received a reply
-	  (when used from an on_reply route it will ignore
-			the "current" reply)	    - t_is_canceled() --
-	  true if the current transaction has been canceled (for more info
-	  see NEWS or tm docs)
+commit b27311b5ecc189b8324075a3387382c144ad438b
+Author: Peter Dunkley <[email protected]>
+Date:   Wed Dec 26 14:15:48 2012 +0000
 
-2006-09-25 13:44  janakj
+    modules_k/path: Added outbound support to add_path()
 
-	* modules/registrar/: common.h, lookup.c, reg_mod.c, reply.c,
-	  reply.h, save.c, save.h: - AOR filter can be applied to contacts
-	  in 200 OK too
-
-2006-09-21 23:29  sobomax
-
-	* modules/nathelper/nathelper.c: Add support for extended Secure
-	  RTP Profile for RTCP.
-
-	  Submitted by:   Atle Samuelsen
-
-2006-09-21 16:56  kozlik
-
-	* db/schema/attr_types.xml, scripts/dbtext/ser_db/attr_types,
-	  scripts/mysql/my_data.sql, scripts/oracle/or_data.sql,
-	  scripts/postgres/pg_data.sql: new attribute 'datetime_created'
-
-2006-09-21 11:54  janakj
-
-	* modules/uri_db/uridb_mod.c: - 2 parameter variant of lookup_user:
-	  lookup_user("$f.uid", "@from.uri")
-
-2006-09-20 19:15  andrei
-
-	* Makefile, io_wait.h, modules/ctl/binrpc_run.c,
-	  modules/db_ops/db_ops.c, modules/nathelper/nathelper.c,
-	  modules/tm/dlg.c, modules/usrloc/reg_avps_db.c:
-	  - fixed some of the warnings - fixed typo in db_ops/db_ops.c -
-	  eval module excluded from the compiled-by-default-list (bec. it
-	  doesn't  compile yet)
-
-2006-09-20 12:28  andrei
-
-	* Makefile.defs, pt.c, pt.h:
-
-	  - added ser profiling patch from Hendrik Scholz
-	  <[email protected]>,  adapted to the new fork
-	  functions  (for more info see
-	  http://lists.iptel.org/pipermail/serdev/2006-July/007627.html)
-
-2006-09-20 11:39  hscholz
-
-	* modules/ctl/io_listener.c: - do not try use use tcp_poll_method
-	  when USE_TCP wasn't defined
+commit a1501f0b44975057e752d0337fb074ed53fd6a54
+Author: Peter Dunkley <[email protected]>
+Date:   Wed Dec 26 14:15:18 2012 +0000
 
-2006-09-20 11:22  hscholz
+    modules_k/outbound: Added some includes to api.h
 
-	* pt.c, pt.h: - allow compilation without USE_TCP option
-
-2006-09-20 11:01  andrei
+commit b2e5040fa324fa8c95c5b44a5fcab58ed84a4c55
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Wed Dec 26 12:32:00 2012 +0100
 
-	* pt.c: - added missing pt.c
+    core: check for IP in no_naptr_srv_sip_resolvehost()
+    
+    - catch IP addresses before attempting to do SRV query
 
-2006-09-19 18:13  andrei
-
-	* Makefile.defs, core_cmd.c, main.c, pt.h, sr_module.h, tcp_init.h,
-	  tcp_main.c, doc/dns.txt, doc/dst_blacklist.txt,
-	  modules/ctl/ctl.c, modules/ctl/ctl_defaults.h,
-	  modules/ctl/io_listener.c, modules/fifo/fifo.c,
-	  modules/fifo/fifo_server.c, modules/fifo/fifo_server.h,
-	  modules/sl/sl_stats.c, modules/tls/tls_domain.c,
-	  modules/tm/t_stats.c, modules/tm/tm.c,
-	  modules/unixsock/unixsock.c, modules/unixsock/unixsock_server.c:
-	  - applied patch from	Dragos Vingarzan
-	  <[email protected]> which  moves all the forking part
-	  into 2 functions in pt.c (fork_process and   fork_tcp_process).
-	  - added PROC_NOCHLDINIT rank value for Dragos's fork_process (if
-	  this	value is used as child_id/rank_value the mod_child
-	  functions will not be   called) - added
-	  register_procs(processes_no), used from mod_init when a module
-	  knows that it will fork some children (replaces the old
-	  process_count++   / the patch's estimated_process_count++) -
-	  added get_max_procs(): returns the maximum (estimated) number of
-	  processes
+commit 17b3c70ea9cd21b71b44062dfff20cea7e67b349
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Wed Dec 26 11:20:46 2012 +0100
+
+    core: try all srv protocols when not already set
+    
+    - patch to commit by Mihály Mészáros
+
+commit b21b5125c7c60775226a7a86dc411863477ed799
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Mon Dec 24 10:04:15 2012 +0100
+
+    registrar(k): restore the location contact xavp upon lookup
+
+commit e6ad428f6699621b7ee622984eeea3e3e2f6cb80
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Mon Dec 24 10:03:10 2012 +0100
+
+    usrloc(k): option to store xavp per contact
+    
+    - stored only in memory for the moment
+    - the xavp can contain a list of xavps
+    - new config parameter to specify the name of xavp
+
+commit 6f31c603d1e540b1cd7ca7e81648e024acbd1388
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Mon Dec 24 10:02:01 2012 +0100
+
+    core: extended xavp api
+    
+    - functions to add an avp last in a list or inserted at a specific
+      position, to extract an avp from top of the list
+
+commit be0f77ec7fa86f9387393609fbdffafd65a1afe3
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Sun Dec 23 19:32:03 2012 +0100
+
+    registrar(k): use only pre-existing branches in lookup_branches()
+
+commit c50a8ba36aee8ae53d66a8128300085934d1a3f0
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Sun Dec 23 17:19:21 2012 +0100
+
+    p_usrloc: clean memory in case of malloc error
+
+commit 7f7605bd38f76ab9adf1335b4a1de6fa40708486
+Author: Olle E. Johansson <[email protected]>
+Date:   Sun Dec 23 16:26:16 2012 +0100
+
+    Revert "Changing to kamcmd"
+    
+    This reverts commit 90432f0e672c5fb11b1e47b9655768bf20e45b89.
+
+commit 5c4bb10fc7a534b92b0dcd9c229ea1392da34cee
+Author: Olle E. Johansson <[email protected]>
+Date:   Sun Dec 23 10:22:56 2012 +0100
+
+    kamcmd changes
+
+commit 90432f0e672c5fb11b1e47b9655768bf20e45b89
+Author: Olle E. Johansson <[email protected]>
+Date:   Sun Dec 23 10:22:19 2012 +0100
+
+    Changing to kamcmd
+
+commit 9b745fbb0a065cf30b8069e950b4e6e9f2d8b20c
+Author: Olle E. Johansson <[email protected]>
+Date:   Sun Dec 23 10:17:36 2012 +0100
+
+    kamcmd Updating docs
 
-2006-09-16 00:10  mma
+commit 922e7f4a9a56b4c02b5fedb93bd3684b2c410881
+Author: Olle E. Johansson <[email protected]>
+Date:   Sun Dec 23 09:31:28 2012 +0100
 
-	* modules/avp/avp.c: FPARAM_STR is the correct switch case, if
-	  anybody needs FPARAM_STRING then use p->v.asciiz to get the value
-	  too
+    Change "sercmd" to "kamcmd" in module documentation files - README
 
-2006-09-15 18:04  andrei
+commit 334b6e7a2c0804a7ee4ce30761fc911a31682876
+Author: Olle E. Johansson <[email protected]>
+Date:   Sun Dec 23 09:05:50 2012 +0100
+
+    kamctl Fix typo that causes the "trusted" help to be printed twice and "address" zero times
+
+commit 3eeaa5af9107f3795aee714ac47380cfb2ef45c3
+Author: Olle E. Johansson <[email protected]>
+Date:   Sun Dec 23 09:01:01 2012 +0100
+
+    kamctl Change "sercmd" to "kamcmd" in help texts
+
+commit 95805adb74fbc17fe38f89bf9ec8dd57f31e9d91
+Merge: 35683cf 9b2cb40
+Author: Olle E. Johansson <[email protected]>
+Date:   Sun Dec 23 08:49:50 2012 +0100
+
+    Merge branch 'master' of ssh://git.sip-router.org/sip-router
+    
+    Do not read this message. It's not needed. Just a stupid swede making mistakes.
+    Do not read this message. It's not needed. Just a stupid swede making mistakes.
+    Do not read this message. It's not needed. Just a stupid swede making mistakes.
+    Do not read this message. It's not needed. Just a stupid swede making mistakes.
+    
+    * 'master' of ssh://git.sip-router.org/sip-router:
+      modules_s/permissions: moved to obsolete folder
+      modules_s/textops: moved to obsolete folder
+      textopsx: added functions that operate on header value
+      modules_k/domain: bind_domain api function takes one param
+      modules_k/htable: removed unused variable
+      nathelper(k): new test 128 to check port in contact against source port
+      modules_s/nathelper: moved to obsolete folder
+      nathelper(k): added the select for rewriting the contact
+      core: proper pv buffer reinitialization
+      dialog(k): Reworked dlg_set_timeout_by_profile() code to change dialog timeouts outside of a profile lock.
+      modules/app_lua: Updated app_lua to support URI lookup in registrar
+      modules_k/registrar: Extended C-API to include a URI lookup
+      pkg/kamailio/(centos|fedora): Added more modules moved from modules_s to modules to the build
+
+commit 35683cfb90e68719205bef377a8bedad3e633f9d
+Author: Olle E. Johansson <[email protected]>
+Date:   Sun Dec 23 08:49:23 2012 +0100
+
+    Fixing compiler warnings
+
+commit b6b3acf9e2cf3283684773df325eb8ac6d2226c3
+Merge: 0c3d25f 9b2cb40
+Author: Peter Dunkley <[email protected]>
+Date:   Sat Dec 22 17:03:25 2012 +0000
+
+    Merge branch 'master' into outbound
+    
+    * master:
+      modules_s/permissions: moved to obsolete folder
+      modules_s/textops: moved to obsolete folder
+      textopsx: added functions that operate on header value
+
+commit 0c3d25f4fba43ee66a6f1edf88b1abfde97668c8
+Author: Peter Dunkley <[email protected]>
+Date:   Sat Dec 22 17:02:01 2012 +0000
+
+    modules_k/outbound: Improved flow token encode/decode.  Now should work properly with IPv4 and IPv6
+
+commit 9b2cb40fdb0660b61e9d9bb2086100c54ac7066e
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Sat Dec 22 14:29:55 2012 +0100
+
+    modules_s/permissions: moved to obsolete folder
+    
+    - use the other module with same name
+
+commit 29b41dfd405f5e7de607b97d14f9481d4d91babb
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Sat Dec 22 14:28:23 2012 +0100
+
+    modules_s/textops: moved to obsolete folder
+    
+    - use the other textops module or textopsx
+    - use config variable format ($varname(x)), instead of former xlog style
+      with %
+
+commit ba6119e3b4d84d8ba656c2a44fdafe3a2c31595f
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Sat Dec 22 14:26:18 2012 +0100
+
+    textopsx: added functions that operate on header value
+    
+    - imported from modules_s/texops and replaced the xlog-% style with
+      pvar-$ style
+
+commit 1db38af24d8808a9a2045c7bac25581199717a2b
+Author: Peter Dunkley <[email protected]>
+Date:   Sat Dec 22 13:07:58 2012 +0000
+
+    modules_k/outbound: Filled in functions to encode and decode flow tokens
+
+commit 83d07c9a0f883ba08f863103127b96893d1bc92b
+Merge: 68e07fa 1a09692
+Author: Peter Dunkley <[email protected]>
+Date:   Sat Dec 22 11:04:04 2012 +0000
+
+    Merge branch 'master' into outbound
+    
+    * master:
+      modules_k/domain: bind_domain api function takes one param
+      modules_k/htable: removed unused variable
+      nathelper(k): new test 128 to check port in contact against source port
+      modules_s/nathelper: moved to obsolete folder
+      nathelper(k): added the select for rewriting the contact
+      core: proper pv buffer reinitialization
+      dialog(k): Reworked dlg_set_timeout_by_profile() code to change dialog timeouts outside of a profile lock.
+
+commit 1a09692be74ef8c4f0dc56801bce6a2fb351536d
+Author: Juha Heinanen <[email protected]>
+Date:   Sat Dec 22 12:26:29 2012 +0200
+
+    modules_k/domain: bind_domain api function takes one param
+
+commit a60a7ca8010a66703a90768b42ae16342c50107d
+Author: Juha Heinanen <[email protected]>
+Date:   Sat Dec 22 11:33:13 2012 +0200
+
+    modules_k/htable: removed unused variable
+
+commit bf3acaf0895d900c15e3455cba225226f3debf62
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Sat Dec 22 09:42:35 2012 +0100
+
+    nathelper(k): new test 128 to check port in contact against source port
+    
+    - used for nat_uac_test()
+    - imported from ser flavour
+
+commit f7ef4b3d54dd462648330dfa4522d067376178ce
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Sat Dec 22 09:28:18 2012 +0100
+
+    modules_s/nathelper: moved to obsolete folder
+    
+    - use the other module with same name
+    - pings from config can be done with uac module, uac_req_send()
+
+commit b2ef844bfdcce46d6a1b88f60ff2fe4d1de30855
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Sat Dec 22 09:24:11 2012 +0100
+
+    nathelper(k): added the select for rewriting the contact
+    
+    - exsting in the ser flavour version
+
+commit d52371ec0a6ce6f1fff4f4fc91df3a89e5983228
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Sat Dec 22 08:32:31 2012 +0100
+
+    core: proper pv buffer reinitialization
+    
+    - reported by Olle Johansson, FS#259
+
+commit c9957ad5bf1b672a2661f4faeb9b781820a1f636
+Author: Alex Balashov <[email protected]>
+Date:   Fri Dec 21 21:08:39 2012 -0500
+
+    dialog(k): Reworked dlg_set_timeout_by_profile() code to change dialog
+    timeouts outside of a profile lock.
+    
+    This is in order to avoid deadlock complications arising from lock/ref
+    count operations upstream.  It appears that when update_dlg_timer()
+    fails, it does not relinquish control back to the calling function, which
+    created problems with unreleased profile locks.
+
+commit 68e07faf94e6aa8664f3d7116026d136062136b1
+Author: Peter Dunkley <[email protected]>
+Date:   Fri Dec 21 23:38:28 2012 +0000
+
+    modules_k/outbound: Removed nat_test from here
+    
+    - Will just use the one from nathelper when required.
+
+commit 064120b137e05e3799399664dbc48d0d1d5ba01b
+Merge: 7b31e98 72bee68
+Author: Peter Dunkley <[email protected]>
+Date:   Fri Dec 21 23:34:35 2012 +0000
+
+    Merge branch 'master' into outbound
+    
+    * master: (592 commits)
+      modules/app_lua: Updated app_lua to support URI lookup in registrar
+      modules_k/registrar: Extended C-API to include a URI lookup
+      pkg/kamailio/(centos|fedora): Added more modules moved from modules_s to modules to the build
+      db_text More instructive error message
+      modules_s/maxfwd: moved to obsolete folder
+      maxfwd(k): max_limit module param can be changed at runtime
+      uid_avp_db: fixed include from uid_domain module
+      app_python: fixed complilation warnings [-Wformat]
+      modules_s/uid_uri_db: moved to modules folder
+      modules_s/uid_domain: moved to modules folder
+      modules_s/uid_gflags: moved to modules folder
+      modules_s/uid_avp_db: moved to modules folder
+      modules_s/uid_auth_db: moved to modules folder
+      modules_s/pike: moved to obsolete folder
+      modules_s/uri_db: renamed to uid_uri_db
+      modules_s/gflags: renamed to uid_gflags
+      modules_s/domain: renamed to uid_domain
+      uid_auth_db: updated doc file to the new name
+      modules_s/avp_db: renamed to uid_avp_db
+      modues_s/auth_db: renamed to uid_auth_db
+      ...
+    
+    Conflicts:
+    	modules_k/nathelper/nathelper.c
+    	pkg/kamailio/centos/6/kamailio-build.appl
+    	pkg/kamailio/centos/6/kamailio.appl
+    	pkg/kamailio/fedora/16/kamailio-build.appl
+    	pkg/kamailio/fedora/16/kamailio.appl
+    	pkg/kamailio/fedora/16/kamailio.spec
+    	pkg/kamailio/fedora/17/kamailio-build.appl
+    	pkg/kamailio/fedora/17/kamailio.appl
+
+commit 72bee685f57ccd0637e1bc97093c9e5731c2d40f
+Author: Peter Dunkley <[email protected]>
+Date:   Fri Dec 21 23:10:05 2012 +0000
+
+    modules/app_lua: Updated app_lua to support URI lookup in registrar
+    
+    - Enhancement added by Hugh Waite @ Crocodile RCS
+
+commit 18a4a8a33939edc6e5d74fdc21c33d9835a62f61
+Author: Peter Dunkley <[email protected]>
+Date:   Fri Dec 21 23:09:23 2012 +0000
+
+    modules_k/registrar: Extended C-API to include a URI lookup
+    
+    - Enhancement added by Hugh Waite @ Crocodile RCS
+
+commit 8030130f6b5819804dbe4d563abe197e13d1a54f
+Author: Peter Dunkley <[email protected]>
+Date:   Fri Dec 21 22:52:55 2012 +0000
+
+    pkg/kamailio/(centos|fedora): Added more modules moved from modules_s to modules to the build
+
+commit 242527fe5b94902ed4e20adad054c16f1732d9fd
+Author: Olle E. Johansson <[email protected]>
+Date:   Fri Dec 21 23:11:40 2012 +0100
+
+    db_text More instructive error message
+
+commit 3852f46576eab51198ebd089e555bf67d3b46eb0
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Fri Dec 21 22:49:08 2012 +0100
+
+    modules_s/maxfwd: moved to obsolete folder
+
+commit 9a9cbdc8257e1782f74aa393d7c0b2f4d7888f98
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Fri Dec 21 22:43:54 2012 +0100
+
+    maxfwd(k): max_limit module param can be changed at runtime
+    
+    - changed to use cfg param reload framework
+    - added aliases to existing functions to make them compatible with ser
+      flavour
+    - config functions can take variables as parameters
+
+commit 5374337d3b3504247b5846a37c998a4f1c61d4d8
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Fri Dec 21 22:43:14 2012 +0100
+
+    uid_avp_db: fixed include from uid_domain module
+
+commit 221da0463d31534c0103dc87931324ae0b3acc72
+Author: Konstantin Mosesov <[email protected]>
+Date:   Fri Dec 21 22:21:42 2012 +0200
 
-	* Makefile.defs, modules/tm/t_funcs.c, modules/tm/t_fwd.c,
-	  modules/tm/tm_load.h:
-	  - cancel relayed from failure route deadlock fix ported from
-	  stable (e2e_cancel uses now t_reply_unsafe when called from the
-	  failure_route)
+    app_python: fixed complilation warnings [-Wformat]
+
+commit 9b5c2fec96a37069af9ede4ddc30e6303c1113a2
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Fri Dec 21 20:52:03 2012 +0100
+
+    modules_s/uid_uri_db: moved to modules folder
+
+commit 3f535ff25cb67ef4f0f12ca1d8230fadaa3a832e
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Fri Dec 21 20:51:33 2012 +0100
+
+    modules_s/uid_domain: moved to modules folder
 
-2006-09-15 12:37  andrei
+commit 9f6d4d0797074ec37a629af974df97bfdafda68a
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Fri Dec 21 20:50:15 2012 +0100
 
-	* Makefile.defs, NEWS, action.c, cfg.lex, cfg.y, clist.h,
-	  core_cmd.c, dns_cache.c, dns_cache.h, dns_wrappers.h,
-	  dst_blacklist.c, dst_blacklist.h, error.h, forward.c, forward.h,
-	  globals.h, main.c, msg_translator.h, resolve.c, resolve.h,
-	  socket_info.c, socket_info.h, ut.h, version.h, doc/dns.txt,
-	  doc/dst_blacklist.txt, modules/enum/enum.c, modules/tm/h_table.c,
-	  modules/tm/h_table.h, modules/tm/t_funcs.c, modules/tm/t_fwd.c,
-	  modules/tm/t_fwd.h, modules/tm/t_msgbuilder.c,
-	  modules/tm/t_reply.c, modules/tm/timer.c, modules/tm/uac.c,
-	  modules/tm/ut.h, utils/sercmd/sercmd.c:
-	  - dns cache support (ser will cache both positive and negative
-	  responses if	turned on, see doc/dns.txt for more details &
-	  config options) - dns failover support: when a name resolves to
-	  more then 1 ip (either   multiple A or AAAA records or multiple
-	  SRVs) and sending to the first    ip fails, ser will retry with
-	  the others. By default is off. See   doc/dns.txt for more
-	  details/config options a.s.o.  - destination blacklist: when
-	  sending to some destination (defined by   ip:port and protocol)
-	  fails, ser will temporarily add this destination    in a
-	  blacklist giving future sends the opportunity of immediately
-	  failing. Destination are also added to the blacklist on tm invite
-	     timeouts (when no response is received in the fr_timer
-	  interval).	By default is off, see doc/dst_blacklist.txt form
-	  more details/config	  options.  - small makefile fixes (in
-	  mode=debug) - resolver get_record api changes (updated enum)
+    modules_s/uid_gflags: moved to modules folder
 
-	  WARNING: there are a lot of changes in tm
+commit 1316bb1cd42cf34f03f9072037d6a138e2e10db4
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Fri Dec 21 20:49:36 2012 +0100
 
-2006-09-14 16:16  janakj
+    modules_s/uid_avp_db: moved to modules folder
 
-	* modules/domain/domain_rpc.c: - domain.reload does not return 400
-	  when cache is disabled
+commit b092e88730367444559408100a2c8d159259d6ed
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Fri Dec 21 20:49:02 2012 +0100
 
-2006-09-14 16:10  janakj
+    modules_s/uid_auth_db: moved to modules folder
 
-	* modules/domain/: domain.c, domain.h, domain_mod.c, domain_rpc.c:
-	  - make lookup_domain work also without memory cache
+commit 1183a546bd287c90cc485573df585fe9f624a7ab
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Fri Dec 21 20:47:53 2012 +0100
 
-2006-09-07 18:46  calrissian
+    modules_s/pike: moved to obsolete folder
+    
+    - use the other module with same name
 
-	* modules/tm/t_reply.c: surpress error message (480 was not
-	  expected as a localy generated response)
+commit b79303dbfd781de9218f73b98ca72f25cf1d1054
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Fri Dec 21 19:51:19 2012 +0100
 
-2006-09-06 00:49  tma0
+    modules_s/uri_db: renamed to uid_uri_db
 
-	* select_core.c: - fixed bug in nameaddr.uri: <sip:abc@123>;param
-	  is equal to sip:abc@123;param, i.e. remove params from uri when
-	  no <
+commit bc780f6769581fd6260ba8d3f207ca2dd305970d
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Fri Dec 21 19:43:53 2012 +0100
 
-2006-09-05 16:55  kubartv
+    modules_s/gflags: renamed to uid_gflags
+    
+    - script flag functions got an 'u' in name to allow usage together with
+      cfgutils module
 
-	* db/schema/contact_attrs.xml: table for separate contact AVPs
-	  storage
+commit e4eb153efa0e2d0c6e1478fbe664df87aa93c7ec
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Fri Dec 21 19:38:51 2012 +0100
 
-2006-09-05 16:54  calrissian
+    modules_s/domain: renamed to uid_domain
 
-	* modules/rr/loose.c: Fixed wrong removale of a Route header in
-	  case of strict to loose route convertion if the routes are stored
-	  in seperate Route HFs (same bug as on stable).
+commit 6e8d115d48193c07977bf07638f237ff8518cf0e
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Fri Dec 21 18:45:25 2012 +0100
 
-2006-09-05 16:53  kubartv
+    uid_auth_db: updated doc file to the new name
 
-	* modules/usrloc/: reg_avps.c, reg_avps.h, reg_avps_db.c,
-	  ucontact.c, ucontact.h, udomain.c, ul_mod.c, urecord.c: Added
-	  "contact AVPs" - AVPs stored with contact during registration.
+commit a5daf1797ff4edbb456d0d0b70138ce422d65d86
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Fri Dec 21 18:42:26 2012 +0100
 
-	  Before call to save() function you have to add a flag (given to
-	  usrloc module as parameter) to AVP - AVPs with this flag are
-	  saved with contact and may be restored later (for example within
-	  onbranch_route) by call to read_reg_avps(...). If DB is used,
-	  such AVPs can be stored within contact table (serialized) or into
-	  separate table (contact_attrs).
+    modules_s/avp_db: renamed to uid_avp_db
 
-	  Example:
+commit 0440bae1fd24700d83bd4728f662deea250ed716
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Fri Dec 21 18:35:19 2012 +0100
 
-	  ...  modparam("usrloc", "reg_avp_flag", "regavps") ...
+    modues_s/auth_db: renamed to uid_auth_db
+    
+    - the module is using uid based database schema
 
-	  avpflags regavps;
+commit 2eb7894a6d2b9ca0e62eb83865d5cf955366ce9c
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Fri Dec 21 18:02:21 2012 +0100
 
-	  route {
+    modules_s/print_lib: moved to modules folder
 
-		  ...
+commit bd263eea88e942a077dd0ef70138d1bbc704219f
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Fri Dec 21 18:01:51 2012 +0100
 
-		  if (method=="REGISTER") {
-			  $t.a = "whatever";
-			  setavpflag("$t.a","regavps");
+    modules_s/print: moved to modules folder
 
-			  save("location"); # t.a will be stored here
+commit 8e806d4cb02049ffb447e3781d0ce864bb2bffb7
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Fri Dec 21 17:57:12 2012 +0100
 
-			  break;
-		  };
+    modules_s/print_lib: added readme and xml docbook files
 
-		  t_on_branch("1");
+commit 306459af5d4698e598a6842668faf701fe9b85f3
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Fri Dec 21 17:42:46 2012 +0100
 
-		  if (!lookup("location")) {
-			  sl_send_reply("404", "Not Found");
-			  break;
-		  };
-		  route(1);
-	  }
+    modules_s/rr: moved to obsolete folder
+    
+    - k version offers the ability to work behind nat and preset route set
+    - adding params to record-route headers can be done with add_rr_params()
+      which has dynamic parameter
+    - accessing the route parameters can be done via script variables
 
-	  route[1] {	  if (!t_relay()) {		  sl_reply_error();
-		}; }
+commit b3773e4ae594fcff9de95a869695d2441d9628b8
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Fri Dec 21 13:28:44 2012 +0100
 
-	  branch_route[1] {	  read_reg_avps("location", "$t.uid");
-	  xlog("L_ERR", "loaded a = %$t.a"); }
+    modules_s/cpl-c: moved to obsolete list
+    
+    - use the other cpl-c module
 
-2006-09-05 12:01  tirpi
+commit 69a7abb8703fab795071130b5f4cd7412124aab2
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Fri Dec 21 12:39:00 2012 +0100
 
-	* modules/lcr/: README, lcr_mod.c: - fr_inv_timer can be
-	  overwritten by AVP values - Q_FLAG definition has been changed --
-	  custom flag is used now - DEF_FR_INV_TIMER_AVP is set to the
-	  default value of tm module
+    cpl-c: added an optional parameter to cpl_run_scritp() to provide the URI
+    
+    - the parameter will be used instead of taking the URI from headers or
+      R-URI
 
-2006-09-04 09:53  kubartv
+commit a403bd541bbca60fff6ab24a62c7bd2b31c6707e
+Author: Peter Dunkley <[email protected]>
+Date:   Fri Dec 21 10:29:54 2012 +0000
 
-	* modules/tm/dlg.c: corrected possible memory leak when there are
-	  more routes within one Record-Route header field
+    pkg/kamailio/(centos|fedora): Added moved modules from modules_s to the build
+    
+    - db2_ldap, db2_ops, and timer
 
-2006-09-01 12:51  tma0
+commit c2e4b20ecc2598bf5a440a50762e9dbd6a2ed61c
+Merge: 2930038 35a427c
+Author: Olle E. Johansson <[email protected]>
+Date:   Fri Dec 21 11:19:33 2012 +0100
 
-	* daemonize.c, dprint.c, dprint.h: - reverted LOG_NONE
-	  syslog_facility enabling no-syslog feature
+    Stupid Merge branch 'master' of ssh://git.sip-router.org/sip-router
+    
+    * 'master' of ssh://git.sip-router.org/sip-router:
+      Makefile: db2_ldap added to excluded modules list
 
-2006-09-01 10:53  kubartv
+commit 2930038a7e4ccf9abb1fe2465d1e59f3dfe9012f
+Author: Olle E. Johansson <[email protected]>
+Date:   Fri Dec 21 11:18:55 2012 +0100
 
-	* lib/cds/: ChangeLog, rr_serialize.c, serialize.c, serialize.h,
-	  sstr.c, sstr.h:  - corrected memory leaks in route serialization
-	   - better str_dup for debugging
+    db_text: Minor correction in error message.
+    
+    Tell the user what's wrong, not just that it's wrong.
 
-2006-08-31 15:18  tirpi
+commit 35a427c6d452477478228885e1b2a2104633ce5d
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Fri Dec 21 11:10:20 2012 +0100
 
-	* usr_avp.c: get_avp_val() caused crash with int AVP name and
-	  string type
+    Makefile: db2_ldap added to excluded modules list
 
-2006-08-31 10:38  tma0
+commit 9b9562a2bdc71e350702e21e25129444e6b805aa
+Author: Olle E. Johansson <[email protected]>
+Date:   Fri Dec 21 10:07:52 2012 +0100
 
-	* modules/textops/textops.c: - dynamic memory allocation for multi
-	  value instaed of preallocated static buffer
+    htable Minor correction to RPC docs
 
-2006-08-30 19:12  tma0
+commit 6ff072a307ddf0735ca9c38c1bc0c3ebdbc57a2b
+Author: Olle E. Johansson <[email protected]>
+Date:   Fri Dec 21 09:40:06 2012 +0100
 
-	* modules/timer/timer.c: - added missuing reset_static_buffer()
-	  before run_actions
+    htable Add RPC command for listing one item
+    
+    Also, add documentation for existing RPC commands.
 
-2006-08-30 15:31  tma0
+commit b6e2034d84dcb77bfda256af0de0c434cc83dbb7
+Author: Olle E. Johansson <[email protected]>
+Date:   Fri Dec 21 09:05:15 2012 +0100
 
-	* modules/eval/: README, eval.c: - support for @select as parameter
-	  of eval_xxxx() - get_static_buffer() used
+    pike: Add error on bad argument
+    
+    Reported by Ovidiu Sas on the sr-dev list. Bug ported from modules_s/pike :-)
 
-2006-08-30 14:54  tma0
+commit 7f532c2994a824c33c2e9e2348a10df734c1d3a7
+Author: Olle E. Johansson <[email protected]>
+Date:   Thu Dec 20 20:59:59 2012 +0100
 
-	* modules/textops/textops.c: - dynamic buffer allocation for string
-	  evaluated by xl_print
+    sl Minor README updates (file name changes)
 
-2006-08-25 17:27  tma0
+commit 6c8c42c92de26912c3c15007114967deca6bdc89
+Author: Olle E. Johansson <[email protected]>
+Date:   Thu Dec 20 20:57:07 2012 +0100
 
-	* daemonize.c, dprint.c, dprint.h: -added support for fake LOG_NONE
-	  syslog facility that disables syslogging completely
+    mangler: Minor doc update
 
-2006-08-25 16:04  andrei
+commit d36d4de28ad52763ef4e637393997bca44dc6fea
+Author: Olle E. Johansson <[email protected]>
+Date:   Thu Dec 20 20:56:17 2012 +0100
 
-	* msg_translator.c:  - fixed set_advertised_port
+    sanity  Minor README updates
 
-2006-08-24 00:36  tma0
+commit cbdadf3bff04e7837698ad84466fea2aed39b9c9
+Author: Olle E. Johansson <[email protected]>
+Date:   Thu Dec 20 20:48:19 2012 +0100
 
-	* modules/: eval/eval.c, textops/textops.c: - removed stripping of
-	  quotes in find_next_value
+    prefix_route doc file name changes
 
-2006-08-22 17:19  tirpi
+commit 75e18bc92fedc4d5a4ab0599ad16526928523b41
+Author: Olle E. Johansson <[email protected]>
+Date:   Thu Dec 20 20:45:40 2012 +0100
 
-	* modules/permissions/README: readme updated with the ipmatch
-	  functions and with some new module parameters
+    mangler Minor README edits
 
-2006-08-22 14:46  tirpi
+commit 0156d9e3e46e592c951acbbe8924840b3ca7860f
+Author: Olle E. Johansson <[email protected]>
+Date:   Thu Dec 20 20:40:19 2012 +0100
 
-	* scripts/dbtext/ser_db/ipmatch: missing file added
+    malloc_test Minor README edits
 
-2006-08-22 14:44  tirpi
+commit 326772a1524e3ad6e7c5927cf6edee1f85bc5a5b
+Author: Olle E. Johansson <[email protected]>
+Date:   Thu Dec 20 20:37:09 2012 +0100
 
-	* db/schema/ipmatch.xml, db/schema/ser.xml,
-	  scripts/dbtext/ser_db/rls_subscription,
-	  scripts/dbtext/ser_db/uri, scripts/dbtext/ser_db/uri_attrs,
-	  scripts/mysql/my_create.sql, scripts/oracle/or_create.sql,
-	  scripts/postgres/pg_create.sql: ipmatch table added to database
-	  schema definition DB scripts are re-generated
+    db_flatstore Minor README edits
 
-2006-08-22 10:51  tirpi
+commit c060369e85e279c3eba8fe5caddc3be7a860d512
+Author: Olle E. Johansson <[email protected]>
+Date:   Thu Dec 20 20:31:50 2012 +0100
 
-	* modules/permissions/: im_db.c, im_db.h, im_hash.c, im_hash.h,
-	  im_locks.c, im_locks.h, im_rpc.c, im_rpc.h, ipmatch.c, ipmatch.h,
-	  permissions.c, permissions.h, permissions_rpc.h, trusted.c,
-	  trusted.h, trusted_hash.c, trusted_hash.h, trusted_rpc.c,
-	  trusted_rpc.h: ipmatch functions are implemented
+    blst Minor README updates
 
-	  The functions can be used to catch messages coming from or going
-	  to specific SIP network elements, for example gateways, peering
-	  partners, or load balancers. (Requests which are not permitted to
-	  reach a gateway must be dropped before sending out -- it can
-	  easily happen when a user registers the gateway's IP address, or
-	  forwards the call to it.)
+commit 98b4fd46fa5fb42422346793cad5406220f3992e
+Author: Olle E. Johansson <[email protected]>
+Date:   Thu Dec 20 20:28:34 2012 +0100
 
-2006-08-14 16:41  tirpi
+    avp Minor README xml file changes
 
-	* modules/permissions/: permissions.c, permissions.h, trusted.c,
-	  trusted.h, trusted_rpc.c: child processes do not keep the
-	  database connection open in case of cache mode
+commit c9497bf0653ffca09bd180ea01d7089a14f8f0e2
+Author: Olle E. Johansson <[email protected]>
+Date:   Thu Dec 20 20:26:12 2012 +0100
 
-2006-08-14 14:40  tma0
+    auth_identity README updates
 
-	* modules/db_ops/db_ops.c: - fixed problem in mod_init when
-	  mod_param's query has not been fixed properly
+commit bcb10c2952cbcd5e3aa500815b11d7cf45de47a2
+Author: Olle E. Johansson <[email protected]>
+Date:   Thu Dec 20 20:20:58 2012 +0100
 
-2006-08-11 15:48  tirpi
+    auth Documentation filename changes
 
-	* modules/permissions/: allow_files.c, allow_files.h: forgotten
-	  files are added (functions related to file operations are moved
-	  here)
+commit 78e1f3667d8fa553abde60d9078f395b9c4dcb9a
+Author: Olle E. Johansson <[email protected]>
+Date:   Thu Dec 20 20:18:34 2012 +0100
 
-2006-08-11 15:46  tirpi
+    cfg_db README edits
 
-	* modules/permissions/: parse_config.c, parse_config.h,
-	  permissions.c, permissions.h: - memory is not allocated for the
-	  file container array if none of the file operation functions are
-	  used (set default_allow_file and default_deny_file parameters to
-	  "") - module init failes if there is a missing file and
-	  safe_file_load is 1 - module init failes in case of parsing error
-	  - some fixup function cleanup
+commit 88e55397a3036880d2af43aa44fda473c9284011
+Author: Olle E. Johansson <[email protected]>
+Date:   Thu Dec 20 20:13:37 2012 +0100
 
-2006-08-10 14:21  kubartv
+    pike: README edits
 
-	* lib/cds/: ChangeLog, hash_table.c, rr_serialize.c,
-	  rr_serialize.h: added functions for rr_t
-	  serialization/deserialization (will be used from dialog module)
+commit e0ef312d376d7b7d3d7e8b8c522544e0fae865bd
+Author: Olle E. Johansson <[email protected]>
+Date:   Thu Dec 20 20:12:42 2012 +0100
 
-2006-08-10 12:49  mma
+    iptrtpproxy Minor README edits
 
-	* select_buf.c: static buffer realloc correction
+commit e175629e7522350991bc4325f5141ecb68b05c3f
+Author: Olle E. Johansson <[email protected]>
+Date:   Thu Dec 20 20:11:59 2012 +0100
 
-2006-08-09 21:18  tma0
+    xmlrpc Documentation minor edits.
 
-	* modules/nathelper/nathelper.c: - fix_nated_sdp(8) append
-	  a=direction:passive to SDP body
+commit bf42fb7b6deef7926816c5ec8f9a4d0bf7393aed
+Author: Olle E. Johansson <[email protected]>
+Date:   Thu Dec 20 20:07:58 2012 +0100
 
-2006-08-09 20:52  tma0
+    xmlops: Move to "book" and rename files to avoid collissions
 
-	* modules/nathelper/nathelper.c: - added support for
-	  get_str_fparam() for force_rtp_proxy(), unforce_rtp_proxy()
+commit bb5527557c9d54f4ba63ddd491e4487b3fa0b063
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Thu Dec 20 19:25:10 2012 +0100
 
-2006-08-09 11:36  kubartv
+    db2_ldap: defined -DLDAP_DEPRECATED to enable the old ldap api
+    
+    - reported by Ovidiu Sas
 
-	* modules/tm/h_table.c: corrected memory leak (uri AVPs were not
-	  released)
+commit 2eee368b72c48e36af8af0f17fb29dc5d6310b08
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Thu Dec 20 19:13:13 2012 +0100
 
-2006-08-04 20:52  tma0
+    core: added prototype of no_naptr_srv_sip_resolvehost() to resolv.h
+    
+    - fix compile warning, reported by Ovidiu Sas
 
-	* cfg.y: -fixed typo in drop command
+commit e964ce8f377cd368b1326ef42bc9bef36d192179
+Merge: 3ad60fe 80697ca
+Author: Olle E. Johansson <[email protected]>
+Date:   Thu Dec 20 18:52:33 2012 +0100
 
-2006-08-03 14:07  tirpi
+    Merge branch 'master' of ssh://git.sip-router.org/sip-router
+    
+    Arrggh. Need to clean up my working directory before xmas.
+    * 'master' of ssh://git.sip-router.org/sip-router:
+      modules_s/timer: moved to modules folder
 
-	* modules/avp/avp.c: fixup function returns -1 if AVP parameter
-	  does not start with $ sign fix_param does not create fparam_t
-	  structure and SER crashes otherwise
+commit 3ad60fe1e229b3c1fc3a854d57eac223094294ad
+Author: Olle E. Johansson <[email protected]>
+Date:   Thu Dec 20 18:51:52 2012 +0100
 
-2006-08-02 15:23  kubartv
+    pike: Import pike.top rpc call from modules_s/pike
+    
+    Thanks to Ovidiu for pointers in the right direction.
 
-	* db/schema/rls_subscription.xml, lib/xcap/ChangeLog,
-	  lib/xcap/xcap_client.c, lib/xcap/xcap_client.h: corrected
-	  inconsistence in RLS database and added xcap_query_params_t
-	  serialization needed in RLS DB store/load functions
+commit 80697ca8ab8fd06bb348fd9d9b17d8db39f9e274
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Thu Dec 20 15:18:23 2012 +0100
 
-2006-08-02 14:56  rco
+    modules_s/timer: moved to modules folder
 
-	* db/schema/: uri.xml, uri_attrs.xml: added scheme column. This
-	  intended to store the URI scheme.
+commit 1c35849b76ea9257162d5977e839399027c9659b
+Author: Olle E. Johansson <[email protected]>
+Date:   Thu Dec 20 13:44:59 2012 +0100
 
-2006-08-02 11:20  janakj
+    uac: Add note about only using uac_replace once in the same request
 
-	* modules/options/: mod_options.c, mod_options.h: - fixed bug
-	  reported by Alexandr Dubovikov - additional cleanup/fixes applied
+commit b56e823ed8e7ac2f88d1020677f5e94546a91516
+Author: Mihály Mészáros <[email protected]>
+Date:   Sun Dec 16 13:03:18 2012 +0100
 
-2006-08-01 16:24  mma
+    core/dns: fix an issue when using it without dns cache
+    
+     - fixing an issue what caused that without dns cache we have to use a different function for srv resolution.
 
-	* modules/rr/: record.c, rr_mod.c, rr_mod.h: module RR now accepts
-	  add_username parameter as string FPARAM ("string", "$avp" or
-	  "@select")
+commit 61cae424125c4af11a69092cbf7b6870dbf26af0
+Author: Mihály Mészáros <[email protected]>
+Date:   Wed Dec 5 12:55:24 2012 +0100
 
-2006-07-30 20:47  mma
+    core: dns resolver patch bugfix
+    
+    - a small bug fixed.
+      Many thanks to Daniel ([email protected]) for reporting it.
 
-	* modules/db_ops/db_ops.c: Error message showed row_no instead of
-	  field_no, so unexplainable error message was thrown, like:
-	  6(12354) ERROR: db_ops: field (0) does not exist, num fields: 2
-	  6(12354) ERROR: db_ops: field (1) does not exist, num fields: 2
-	  6(12354) ERROR: db_ops: field (2) does not exist, num fields: 2
+commit 63ef5f0edcfebe86cffe7489f3524186ed3400d4
+Author: Mihály Mészáros <[email protected]>
+Date:   Mon Nov 12 16:02:48 2012 +0100
 
-2006-07-27 10:27  kubartv
+    core/dns: dns SRV lookup, if no NAPTR available
+    
+    - Resolving the first most preferred and available SRV record if no NAPTR found.
+      It reuse the dns protocol preference scores. Sort protocols based on this preference.
 
-	* modules/xcap/xcap_mod.c: forgotten commit (needed after previous
-	  changes in PA and libs)
+commit 7702ef8c2ec0fca97e11c621532bb9af3160dba7
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Thu Dec 20 12:25:15 2012 +0100
 
-2006-07-27 10:26  kubartv
+    modules_s/db2_ldap: moved to modules folder
 
-	* modules/rls/rl_subscription.c: corrected memleak
+commit bebb0665ac795ea234e329a8a5b785ce5678da62
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Thu Dec 20 12:21:39 2012 +0100
 
-2006-07-26 12:25  mma
+    modules_s/db2_ops: moved to modules directory
 
-	* modules/auth_db/authorize.c: Return result -1 (wrong credentials)
-	  when function checking response tells that.
+commit bdb2368e5abd6dad0b203b67676701e515d59ae8
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Wed Dec 19 21:23:50 2012 +0100
 
-2006-07-26 12:10  kubartv
+    modules_s/uri: moved to obsolete list
+    
+    - use siputils module instead
 
-	* modules/pa/ChangeLog, modules/pa/extension_elements.c,
-	  modules/pa/extension_elements.h, modules/pa/pa_mod.c,
-	  modules/pa/pa_mod.h, modules/pa/pdomain.c,
-	  modules/pa/pres_timer.c, modules/pa/presentity.c,
-	  modules/pa/presentity.h, modules/pa/publish.c, modules/pa/rpc.c,
-	  modules/pa/status_query.c, modules/pa/tuple.c,
-	  modules/pa/tuple_extensions.c, modules/pa/tuple_extensions.h,
-	  lib/cds/dbid.c, lib/cds/dbid.h, lib/presence/ChangeLog,
-	  lib/presence/lpidf.c, lib/presence/pidf.c,
-	  lib/presence/pres_doc.c, lib/presence/pres_doc.h,
-	  lib/presence/xpidf.c: first step in support of PIDF extensions
-	  (database support not finished yet, not tested)
+commit e6a8bc85079389314f86cc4141cf827ecabeaf4a
+Author: Olle E. Johansson <[email protected]>
+Date:   Thu Dec 20 08:56:56 2012 +0100
 
-2006-07-25 18:45  tma0
+    iptrtpproxy Documentation updates (SER => kamailio)
 
-	* modules/nathelper/nathelper.c: - fixed missing fixup_int_1 allign
+commit 5919b3b6c4078db7675c71d98f671feb58c68a2a
+Author: Olle E. Johansson <[email protected]>
+Date:   Thu Dec 20 08:46:24 2012 +0100
 
-2006-07-25 18:24  janakj
+    ctl Updating documentation
 
-	* modules/: auth/auth_mod.c, auth_db/authorize.c,
-	  registrar/reply.c, sanity/sanity.c: - warnings fixed
+commit 8b967b4b96765057bb0b8f62ee1dd5b04442b52d
+Author: Olle E. Johansson <[email protected]>
+Date:   Thu Dec 20 08:41:00 2012 +0100
 
-2006-07-25 18:11  janakj
+    counters Updating documentation to "book" from "section"
+    
+    Renaming files to avoid collission when aggregating documentation.
 
-	* modules/xmlrpc/xmlrpc.c: - parameters of xmlrpc_reply support
-	  avps and selects
+commit 6fd7eb7440e864df872a56ad9b2076614c08222e
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Wed Dec 19 21:11:56 2012 +0100
 
-2006-07-25 17:52  janakj
+    modules_s/acc_syslog: moved to obsolete list
+    
+    - use acc module instead
 
-	* modules/: tm/tm.c, sanity/sanity.c: - applied patch from Bogdan
-	  Pintea
+commit 12e1b5eab148559d00ce4461a7126e227ab7ae33
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Wed Dec 19 21:10:41 2012 +0100
 
-2006-07-25 17:46  janakj
+    modules_s/acc: moved to obsolete list
+    
+    - use acc module instead
 
-	* modules/registrar/: lookup.c, reg_mod.c, reply.h, save.c: -
-	  applied patch from Bogdan Pintea
+commit 7487c62ea79cdddb468f2090aeba39b1df0747cc
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Wed Dec 19 21:06:53 2012 +0100
 
-2006-07-25 17:32  janakj
+    modules_s/uri_radius: moved to obsolete list
+    
+    - use misc_radius module instead
 
-	* modules/exec/: exec.c, exec_mod.c: - warnings fixed
+commit 685f526aa6d5b171a6731cec5aa67a97e12da1fc
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Wed Dec 19 21:04:38 2012 +0100
 
-2006-07-25 17:30  janakj
+    modules_s/auth_radius: moved to obsolete list
+    
+    - use the other module with the same name
 
-	* modules/domain/domain_mod.c: - removed variables that are not
-	  needed anymore
+commit 38d126621a09b3a149bcc10e3d07a176ba84068b
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Wed Dec 19 21:02:49 2012 +0100
 
-2006-07-25 17:29  janakj
+    modules_s/avp_radius: moved to obsolete list
+    
+    - use misc_radius to fetch attributes per user from radous server
 
-	* modules/avp_db/avp_db.c: - removed variables that are not needed
-	  (reported by Bogdan)
+commit d7e1ff882bcca3369edd74a7540cf252ef08760c
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Wed Dec 19 21:01:11 2012 +0100
 
-2006-07-25 17:27  janakj
+    modules_s/acc_radius: moved to obsolete list
 
-	* modules/auth_db/authdb_mod.c: - removed unused variable (reported
-	  by Bogdan)
+commit 51cba8039863a92a5050b6932bb8a9155edcf39b
+Author: Alex Balashov <[email protected]>
+Date:   Wed Dec 19 13:23:09 2012 -0500
 
-2006-07-25 16:05  tma0
+    dialog(k): Fixed typo in loop in set_dlg_timeout_by_profile() so that
+    _all_ the dialogs actually get killed, not just the first one.
 
-	* modules/nathelper/nathelper.c: - increased max. contact length
-	  when rewriting contact
+commit 27e5fdc60110c4c89cee642317f5d92b7f0b734d
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Wed Dec 19 12:52:13 2012 +0100
 
-2006-07-25 15:43  janakj
+    kamailio-oob.cfg: new config file to collect more out-of-the-box use cases
+    
+    - the file can be used to add more complex routing logic and show how to
+      use various features of kamailio
+    - it should offload kamailio.cfg from getting too complex as a starting
+      point
 
-	* modules/auth_db/authdb_mod.c, modules/auth_db/authdb_mod.h,
-	  modules/auth_db/authorize.c, scripts/mysql/my_create.sql,
-	  db/schema/credentials.xml, modules/auth/api.c,
-	  modules/auth/api.h, modules/auth/auth_mod.c,
-	  modules/auth/auth_mod.h, modules/auth/challenge.c,
-	  modules/auth/challenge.h: - credentials table includes did column
-	  - authentication and reply sending decoupled, the new   way to
-	  perform digest authentication is:   if
-	  (!www_authenticate("@to.uri.host", "credentials")) {
-	  append_to_reply("%$digest_challenge");       sl_reply("401",
-	  "Unauthorized");	 drop;	 } - www_challenge and
-	  proxy_challenge deprecated (can be replaced	with
-	  append_to_reply and sl_reply - qop can be configured using
-	  modparam
+commit f1449adfb91727112e2a44f406e7de63965595d6
+Author: Juha Heinanen <[email protected]>
+Date:   Wed Dec 19 12:17:19 2012 +0200
 
-2006-07-25 13:45  janakj
+    modules/mediaproxy:  README fix and edits
+    
+    - AVPs are available in Kamailio reply routes without setting any tm param.
 
-	* modules/registrar/reg_mod.c: - added support for registered with
-	  2 parameters
+commit 70b3ea024d9eb42f974b4de37a555bcb384405e9
+Author: Peter Dunkley <[email protected]>
+Date:   Wed Dec 19 01:48:17 2012 +0000
 
-2006-07-25 07:46  kubartv
+    pkg/kamailio/fedora/17: Updated boxgrinder appliance
 
-	* lib/cds/dbid.c, lib/cds/dbid.h, lib/cds/sstr.h,
-	  lib/presence/lpidf.c, lib/presence/pidf.c,
-	  lib/presence/pres_doc.c, lib/presence/pres_doc.h,
-	  lib/presence/xpidf.c, lib/xcap/xcap_client.c,
-	  lib/xcap/xcap_client.h, modules/pa/ChangeLog, modules/pa/auth.c,
-	  modules/pa/notify.c, modules/pa/offline_winfo.c,
-	  modules/pa/pa_mod.c, modules/pa/pa_mod.h, modules/pa/pdomain.c,
-	  modules/pa/pres_notes.c, modules/pa/pres_notes.h,
-	  modules/pa/pres_timer.c, modules/pa/presentity.c,
-	  modules/pa/presentity.h, modules/pa/publish.c,
-	  modules/pa/publish.h, modules/pa/qsa_interface.c,
-	  modules/pa/qsa_interface.h, modules/pa/rpc.c,
-	  modules/pa/status_query.c, modules/pa/subscribe.c,
-	  modules/pa/subscribe.h, modules/pa/tuple.c, modules/pa/tuple.h,
-	  modules/pa/tuple_notes.c, modules/pa/tuple_notes.h,
-	  modules/pa/watcher.c, modules/pa/watcher.h,
-	  modules/pa/winfo_doc.c: PA module data structures change (based
-	  on structures from common libs now), PA code cleanup
+commit c5b67ce5965d37c4851b6c33b9020cf88a4b85f3
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Tue Dec 18 23:29:21 2012 +0100
 
-2006-07-24 18:43  janakj
+    modules_s/ldap: renamed to db2_ldap
+    
+    - it is a SRDBv2 API database driver
 
-	* parser/digest/digest_parser.c: - empty param means QOP_UNSPEC
+commit 3e3b0350cd5408822cb7c35aa83d1c3e305a98c1
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Tue Dec 18 23:23:38 2012 +0100
 
-2006-07-24 17:55  janakj
+    modules_s/db_ops: renamed to db2_ops
+    
+    - it implements only SRDBv2 API
 
-	* parser/digest/: digest_parser.c, digest_parser.h: - make qop
-	  parser available to the outside world
+commit c38b4361c35ce4bf2abcc6b2480d76ca3029abfd
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Tue Dec 18 23:11:26 2012 +0100
 
-2006-07-24 16:35  kubartv
+    modules_s/oracle: moved to obsolete folder
 
-	* modules/presence_b2b/: ChangeLog, euac_funcs.c,
-	  euac_state_machine.c, events_uac.c: fixed memory leak
+commit d1bf22612ce24f20ba360a5f1077fa5ce3c1e27e
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Tue Dec 18 23:05:10 2012 +0100
 
-2006-07-24 15:56  calrissian
+    modules_s/bdb: moved to obsolete folder
 
-	* modules/sanity/sanity.c: - fixed merge error in
-	  check_ruri_sip_version - alligned returned codes of check_digest
+commit 7f5d581b42139a16f6c3730ed9c54b1d36f6b58a
+Author: Ovidiu Sas <[email protected]>
+Date:   Mon Dec 17 15:17:28 2012 -0500
 
-2006-07-24 15:41  janakj
+    modules/db_cassandra: no need to link against kmi library
+     - no MI commands exported
 
-	* modules/sanity/doc/sanity.xml: - documentation updated
+commit 928dab69601e1bb56e3abbc81a1ed55d77e8b298
+Author: Ovidiu Sas <[email protected]>
+Date:   Mon Dec 17 15:06:49 2012 -0500
 
-2006-07-24 15:39  janakj
+    modules/db_flatstore: replace mi command flat_rotate with rpc command flatstore.k_rotate
 
-	* modules/sanity/: mod_sanity.c, mod_sanity.h, sanity.c, sanity.h:
-	  - SANITY_MAX_CHECKS written in a way that is easier to maintain -
-	  return value of sanity_check function changed - added sanity
-	  check of digest credentials (2048), it tests	 all digest
-	  credentials in the message - fixed some memory leaks (pkg_malloc
-	  not freed on an error) - some debugging statements enclosed in
-	  EXTRA_DEBUG otherwise   they would produce too much output -
-	  check SIP version length first before calling memcmp - "\r\n"
-	  replaced with CRFL - struct sip_uri allocated on the stack, there
-	  is no need   to allocate it using pkg_malloc
+commit 53b6903007caf13ea9543be6c545a4d9cd6d437f
+Author: Olle E. Johansson <[email protected]>
+Date:   Mon Dec 17 21:10:48 2012 +0100
 
-2006-07-24 15:21  calrissian
+    blst Update docbook XML to "book" from "section"
+    
+    Trying to standardize the documentation into one format
 
-	* modules/sanity/: mod_sanity.c, mod_sanity.h, sanity.c: - added
-	  Contact parsing to parse_uri check - changed log levels from
-	  error to warning - failed checks return now 0, which means
-	  processing the script   is stopped because the sanity module
-	  itself replied already
+commit 1f28ea63990f016a5828321f3514a029c5a2a18a
+Author: Olle E. Johansson <[email protected]>
+Date:   Mon Dec 17 20:58:57 2012 +0100
 
-2006-07-24 13:48  kubartv
+    avp Modifying docbook to "book"
 
-	* modules/tm/dlg.c: corrected possible memory leak when refreshing
-	  a dialog from response after refreshing it from non-initial
-	  request
+commit 1e0ee74dae6da3a962f46f8d3305368c0754d56d
+Author: Olle E. Johansson <[email protected]>
+Date:   Mon Dec 17 20:56:25 2012 +0100
 
-2006-07-24 12:08  janakj
+    auth_identity Moving to "book"
 
-	* scripts/postgres/pg_create.sql, db/schema/credentials.xml,
-	  scripts/dbtext/ser_db/credentials, scripts/mysql/my_create.sql,
-	  scripts/oracle/or_create.sql: - did column added
+commit f3f279234622c18ab847fc5ff0e8473f3cd23fd4
+Merge: 52a9f00 5519cae
+Author: Olle E. Johansson <[email protected]>
+Date:   Mon Dec 17 20:52:34 2012 +0100
 
-2006-07-24 12:07  janakj
+    Merge branch 'master' of ssh://git.sip-router.org/sip-router
+    
+    Sorry. Sorry.
+    
+    * 'master' of ssh://git.sip-router.org/sip-router:
+      modules_k/drouting: documentation updates for mi -> rpc command migration
 
-	* modules/avp_db/avp_db.c: - function prototype is now in domain
-	  module header
+commit 52a9f00806de700f1b0288ea22b388a27ab707c0
+Author: Olle E. Johansson <[email protected]>
+Date:   Mon Dec 17 20:52:03 2012 +0100
 
-2006-07-24 11:40  janakj
+    auth: Converting to book docbook format
 
-	* modules/rr/loose.c: - spurious debugging messages removed
+commit 0d41e1ba82c22a6e62f997add0a266ef4b2ed0ed
+Author: Olle E. Johansson <[email protected]>
+Date:   Mon Dec 17 20:42:47 2012 +0100
 
-2006-07-24 11:36  janakj
+    xprint: Change to docbook book, instead of section
 
-	* modules/rr/: loose.c, record.c, rr_mod.c, rr_mod.h: - check for
-	  domains also in domain module if present and used.
+commit 502675ecb60f6943ca4fa8480b057a4bfef9dc2b
+Author: Olle E. Johansson <[email protected]>
+Date:   Mon Dec 17 20:40:33 2012 +0100
 
-2006-07-24 11:36  janakj
+    xmlrpc: Modify docbook format to book and add title
 
-	* modules/domain/domain.h: - get_did function typedef
+commit 5519caedc2ebcfb44a660bcd13e4033116e24f50
+Author: Ovidiu Sas <[email protected]>
+Date:   Mon Dec 17 13:37:16 2012 -0500
 
-2006-07-21 17:01  janakj
+    modules_k/drouting: documentation updates for mi -> rpc command migration
 
-	* modules/registrar/: lookup.c, lookup.h: - added second parameter
-	  to registered (the same as in lookup)
+commit d4733ab7e27be0cf472db7157dcdbe6390e269b6
+Author: Ovidiu Sas <[email protected]>
+Date:   Mon Dec 17 13:04:42 2012 -0500
 
-2006-07-21 16:01  mma
+    drouting: mi commands migrated to rpc
 
-	* modules/registrar/save.c: - if save_noreply was called and error
-	  occured, really do not send any message, just report error
+commit 745e44e7555d0df789ecfae3b460650a43ecbf8c
+Author: Ovidiu Sas <[email protected]>
+Date:   Mon Dec 17 12:04:49 2012 -0500
 
-2006-07-20 17:22  janakj
+    module_k/db_text: making some error probes visible
 
-	* .cvsignore: - python stuff no more included
+commit b7f51d5d2b24063037ae18e82fb046b066cc52a0
+Author: Ovidiu Sas <[email protected]>
+Date:   Mon Dec 17 12:03:11 2012 -0500
 
-2006-07-20 17:12  janakj
+    modules_k/db_text: documentation updates for db_text.dump rpc command
 
-	* pkg/: opensuse/ser.init.SuSE, opensuse/ser.spec, suse/ser.init,
-	  suse/ser.spec: - opensuse/suse packaging stuff
+commit 82a03cb5af01c1275bc9a1664643cf3645c4b87a
+Author: Ovidiu Sas <[email protected]>
+Date:   Mon Dec 17 12:01:49 2012 -0500
 
-2006-07-20 17:05  janakj
+    modules_k/db_text: new rpc command 'db_text.dump'
+     - allows forcing a write back to disk for modified tables
 
-	* pkg/openbsd/: Makefile, pkg/DESCR, pkg/PLIST: - pkg list updated
-	  - master ftp updated - Andrei's email address updated
+commit 5ece7e315ee8d3c3529eed94179fcb4e08d41c66
+Author: Richard Fuchs <[email protected]>
+Date:   Mon Dec 17 11:56:24 2012 -0500
 
-2006-07-20 16:59  janakj
+    parser/digest: use next_sibling_hdr() instead of hand-rolling it
 
-	* pkg/netbsd/: DESCR, Makefile, PLIST: - pkg list updated - master
-	  ftp server updated - Andrei's email address updated
+commit 624a9bbf777a1c1d44400eec78911a9714872977
+Author: Richard Fuchs <[email protected]>
+Date:   Sun Dec 16 15:06:32 2012 -0500
 
-2006-07-20 16:51  janakj
+    parser/digest: Fix hunting for Auth header in rare cases
+    
+    Fix a bug where find_credentials() would fail to find the correct
+    Auth header when multiple headers are present, the one being looked
+    for isn't the first and the full message had been parsed already.
 
-	* pkg/freebsd/: Makefile, pkg-descr, pkg-plist: - pkg-list updated
-	  to reflect the current state of modoules - Andrei's email address
-	  updated - master FTP URL updated
+commit 3cfaf089c1472f1397580a365360579c671c7796
+Author: Ovidiu Sas <[email protected]>
+Date:   Fri Dec 14 13:55:39 2012 -0500
 
-2006-07-20 16:29  janakj
+    xhttp_pi: properly handle NULL values
 
-	* Makefile: - removed original packaging files - Makefile updated
-	  to use new location of files
+commit ec617a27352ba719184cf617bb564631d5152df5
+Author: Ovidiu Sas <[email protected]>
+Date:   Fri Dec 14 13:47:08 2012 -0500
 
-2006-07-20 16:17  janakj
+    xhttp_pi: fix query operation for db w/o fetch support (like db_text)
 
-	* pkg/: debian/changelog, debian/compat, debian/control,
-	  debian/copyright, debian/cron.d.ex, debian/ex.package.doc-base,
-	  debian/manpage.1.ex, debian/manpage.sgml.ex, debian/postinst,
-	  debian/postrm, debian/preinst.ex, debian/prerm.ex, debian/rules,
-	  debian/ser.examples, debian/ser.init, debian/shlibs.local,
-	  debian/watch, freebsd/000.ser.sh, freebsd/Makefile,
-	  freebsd/distinfo, freebsd/pkg-comment, freebsd/pkg-descr,
-	  freebsd/pkg-plist, gentoo/ser-0.8.10.ebuild,
-	  gentoo/ser-0.8.11.ebuild, gentoo/ser-0.8.12.ebuild,
-	  gentoo/ser-0.8.14.ebuild, gentoo/ser-0.8.9.ebuild,
-	  gentoo/ser.init, netbsd/COMMENT, netbsd/DESCR, netbsd/Makefile,
-	  netbsd/PLIST, netbsd/distinfo, openbsd/Makefile,
-	  openbsd/distinfo, openbsd/pkg/COMMENT, openbsd/pkg/DESCR,
-	  openbsd/pkg/PLIST, rpm/ser.init, rpm/ser.spec-4.1,
-	  rpm/ser.spec.fedora, solaris/pkginfo, solaris/prototype: - moved
-	  all packaging stuff to pkg subdirectory
+commit 7fc74e46a5d5b4e2b0cbbe5bdc1627e672867164
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Fri Dec 14 00:43:04 2012 +0100
 
-2006-07-20 15:02  kozlik
+    dialog(k): reset default value for optional parameter
+    
+    - some rpc transports set a static string for missing optional
+      parameters, causing invalid value
+    - dlg.bridge_dlg proper handling of optional parameters return code
 
-	* scripts/: mysql/my_create.sql, mysql/my_data.sql,
-	  oracle/or_create.sql, oracle/or_data.sql, oracle/or_drop.sql,
-	  postgres/pg_create.sql, postgres/pg_data.sql: recreated form XML
-	  files
+commit 840d23197e91c70f7b02072e144ec396f5f8f386
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Fri Dec 14 00:20:08 2012 +0100
 
-2006-07-20 14:59  kozlik
+    dialog(k): fixed dlg.end_dlg rpc command
+    
+    - missing of the optional paramter causes negative return code
 
-	* scripts/: mysql/ser_mysql.sh, postgres/ser_postgres.sh: fixed to
-	  use also xx_data.sql scripts
+commit c1fa174ddc4d499548bdc3d5f75e36125541ade9
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Thu Dec 13 22:52:39 2012 +0100
 
-2006-07-20 14:57  kozlik
+    modules_s/exec: moved to obsolete directory
 
-	* db/schema/: attr_types.xml, global_attrs.xml: - re-formated -
-	  'vendor-controlled' attributes added to rows
+commit dab6e5b5af4d7b98553ee620d2f9114d17592c9a
+Author: Andrew Mortensen <[email protected]>
+Date:   Thu Dec 13 16:10:31 2012 -0500
 
-2006-07-20 14:56  kozlik
+    sca: fix regression omitting call-info NOTIFYs on INVITE 200 reply.
+    
+    - Restore call-info NOTIFY with appearance-state=active when callee answers.
+    - Reported by Robert Boisvert.
 
-	* db/schema/i18n.xml: unique index added
+commit 7e8913d0a8a8f1865777615cdf53f71adfd94baa
+Author: Peter Dunkley <[email protected]>
+Date:   Thu Dec 13 17:48:16 2012 +0000
 
-2006-07-20 14:54  kozlik
+    pkg/kamailio/(centos|fedora): Added xhttp_pi README to installation
 
-	* doc/stylesheets/dbschema/: dtd/dbschema.dtd, xsl/common.xsl,
-	  xsl/mysql.xsl, xsl/postgres.xsl, xsl/sql.xsl: added ability to
-	  upgrade initial data in DB - xx_create.sql script is now
-	  separated to two scripts: xx_create.sql and xx_data.sql
-	  xx_create.sql contain tables definitions and xx_data.sql contain
-	  all initial data (<row> elements from XML files) - each <row>
-	  element have new optional attribute 'vendor-controlled'.    If
-	  vendor-controled='1' for a row, SQL DELETE statement is generated
-	  before INSERT statement for this row.    In this case is
-	  necessary to define <row-identificator> element wich contain list
-	  of <colref> elements.    This is a list of columns which will be
-	  in DELETE WHERE clause.  - From now is also necessary to define
-	  an unique index on all tables which contain an initial data.
-	  Otherwise   data will be duplicated on each update.
+commit 63b5065ccf776ce3bbc5b51f19f72041442467cb
+Author: Henning Westerholt <[email protected]>
+Date:   Thu Dec 13 17:47:57 2012 +0100
 
-2006-07-19 19:06  janakj
+    xhttp_pi: add missing README
 
-	* AUTHORS: - people added to AUTHORS file
+commit 4509d6ce4160083959cd152887c47290a6753889
+Merge: 8997007 3198bec
+Author: Peter Dunkley <[email protected]>
+Date:   Thu Dec 13 16:43:15 2012 +0000
 
-2006-07-19 18:49  janakj
+    Merge branch 'master' of ssh://git.sip-router.org/sip-router
+    
+    * 'master' of ssh://git.sip-router.org/sip-router:
+      modules/mediaproxy: restrict opening of dispatcher connection
 
-	* Makefile.defs: - unused defines removed - one duplicate removed
+commit 8997007145ad777d9967589cefb1477843541efb
+Author: Peter Dunkley <[email protected]>
+Date:   Thu Dec 13 16:42:29 2012 +0000
 
-2006-07-19 18:43  janakj
+    pkg/kamailio/(centos|fedora): Updated kamailio.spec to install xhttp_pi framework examples
 
-	* Makefile: - group, mangler, and auth_diameter added to the list
-	  of excluded modules
+commit 3198beccbc2ce350bb0af2a1cedec72ccb7c9277
+Author: Juha Heinanen <[email protected]>
+Date:   Thu Dec 13 13:57:46 2012 +0200
 
-2006-07-19 18:33  janakj
+    modules/mediaproxy: restrict opening of dispatcher connection
+    
+    - restrict opening of dispatcher connection to sub-processes (patch
+      provided by Emil Kroymann)
 
-	* etc/dictionary.ser: - Vendor iptelorg - Move proprietary
-	  attributes into real VSAs
+commit c837bba9f6808141e6d23daaecdea06fee39fa8a
+Author: Peter Dunkley <[email protected]>
+Date:   Thu Dec 13 11:58:34 2012 +0000
 
-2006-07-19 18:10  janakj
+    modules/websocket: Fixed resource leak and infinite loop in websocket module
+    
+    - Can occur when TCP connections go away without the WebSocket being
+      closed properly.
 
-	* modules/tm/tm.c: - aligned to new fixups
+commit 4daf033f3a8e98834cef39d9a339a007f1e1f217
+Author: Juha Heinanen <[email protected]>
+Date:   Thu Dec 13 07:56:51 2012 +0200
 
-2006-07-19 17:42  janakj
+    modules/tm: updated README on serial forking related vars and functions
 
-	* modules/textops/textops.c: - aligned to new fixups
+commit ca450b4be77150ce23ce825d795d697b4dea808f
+Author: Ovidiu Sas <[email protected]>
+Date:   Wed Dec 12 17:33:56 2012 -0500
 
-2006-07-19 17:17  janakj
+    xhttp_pi: install framework samples
 
-	* modules/sl/: sl.c, sl_funcs.c: - aligned to new fixups
+commit c3c84162a96f6ff110c575d151543ec28b827752
+Author: Ovidiu Sas <[email protected]>
+Date:   Wed Dec 12 17:10:01 2012 -0500
 
-2006-07-19 16:35  mma
+    xhttp_pi: new target for makefile to generate framework templates
 
-	* modules/db_ops/db_ops.c: warnings and type removed
+commit c976e9e0f360da6696eefdc5b39bf019b004d3f4
+Author: Ovidiu Sas <[email protected]>
+Date:   Wed Dec 12 17:07:34 2012 -0500
 
-2006-07-19 16:35  mma
+    xhttp_pi: generate templates for all kamailio tables
 
-	* modules/dispatcher/dispatch.c: fixup_int_12 result change
-	  incorporated
+commit aa8e96f45c875b714336d121a3f89ba8e381030d
+Author: Peter Dunkley <[email protected]>
+Date:   Wed Dec 12 16:09:20 2012 +0000
 
-2006-07-19 16:34  mma
+    pkg/kamailio/(centos|fedora): Updated .spec file
+    
+    - Added mangler module to build
+    - Tidied up make commands used to build and install
 
-	* modules/timer/timer.c: temporarilly fixup_int_12 result change
-	  avoided, fixup uses atoi now; waiting for author's rewrite
+commit 1c36a534096e6ba37395e2ce1676526a02d1dac3
+Merge: 8ec3068 2d53d99
+Author: Peter Dunkley <[email protected]>
+Date:   Wed Dec 12 15:25:53 2012 +0000
 
-2006-07-19 16:12  mma
+    Merge branch 'master' of ssh://git.sip-router.org/sip-router
+    
+    * 'master' of ssh://git.sip-router.org/sip-router:
+      modules/tm: forgot to commit new version of t_funcs.c
 
-	* modules/db_ops/db_ops.c: better fixup instead of fixup_int_12
+commit 8ec30688617a260d478402e59ef465c69e8247d9
+Author: Peter Dunkley <[email protected]>
+Date:   Wed Dec 12 15:24:38 2012 +0000
 
-2006-07-19 16:01  mma
+    parser/sdp: Fixed double free
+    
+    - Found and fixed by Hugh Waite @ Crocodile RCS
 
-	* modules/: db_ops/db_ops.c, eval/eval.c: eval - updated
-	  (int)*param -> get_int_fparam(...) based on fixup_int_12 change
-	  db_ops - temporarilly changed to atoi fixup instead of
-	  fixup_int_12. waiting for author's rewrite
+commit 2d53d99abcf9ae218fa547d572aee3f55dbba79b
+Author: Juha Heinanen <[email protected]>
+Date:   Wed Dec 12 17:03:42 2012 +0200
 
-2006-07-19 14:49  janakj
+    modules/tm: forgot to commit new version of t_funcs.c
+    
+    - reported by Peter Dunkley.
 
-	* config.h: - default radiusclient file added
+commit 9c7edfe9edc02ea8b62c40349262b035f0b21510
+Author: Juha Heinanen <[email protected]>
+Date:   Wed Dec 12 16:59:12 2012 +0200
 
-2006-07-19 14:49  janakj
+    modules/tm: forgot to commit new version of t_funcs.h
+    
+    - reported by Peter Dunkley.
 
-	* modules/registrar/reg_mod.c: - use default fixup
+commit 74a9baf6fd2903efc874edc48dd99d6a11afc83b
+Author: Juha Heinanen <[email protected]>
+Date:   Wed Dec 12 16:11:50 2012 +0200
 
-2006-07-19 14:48  janakj
+    modules/tm: added outbound support to t_load_contact()/t_next_contacts()
+    
+    - added new function t_next_contact_flows()
+    - readme not updated yet
 
-	* modules/exec/exec.c: [no log message]
+commit 89ac4ae40234e02d71f619c2f750ed34333c9d5d
+Author: Juha Heinanen <[email protected]>
+Date:   Wed Dec 12 16:10:34 2012 +0200
 
-2006-07-19 13:37  janakj
+    modules_k/registrar: lookup now handles also instance and reg_id
 
-	* modules/exec/: exec.c, exec.h, exec_mod.c: - support for attrs
-	  and selects in parameters
+commit 55e7820686cbfb6392e707e0ee4fae96b22670bb
+Author: Juha Heinanen <[email protected]>
+Date:   Wed Dec 12 16:06:52 2012 +0200
 
-2006-07-19 13:23  janakj
+    parser: added instance and reg_id fields to sip_msg_t
+    
+    - also added set_instance and reset_instance functions
 
-	* modules/enum/: enum.c, enum.h, enum_mod.c, enum_mod.h: -
-	  is_from_user_e164 renamed to is_e164 which acceps one parameter,
-	  it can be attr, select or string - small cleanup
+commit dccf5ede42eaf2b2f030d8c5a730418ce0517ec2
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Wed Dec 12 11:08:45 2012 +0100
 
-2006-07-19 12:17  janakj
+    core: added comments to xavps structures
 
-	* modules/domain/domain_mod.c: - use default fixups where possible
+commit bb1894ed7b868862402a63b858f52165d5deb463
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Tue Dec 11 22:39:01 2012 +0100
 
-2006-07-19 11:44  janakj
+    modules_s/mangler: moved to common modules directory
 
-	* modules/diversion/diversion.c: - support for avps and selects in
-	  parameters
+commit a4b0267cd57255a2f5c24bf466181e592841b6f7
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Tue Dec 11 22:36:14 2012 +0100
 
-2006-07-19 11:44  janakj
+    modules_s/eval: unused module moved to obsolete directory
+    
+    - use core config expressions
 
-	* modules/avp_db/avp_db.c: - use pre-defined fixup function
+commit 5028c86d306a3f9ccec6e46d1fcf5f6a03f1d6ee
+Author: Elena-Ramona Modroiu <[email protected]>
+Date:   Tue Dec 11 22:17:14 2012 +0100
 
-2006-07-18 20:06  calrissian
+    modules_s/options: moved to obsolete/ folder
 
-	* modules/registrar/save.c: fixed that the AOR was stored instead
-	  of the Contact (on behalf of Jan + thanks to Bogdan)
+commit 47a9b7cf8b0d9f178f8905afc9434f0cd2d8f2f1
+Author: Elena-Ramona Modroiu <[email protected]>
+Date:   Tue Dec 11 21:44:45 2012 +0100
 
-2006-07-18 17:40  janakj
+    modules_s/speeddial: moved to obsolete/ folder
 
-	* modules/avp/avp.c: - fixed problems from the last commit
+commit fc486d312ea11b6ff26c091e8649d9fe2228f931
+Author: Elena-Ramona Modroiu <[email protected]>
+Date:   Tue Dec 11 21:30:41 2012 +0100
 
-2006-07-18 17:01  calrissian
+    modules_s/uac: moved to obsolete/ folder
 
-	* modules/avp/avp.c: - fixed several wrong function calls from last
-	  comit - fixed several compiler warnings - fixed several log
-	  messages
+commit cc9b6cad1130891c54b94b44bebb2b6cdf397b1a
+Author: Konstantin Mosesov <[email protected]>
+Date:   Tue Dec 11 16:29:30 2012 +0200
 
-2006-07-18 14:15  janakj
+    mod_python: Changed Loggers.py to use recent changes (python abstraction layers).
 
-	* modules/sl/sl.c: - compiler warning fixed
+commit 63f0618dd47975afafb7757fe9e156534f05d468
+Merge: 230919a 669dc7b
+Author: Konstantin Mosesov <[email protected]>
+Date:   Tue Dec 11 16:08:25 2012 +0200
 
-2006-07-18 14:14  janakj
+    Merge branch 'master' of ssh://git.sip-router.org/sip-router
 
-	* modules/domain/domain_mod.c: - internal function to map domain to
-	  did
+commit 669dc7b72f76af715b2f34a0fbe64350202f8aff
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Tue Dec 11 14:57:24 2012 +0100
 
-2006-07-18 14:12  janakj
+    modules_s/msilo: moved to obsolete folder
 
-	* modules/avp_db/avp_db.c: - Attribute loading from database hidden
-	  behind single function load_attrs:
+commit 230919ad2e414f0c070a710cb85b3b2b3dfea741
+Author: Konstantin Mosesov <[email protected]>
+Date:   Tue Dec 11 14:24:08 2012 +0200
 
-	    load_attrs("$fr", "@from.nameaddr.uri")  - Load From URI
-	  attributes
-	    load_attrs("$ft", "@ruri") - Load To URI attributes
-	    load_attrs("$fu", "$f.uid") - Load user attributes based on
-	  from UID
-	    load_attrs("$tu", "$t.uid") - Load user attributes based on to
-	  UID
+    app_python: Moved all python scripts to 'python_examples' folder.
+    app_python: Applied a few recent patches for better stack trace.
+    app_python: Fixed a possible segfault on double free.
+    app_python: Added python abstraction layers Router.Core, Router.Ranks, Router.Logger.
+    app_python: Moved all logging stuff to layer Router.Logger, e.g., Router.Logger.LM_ERR(...).
+    app_python: Added 'ranks' constants and moved to Router.Ranks, e.g., Router.Ranks.PROC_MAIN.
 
-	    First parameter is attribute group, second parameter can be any
-	  AVP, select,
-	    or string
+commit 5a3bc7a8f37a16f8194d117b7642ee532ee9e177
+Author: Olle E. Johansson <[email protected]>
+Date:   Tue Dec 11 09:04:29 2012 +0100
 
-2006-07-18 14:08  janakj
+    debugger: Minor README edits
 
-	* modules/avp/avp.c: - grand avp module cleanup:
+commit 27d02adf7bd3405cd67d2331ab7aa05b53d97c50
+Author: Andrew Mortensen <[email protected]>
+Date:   Mon Dec 10 17:08:51 2012 -0500
 
-	    * set_iattr, set_sattr, and set_sattr function can be used when
-	  you need to
-	      obtain attribute name from somewhere, for example:
-	      $attr1 = "$foo";
-	      set_attr("$attr1", "bar") will create attribute foo with
-	  value bar.
+    sca: ignore transport parameter in RURI when processing SUBSCRIBEs.
+    
+    - Fix AoR hash lookups when client subscribes over TCP, TLS or SCTP.
+    - Report from Robert Boisvert.
 
-	    * print_attr accepts attribute name as parameter
+commit 7a86ec5e7f9d4ef6a72da741b336c909109f3c88
+Author: Olle E. Johansson <[email protected]>
+Date:   Mon Dec 10 13:55:13 2012 +0100
 
-	    * del_attr accepts attribute name as parameter
+    ratelimit: Adding a reference to the pipelimit module in README
 
-	    * del_attrs can be used to delete the whole group of
-	  attributes, for example:
-	      del_attrs("$fu") will delete all From user attributes (works
-	  with uri,
-	      user, and domain attributes).
+commit 4ff67e61e5b94fd5c842cf94b71dd723d41e7bf1
+Author: Juha Heinanen <[email protected]>
+Date:   Mon Dec 10 11:26:25 2012 +0200
 
-	    * flags2attr accepts attribute name as parameter
+    modules_k/usrloc: added +sip.instance and reg-id to mi_usrloc_show_contact
 
-	    * dumps_attrs has two variants, without any parameter it will
-	  dump all
-	      attributes to the log, with parameter a single group of
-	  attributes can
-	      be specified just like in del_attrs.
+commit 4f8d9b589df0c40f88fb34658f3735a222b0f545
+Author: Peter Dunkley <[email protected]>
+Date:   Sun Dec 9 20:01:55 2012 +0000
 
-	    * renamed avp -> attrs almost everywhere
+    pkg/kamailio/(centos|fedora): Updated .spec
+    
+    - Changed rel to dev7
+    - Moved xlog from modules_k to modules
+    - Added avp, sca, and xprint modules
 
-	    * small bugfixes are included (and possibly new bugs
-	  introduced)
+commit a3ad00fea92f54aacf2425a0c2aaa9f78046d38e
+Author: Elena-Ramona Modroiu <[email protected]>
+Date:   Sat Dec 8 18:22:15 2012 +0100
 
-2006-07-18 13:59  janakj
+    modules_s/pdt: moved the module to obsolete folder
+    
+    - pdt(k) has support for multidomain
 
-	* modules/: auth/auth_mod.c, auth/challenge.c, auth/challenge.h,
-	  auth_db/authdb_mod.c, auth_db/authorize.c, auth_db/authorize.h,
-	  auth_radius/authorize.c, auth_radius/authrad_mod.c: - use new
-	  convenience functions to obtain parameter value
+commit bfa4d86a7a18b321a14b65c90d32c5aed32c10d3
+Author: Elena-Ramona Modroiu <[email protected]>
+Date:   Sat Dec 8 14:20:43 2012 +0100
 
-2006-07-18 13:58  janakj
+    pdt(k): added pdt.list command to dump memory structure via rpc
 
-	* modules/: acc_radius/acc_radius.c, acc_syslog/acc_syslog.c: -
-	  aligned to functions in acc_db
+commit 6904d8c80b2089d01a69c3c0217c76c8e0132bac
+Author: Elena-Ramona Modroiu <[email protected]>
+Date:   Sat Dec 8 14:19:30 2012 +0100
 
-2006-07-18 13:57  janakj
+    dispatcher(k): use the right pointer to rpc context
 
-	* modules/acc_db/acc_db.c: - acc_db_log and acc_db_missed also
-	  accept selects and avps as parameter,   that means you can do
-	  acc_db_log("$reply")
+commit ad5cbdc7aa6156e072f0dd859421fc36b66227c0
+Author: Olle E. Johansson <[email protected]>
+Date:   Sat Dec 8 18:19:43 2012 +0100
 
-2006-07-18 13:54  janakj
+    ratelimit: Typo fixes, minor edits
 
-	* sr_module.c, sr_module.h: - clean-up of common fixup functions
+commit 181561c7dc50c0c4e6ac84b53b33d8a5bc6dd053
+Author: Juha Heinanen <[email protected]>
+Date:   Sat Dec 8 16:09:40 2012 +0200
 
-2006-07-18 13:51  janakj
+    modules_s: migrated append_branch in cpl-c, exec, and registrar modules
 
-	* usr_avp.c, usr_avp.h: - reset_avp_list added
+commit e8210c30ef79a5a6f6fa88a2cb47bf29ca50bfe0
+Author: Juha Heinanen <[email protected]>
+Date:   Sat Dec 8 16:00:34 2012 +0200
 
-2006-07-18 01:02  calrissian
+    modules_k/pv: fixed compilation error in define
+    
+    - removed extra ';' from km_append_branch define
+    - thanks to Daniel-Constantin Mierla for reporting
 
-	* modules/avp_db/avp_db.c: fixed several bugs which were introduced
-	  recently
+commit 440bcec4b5694ac79cd8dfb134defd472e96c60e
+Merge: 1cfa90d ca7b188
+Author: Olle E. Johansson <[email protected]>
+Date:   Sat Dec 8 14:12:15 2012 +0100
 
-2006-07-17 15:16  janakj
+    Merge branch 'master' of ssh://git.sip-router.org/sip-router
+    
+    Sorry, still can't fix this. Working on it. :-)
+    * 'master' of ssh://git.sip-router.org/sip-router:
+      core: restored USER_AGENT and SERVER_HDR defines
 
-	* ut.c, ut.h: - conversion function to convert str to zero
-	  terminated string
+commit 1cfa90d171a72ad5e2b224ae0d6f2eb92d3eeb55
+Author: Olle E. Johansson <[email protected]>
+Date:   Sat Dec 8 14:10:48 2012 +0100
 
-2006-07-13 20:30  andrei
+    nathelper: add force_socket documentation (moved from rtpproxy module)
+    
+    The rtpproxy module did not have a force_socket parameter, but  nathelper did.
 
-	* Makefile.defs, resolve.c, resolve.h, test/dns_query.c:
-	  - reduced dns structure sizes and re-ordered them to waste less
-	  space - possible memory leak fixed (could appear only when
-	  resolving  srv or naptr records and the dns response packet is
-	  corrupted)
+commit ca7b18825ed478b2d23a092f681939a233183003
+Author: Juha Heinanen <[email protected]>
+Date:   Sat Dec 8 14:44:38 2012 +0200
 
-2006-07-12 13:08  kubartv
+    core: restored USER_AGENT and SERVER_HDR defines
+    
+    - they were changed by accident by previous commit
 
-	* modules/: pa/ChangeLog, pa/notify.c, pa/watcher.c, pa/doc/pa.xml,
-	  presence_b2b/ChangeLog, presence_b2b/euac_funcs.c,
-	  presence_b2b/euac_state_machine.c, rls/ChangeLog,
-	  rls/subscription_manager.c: improved dialog refreshing
+commit 571e4e3fceeff5b4d32d1ac34649e9c4031d6543
+Author: Juha Heinanen <[email protected]>
+Date:   Sat Dec 8 14:17:46 2012 +0200
 
-2006-07-12 11:39  kubartv
+    core and several modules: instance and reg_id in branch_t
+    
+    - added instance and reg_id fields to branch_t
+    - added instance and reg_id arguments to append_branch function
+    - modified append_branch calls in core and several modules
+    - did not touch obsolete or modules_s modules (which are to be
+      removed from next release)
 
-	* modules/tm/: dlg.c, dlg.h: Added parameter to dlg_request_uas and
-	  dlg_response_uac.
+commit 21b42fc14562758ac1dec5946a7b07a127054f47
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Fri Dec 7 23:28:40 2012 +0100
 
-	  This parameter specifies if it is target refresh
-	  request/response. This is needed because TM module is not able to
-	  determine target refresh methods for all dialog types.  Only
-	  INVITE method was used as target refresh, but this is error for
-	  non-INVITE dialogs (SUBSCRIBE/NOTIFY, ...).
+    modules_s/dialog: moved to obsolete folder
 
-	  If you want to behave like previous versions use
-	  TARGET_REFRESH_UNKNOWN as value but be aware of possible
-	  problems.
+commit d560a18e44a9822fb1afa7f2047c82338838962e
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Fri Dec 7 23:26:33 2012 +0100
 
-2006-07-11 14:10  kozlik
+    modules_s/fifo: moved to obsolete
 
-	* db/schema/attr_types.xml, scripts/dbtext/ser_db/attr_types,
-	  scripts/mysql/my_create.sql, scripts/oracle/or_create.sql,
-	  scripts/postgres/pg_create.sql: new column 'access' in table
-	  attr_types
+commit 46f2a4300c1d9d96057d239dda1dc24c7caaf4d8
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Fri Dec 7 23:25:49 2012 +0100
 
-2006-07-11 07:55  kubartv
+    modules_s/unixsock: moved to obsolete folder
 
-	* lib/cds/: ChangeLog, sip_utils.c, sip_utils.h: added function
-	  has_to_tag into common libs
+commit 04d77c20b80337019f71228dd0d9efe30d62db60
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Fri Dec 7 23:17:11 2012 +0100
 
-2006-07-11 07:49  kubartv
+    modules_s/dispatcher: moved to obsolete folder
 
-	* modules/presence_b2b/rpc.c: unused include thrown out
+commit f817987eb7f50de7f6d0666620c6bb7fb50462fd
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Fri Dec 7 23:14:53 2012 +0100
 
-2006-07-11 07:47  kubartv
+    modules_s/osp: moved to obsolete folder
 
-	* modules/rls/rls_handler.c: cosmetical change
+commit a40cea9f419b25aaeaabcd550ccf9106e9a029d7
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Fri Dec 7 23:13:25 2012 +0100
 
-2006-07-10 15:40  kozlik
+    modules_s/xcap: moved to obsolete directory
 
-	* db/schema/attr_types.xml, scripts/dbtext/ser_db/attr_types,
-	  scripts/dbtext/ser_db/location, scripts/mysql/my_create.sql,
-	  scripts/oracle/or_create.sql, scripts/postgres/pg_create.sql: new
-	  attribute 'contact_email'
+commit 8d70ccaf18683c0d594a00e804f5f43df2f50b7d
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Fri Dec 7 23:08:11 2012 +0100
 
-2006-07-10 14:39  kubartv
+    presence_b2b: moved to obsolete directory
 
-	* modules/pa/: ChangeLog, async_auth.c, async_auth.h, auth.c,
-	  auth.h, mimetypes.c, mimetypes.h, notify.c, notify.h, pa_mod.c,
-	  pdomain.c, presentity.c, presentity.h, publish.c,
-	  qsa_interface.c, rpc.c, subscribe.c, watcher.c, watcher.h:  -
-	  asynchronous download of authorization rules (can be switched
-	  on/off; better
-	     responses than synchronous)
-	   - automatical refreshing of authorization rules by timer, not
-	  only on
-	     re-subscriptions
-	   - bigger cosmetical changes in code
+commit 860c45f34190b57adfade0539f807fb1134662f9
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Fri Dec 7 22:56:24 2012 +0100
 
-2006-07-07 20:40  mma
+    modules_s/diversion: moved to obsolete
+    
+    - modules_k/diversion is including its features and some extra ones
 
-	* modules/rr/rr_mod.c: @rr.dialog_cookie  (the same as RR would put
-	  into Record-Route header.  If put into Route header, the new
-	  transaction would get some AVP set at loose_route call.
+commit a1c1fb0ab72a51fcfa9907e53e2b14cb79fdddc0
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Fri Dec 7 22:53:21 2012 +0100
 
-2006-07-04 18:24  janakj
+    modules_s/dbtext: moved to obsolete directory
+    
+    - not maintained, it does not compile
 
-	* modules/lcr/lcr_mod.c: - fixed conflicting macro (MAX_QUERY_SIZE)
+commit 08c872ed6935396cd6ea87af52af6393987d6d7d
+Author: Juha Heinanen <[email protected]>
+Date:   Fri Dec 7 02:05:49 2012 +0200
 
-2006-07-04 18:16  janakj
+    modules_k/registrar_k: added check that reg-id is not zero
 
-	* modules/registrar/: lookup.c, reg_mod.c: - 2nd parameter of
-	  lookup can be avp, select, string
+commit d684d1ac49f740d32df5f82add584aeb396e26a4
+Author: Juha Heinanen <[email protected]>
+Date:   Fri Dec 7 01:33:52 2012 +0200
 
-2006-07-04 18:03  janakj
+    modules_k/registrar: ignore reg-id if instance-id is not included
 
-	* modules/domain/domain_mod.c: - dropped support for
-	  P-Preferred-Identity, it can be implemented in the script:   if
-	  (@from.uri.host == "anonymous.invalid" &&
-	  @msg.p_preferred_identity) {	     lookup_domain("$fd",
-	  "@msg.p_preferred_identity.nameaddr.uri.host");   } else {
-	  lookup_domain("$fd", "@from.uri.host");   }
+commit 5d3e8b9ff526246a8abe768a1d970dce70658dbe
+Author: Andrew Mortensen <[email protected]>
+Date:   Wed Dec 5 16:59:50 2012 -0500
 
-	  - is_anonymous removed, can be implemented in the script (see the
-	  snipped above)
+    sca: update sample kamailio.cfg in README with small CANCEL fix.
+    
+    - Reported by Robert Boisvert
 
-2006-07-04 15:19  janakj
+commit 86c499e249bf43571d1cebca08821d30bff12dad
+Author: Andrew Mortensen <[email protected]>
+Date:   Wed Dec 5 16:22:47 2012 -0500
 
-	* modules/avp_db/avp_db.c: - fixed return value of get_str_fparam
+    sca: add missing braces for CANCEL handling in sample config.
+    
+    - t_check_trans() if-block for CANCEL had no braces, but needs them
+      after addition of route(SCA) before t_relay of CANCEL.
+    - Reported by Robert Boisvert
 
-2006-07-04 15:11  janakj
+commit 69dec26c718928f2cfc08bbae98658e145f8b04b
+Author: Elena-Ramona Modroiu <[email protected]>
+Date:   Wed Dec 5 21:00:45 2012 +0100
 
-	* modules/rr/avp_cookie.c: - uri attributes added
+    modules_s/textops: updated path to xprint module
 
-2006-07-04 15:10  janakj
+commit e722ab91eb90003741d236a9fecc6bbe954e21d3
+Author: Elena-Ramona Modroiu <[email protected]>
+Date:   Wed Dec 5 20:59:27 2012 +0100
 
-	* db/schema/location.xml, scripts/mysql/my_create.sql: - aor column
-	  added
+    modules_s/eval: updated path to xprint module
 
-2006-07-04 15:10  janakj
+commit ff7bd782a6e5f4c18f15ac429af313b54be38936
+Author: Elena-Ramona Modroiu <[email protected]>
+Date:   Wed Dec 5 20:55:17 2012 +0100
 
-	* modules/avp/avp.c: - support for URI attributes
+    modules_s/db_ops: path to xprint module updated
 
-2006-07-04 15:09  janakj
+commit 556c1e19ae5fd6139c6b0d7d3a5055d949583438
+Author: Elena-Ramona Modroiu <[email protected]>
+Date:   Wed Dec 5 20:47:25 2012 +0100
 
-	* modules/registrar/: lookup.c, lookup.h, reg_mod.c, reg_mod.h,
-	  save.c: - Support for AOR column. If there is $t.aor attribute
-	  then the value   of the attribute will be used, otherwise the
-	  save function will   use the To URI.	- lookup_contacts now has
-	  2nd optional parameter which is the desired	aor that contacts
-	  must have in order to be used. Contacts with	 different aor will
-	  be ignored. This allows arbitrary contact filtering.
+    modules/avp_db: moved back to modules_s/ because it depends on local domain module
 
-2006-07-04 15:02  janakj
+commit b17e84ad3e5f781b83b1a8a80572ea4d24835b56
+Author: Elena-Ramona Modroiu <[email protected]>
+Date:   Wed Dec 5 20:37:39 2012 +0100
 
-	* modules/usrloc/: urecord.h, ucontact.c, ucontact.h, udomain.c,
-	  ul_mod.c, ul_mod.h, ul_rpc.c, urecord.c: - Support for AOR column
-	  in location table. The value of AOR is taken	 from To header
-	  field in REGISTER message
+    modules_s/avp_db: moved to modules/avp_db
 
-2006-07-04 14:58  janakj
+commit 171f3dcf4287b7104a47b75e125174c374a457d5
+Author: Elena-Ramona Modroiu <[email protected]>
+Date:   Wed Dec 5 20:34:25 2012 +0100
 
-	* modules/avp_db/avp_db.c: - New version of load_attrs, the
-	  function can load uri and user level attributes   from database,
-	  for example:
+    modules_s/avp: moved to modules/avp
 
-	    load_attrs("$fu", "$f.uid") Loads user attributes for the uid
-	  of the caller
-	    load_attrs("$fr", "@from.uri") Load uri attributes for the URI
-	  in From
+commit 66840add8c37c110a8d08674f6a5f42d75a40287
+Author: Elena-Ramona Modroiu <[email protected]>
+Date:   Wed Dec 5 20:33:40 2012 +0100
 
-	    The first parameter can be:
-	    $fr - From track, class URI
-	    $fu - From track, class user
-	    $tr - To track, class URI
-	    $tu - To track, class user
+    modules_s/xprint: moved to modules/xprint
 
-	    Second parameter can be string, avp, or select. If you load
-	  user class attributes
-	    then the second parameter is used to obtain UID. If you load
-	  URI class attributes
-	    then the second parameter is used to obtain URI.
+commit 3d9ee6962f1ceeacbffd903064aa0779199f7ee6
+Author: Elena-Ramona Modroiu <[email protected]>
+Date:   Wed Dec 5 20:32:29 2012 +0100
 
-2006-07-04 14:51  janakj
+    modules_k/xlog: moved to modules/xlog
 
-	* modules/tm/: h_table.c, h_table.h, t_hooks.c, t_reply.c: -
-	  support for uri attributes
+commit d91d49a026aba9092e9feda1d561d03c32f37e6d
+Author: Elena-Ramona Modroiu <[email protected]>
+Date:   Wed Dec 5 20:25:16 2012 +0100
 
-2006-07-04 14:48  janakj
+    modules_s/osp: internal occurences of xlog changed to xprint
 
-	* sr_module.c, sr_module.h: - Support for selects in fparam_t -
-	  get_str_fparam function which will return the value of fparam
-	  as string
+commit 1d76de2a046e0d978e0b0155008dbed75dfc1067
+Author: Elena-Ramona Modroiu <[email protected]>
+Date:   Wed Dec 5 20:24:54 2012 +0100
 
-2006-07-04 14:46  janakj
+    modules_s/ldap: internal occurences of xlog changed to xprint
 
-	* cfg.lex, cfg.y, usr_avp.c, usr_avp.h: - support for URI
-	  attributes
+commit c560c7a6d0eeba3231e9f7caa0b5135160f75efe
+Author: Elena-Ramona Modroiu <[email protected]>
+Date:   Wed Dec 5 20:24:36 2012 +0100
 
-2006-07-03 15:55  mma
+    modules_s/timer: internal occurences of xlog changed to xprint
 
-	* modules/tm/: t_funcs.c, t_lookup.c, tm.c: ERROR message
-	  transaction already exists moved to w_t_newtran, t_newtran logs
-	  only with DEBUG level
+commit 7cf360fd63904e70441470f50164352b8867c9bd
+Author: Elena-Ramona Modroiu <[email protected]>
+Date:   Wed Dec 5 20:24:21 2012 +0100
 
-2006-07-03 13:42  tma0
+    textops: internal occurences of xlog changed to xprint
 
-	* modules/eval/: README, eval.c: - new function strvalat function
+commit 4c5c75ee46c38d47e01839eb6f1a8bc73441a507
+Author: Elena-Ramona Modroiu <[email protected]>
+Date:   Wed Dec 5 20:24:02 2012 +0100
 
-2006-07-03 12:37  tma0
+    modules_s/permissions: internal occurences of xlog changed to xprint
 
-	* modules/textops/: textops.c, doc/functions.xml: - stripped < >
-	  from multiuri
+commit f74575e551672d4defd2d7d34ef29cf285bcf9ec
+Author: Elena-Ramona Modroiu <[email protected]>
+Date:   Wed Dec 5 20:23:26 2012 +0100
 
-2006-06-30 23:11  mma
+    modules_s/eval: internal occurences of xlog changed to xprint
 
-	* select_core.h: nameaddr.params corrected (when used from nested
-	  selects)
+commit 307a97dbd735e0a337b1019a6309c14e260f25c9
+Author: Elena-Ramona Modroiu <[email protected]>
+Date:   Wed Dec 5 20:23:00 2012 +0100
 
-2006-06-30 20:32  tma0
+    modules_s/avp_db: internal occurences of xlog changed to xprint
 
-	* modules/textops/textops.c: - fixed compariosion @hf_value.NAME[#]
+commit cf49d5daf9a29c44224472ae52bd7a6017cfbeee
+Author: Elena-Ramona Modroiu <[email protected]>
+Date:   Wed Dec 5 20:22:25 2012 +0100
 
-2006-06-30 19:31  tma0
+    modules_s/db_ops: internal occurences of xlog changed to xprint
 
-	* modules/textops/: textops.c, doc/functions.xml: - support for
-	  @hf_value.NAME[*], it combines all values from multiple headers
+commit 6909bcae92e5f50fc247fd46eaf4b2b71d295c6b
+Author: Elena-Ramona Modroiu <[email protected]>
+Date:   Wed Dec 5 20:21:39 2012 +0100
 
-2006-06-30 17:03  mma
+    modules_s/avp: internal occurences of xlog changed to xprint
 
-	* select_core.c, select_core.h: params retrieving extended to
-	  @msg.<HEADER>.params.<PARAM_NAME> for header which's value allows
-	  param like name=body @msg.<HEADER>.nameaddr.params[.<PARAM_NAME>]
-	  parameter of the header which has nameadde as value
-	  @msg.<HEADER>.nameaddr.uri.params[.<PARAM_NAME>] parameter of the
-	  URI  which works for all selects returning uri
+commit 5144b151340da72272c0272bd0f45d0d4864173c
+Author: Elena-Ramona Modroiu <[email protected]>
+Date:   Wed Dec 5 19:58:34 2012 +0100
 
-2006-06-30 15:04  kubartv
+    modules_s/xprint: more of xlog rename to xprint
 
-	* modules/tm/: tm_load.c, tm_load.h, uac.c, uac.h: Function t_uac
-	  splitted into two parts - one which prepares the message and one
-	  which sends it. Both are accessible for requests within dialogs
-	  through tm_binds structure (prepare_request_within,
-	  send_prepared_request).
+commit 948558abe33913fefd44d7601a14bac3d8594871
+Author: Elena-Ramona Modroiu <[email protected]>
+Date:   Wed Dec 5 19:13:39 2012 +0100
 
-	  This is needed to allow sending in-dialog messages outside of
-	  critical section (VERY useful for TCP transport when used nonzero
-	  TCP timeouts - in that case may be the critical section locked
-	  for seconds!).
+    modules_s/xprint: internal log messages updated to reflect module name
 
-2006-06-30 13:55  tma0
+commit 5e2290c6625049ea42eaccc21c8686756f3a4156
+Author: Elena-Ramona Modroiu <[email protected]>
+Date:   Wed Dec 5 19:11:31 2012 +0100
 
-	* modules/db_ops/: README, db_ops.c: - support for forcing of value
-	  type when writing to db driver (eg. datetime)
+    modules_s/textops: bind to xprint API
 
-2006-06-30 12:58  tma0
+commit 1a1337be4b9f2612375488d072301f43ce71e91c
+Author: Elena-Ramona Modroiu <[email protected]>
+Date:   Wed Dec 5 19:11:05 2012 +0100
 
-	* modules/eval/eval.c: - fixed add_value function (number of item
-	  was missing)
+    modules_s/eval: updated for xlog(s) to xprint rename
 
-2006-06-30 10:28  kubartv
+commit 88b7ea9f926605c98676dd6b039965dff295d9c7
+Author: Elena-Ramona Modroiu <[email protected]>
+Date:   Wed Dec 5 19:09:37 2012 +0100
 
-	* modules/pa/: pa_mod.c, doc/pa.xml, doc/params.xml: added short
-	  description of presence state aggregation
+    modules_s/db_ops: use xprint module instead of xlog
 
-2006-06-29 15:27  calrissian
+commit ceb2d50ff29d8b9f95660e4b520f458bb74853e2
+Author: Elena-Ramona Modroiu <[email protected]>
+Date:   Wed Dec 5 19:09:04 2012 +0100
 
-	* modules/options/: mod_options.c, doc/params.xml: module parameter
-	  changed from support to supported like in the SIP messages
+    modules_s/avp: switched to usage of xprint module
 
-2006-06-29 12:34  mma
+commit c26533bb2b7f06e72366f2d920dc1e63d3eb159f
+Author: Elena-Ramona Modroiu <[email protected]>
+Date:   Wed Dec 5 19:03:25 2012 +0100
 
-	* select_core.c, select_core.h, modules/tm/t_funcs.c: @method
-	  returns METHOD string within request select_method
+    modules_s/xprint: update defined value in header file
 
-	  t_relay does not return error when the transaction was already
-	  started by t_newtran so from now you can use in the script: if
-	  (!t_newtran) drop; # avoid retransmission processing ...some time
-	  consuming action t_relay();
+commit 3a1625d021d9ee46ad7beeb49c9d5ae2c933f970
+Author: Elena-Ramona Modroiu <[email protected]>
+Date:   Wed Dec 5 19:00:10 2012 +0100
 
-2006-06-28 17:22  kubartv
+    modules_s/xlog: renamed to xprint
+    
+    - the modules is used by other ser modules for evaluation of strings
+      with %spec specifiers
+    - for printing log messages, better use the xlog module from now on
+    - xlog/xdbg functions are now xplog/xpdbg
 
-	* lib/cds/: ChangeLog, dstring.c, dstring.h, memory.h, serialize.c,
-	  sstr.c, sstr.h, doc/dstring_t.xml: optimalizations of string and
-	  dstring functions
+commit 6d0f635b0bbf338fca0ddc2c7d8e79bc686e5040
+Author: Andrew Mortensen <[email protected]>
+Date:   Wed Dec 5 14:00:12 2012 -0500
 
-2006-06-28 00:16  tma0
+    sca: modify SCA_STR_EMPTY macro to fix -Waddress compiler warnings.
+    
+    - Reported by Ovidiu Sas
 
-	* modules/textops/: textops.c, doc/functions.xml: - support for
-	  select_any_nameaddr nested select
+commit c8772fc3eea75f5caad64770c6bbe6823ad7f1ef
+Author: Ovidiu Sas <[email protected]>
+Date:   Wed Dec 5 13:24:20 2012 -0500
 
-2006-06-27 23:34  mma
+    modules_s/domain: remove unused variable
 
-	* select.c, select_core.c, select_core.h: uri.params.XXXX now
-	  acceped and returns value of that parameter, or empty string flag
-	  if param without value is present.  fixed param_offset and lvl
-	  values at the time of FIXUP_CALL
+commit 753d1d885d7c2f0e1a30df939455fcb4349a7506
+Author: Ovidiu Sas <osas@dbn>
+Date:   Wed Dec 5 13:17:23 2012 -0500
 
-2006-06-27 22:16  tma0
+    modules_s/registrar: remove unused variable
 
-	* modules/db_ops/: README, db_ops.c: - added support for
-	  select_any_uri and select_any_nameaddr
+commit 96c39e3c31f416bbe42b434a8bbf3ece88a8ab52
+Author: Ovidiu Sas <osas@dbn>
+Date:   Wed Dec 5 13:12:02 2012 -0500
 
-2006-06-27 21:50  tma0
+    qos: remove unused variable
 
-	* modules/eval/: README, eval.c: - added support for
-	  select_any_nameaddr
+commit 263aae0a48f3a92a0e8c0ce43a7d6f610ea8a239
+Merge: 8b73129 e819eaa
+Author: Peter Dunkley <[email protected]>
+Date:   Wed Dec 5 15:13:48 2012 +0000
 
-2006-06-27 21:07  mma
+    Merge branch 'master' of ssh://git.sip-router.org/sip-router
+    
+    * 'master' of ssh://git.sip-router.org/sip-router: (268 commits)
+      xcap_client: fix cross-compilation
+      utils: fix libcurl dependency
+      core: print debug message instead of info message when trying to resolve    something that is not domain name.
+      Makefile: adding xhttp_pi to the list of excluded modules (depends on libxml2)
+      xhttp_pi: fix installation of the pi_framework.xml file
+      sca: fix DB updates
+      sca: sca_subscription_print now logs at debug level
+      tls: fix cross-compilation
+      Makefile: fixed the option of setting some variables from command line
+      Makefile.defs: version set to 3.4.0-dev7
+      Makefile: default FLAVOUR set to kamailio
+      sca: more cleanup of SCA example kamailio.cfg
+      sca: include sample kamailio.cfg in docs, update function examples
+      sca: move working example SCA kamailio.cfg to doc subdirectory
+      app_python: better printing stacktrace
+      app_lua: fix cross-compilation
+      app_python: expand log facilities
+      sca: remove public IP from example cfg
+      sca: add working example kamailio.cfg
+      carrierroute: fix cross-compilation
+      ...
 
-	* select.c, select_core.c, select_core.h: select core extension:
-	  ....uri.params.XXXX  tries to find required parameter
+commit e819eaa0b0be61b3a818422c0ced244b5250295c
+Author: Ovidiu Sas <[email protected]>
+Date:   Wed Dec 5 09:23:45 2012 -0500
 
-	  allowed to combine NESTED | CONSUME_NEXT_STR (_INT) - resolve
-	  checks for correct parameter type (and value if STR)
+    xcap_client: fix cross-compilation
 
-	  GCC warning avoided in select_authorize & auth_diameter
+commit a1e462c1695013d3c74e1c1ec443df7697bb6607
+Author: Ovidiu Sas <[email protected]>
+Date:   Wed Dec 5 09:16:15 2012 -0500
 
-2006-06-27 19:56  tma0
+    utils: fix libcurl dependency
 
-	* modules/nathelper/: nathelper.c, doc/functions.xml: - added
-	  support for select_any_nameaddr nested select
+commit 87456bae50b55501c25f33a6728f4469639e0599
+Author: Juha Heinanen <[email protected]>
+Date:   Wed Dec 5 10:26:29 2012 +0200
 
-2006-06-27 18:12  janakj
+    core: print debug message instead of info message when trying to resolve
+       something that is not domain name.
 
-	* modules/domain/domain_mod.c: - added missing else
+commit 205e8545dca12bebf742b23eba592d2713623a66
+Author: Ovidiu Sas <[email protected]>
+Date:   Tue Dec 4 17:03:15 2012 -0500
 
-2006-06-27 17:26  tma0
+    Makefile: adding xhttp_pi to the list of excluded modules (depends on libxml2)
 
-	* modules/eval/eval.c: -fixed uri nested select
+commit 7a63bbed0ccc1a2a85b26d127e775f832efaa2a7
+Author: Ovidiu Sas <[email protected]>
+Date:   Tue Dec 4 16:18:12 2012 -0500
 
-2006-06-27 15:57  janakj
+    xhttp_pi: fix installation of the pi_framework.xml file
 
-	* modules/auth/api.c: - find_credentials is now part of the digest
-	  parser
+commit 5871982d3c76a4b42cd05e4b8dfb0e6128acb799
+Author: Andrew Mortensen <[email protected]>
+Date:   Tue Dec 4 17:04:11 2012 -0500
 
-2006-06-27 15:55  janakj
+    sca: fix DB updates
+    
+    - if a subscription were updated before being inserted into the DB, the
+      next DB sync call would incorrectly try to UPDATE instead of INSERT.
+    - no effect on SCA functionality, but subscriptions are no longer lost
+      across restarts.
 
-	* modules/domain/domain_mod.c: - Support for AVPs in lookup_domain,
-	  such as lookup_domain("$domain");
+commit a289c6167f39f14af85d78392a8bef91da81d858
+Author: Andrew Mortensen <[email protected]>
+Date:   Tue Dec 4 16:47:39 2012 -0500
 
-2006-06-27 15:51  janakj
+    sca: sca_subscription_print now logs at debug level
+    
+    - previously logged at info level for every incoming SUBSCRIBE.
 
-	* parser/digest/: digest.c, digest.h: - export find_credentials
-	  function
+commit 389bbe3410018e6d58befb486f0db2ec4ff7ece6
+Author: Ovidiu Sas <[email protected]>
+Date:   Tue Dec 4 15:58:03 2012 -0500
 
-2006-06-27 15:50  janakj
+    tls: fix cross-compilation
 
-	* select_core.c, select_core.h: - support for digest credentials
-	  selects, supported is:
+commit e5dbe686bcbf15ac59ebbcb84f3bb9b17568c030
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Tue Dec 4 21:59:16 2012 +0100
 
-	    @proxy_authorization["realm"] -- Returns entire digest
-	  credentials as string
-	    @proxy_authorization["realm"].username
-	    @proxy_authorization["realm"].username.user
-	    @proxy_authorization["realm"].username.domain
-	    @proxy_authorization["realm"].realm
-	    @proxy_authorization["realm"].nonce
-	    @proxy_authorization["realm"].uri
-	    @proxy_authorization["realm"].cnonce
-	    @proxy_authorization["realm"].nc
-	    @proxy_authorization["realm"].response
-	    @proxy_authorization["realm"].opaque
-	    @proxy_authorization["realm"].algorithm
-	    @proxy_authorization["realm"].qop
+    Makefile: fixed the option of setting some variables from command line
+    
+    - resulted in mixing names for config files
+    - issue added in previous commit
+    - reported by Ovidiu Sas
 
-2006-06-27 15:46  janakj
+commit 94dde4a5b0f146914d124367ef73c5940cbb7d97
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Tue Dec 4 10:48:23 2012 +0100
 
-	* cfg.y: - support for string [] identifiers, such as
-	  @proxy_authorize["iptel.org"]
+    Makefile.defs: version set to 3.4.0-dev7
 
-2006-06-27 15:45  janakj
+commit 4af2262b88918c316ee3bb9b45a716504f2f8db4
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Tue Dec 4 10:28:03 2012 +0100
 
-	* cfg.lex: - save the initial state before transiting to string,
-	  this is necessary so that   we could parse quoted strings from
-	  other states too, such as select.
+    Makefile: default FLAVOUR set to kamailio
+    
+    - switching to the flavour with packages and docs
 
-2006-06-27 13:43  mma
+commit b8007d985660b4df5ea9d5ea4347adf65b7f90fa
+Author: Andrew Mortensen <[email protected]>
+Date:   Mon Dec 3 23:59:50 2012 -0500
 
-	* select.c, select_core.c, select_core.h: nameaddr support in
-	  select framework
+    sca: more cleanup of SCA example kamailio.cfg
+    
+    - remove unused xhttp event route
 
-	  if you want to use nameaddr parsing in your select function
-	  define as foolows: { select_YOUR_FUNCTION_xxx, SEL_PARAM_STR,
-	  STR_STATIC_INIT("nameaddr"), select_any_nameaddr, NESTED |
-	  CONSUME_NEXT_STR }
+commit a635a80df762e13373ad59a6d746530c2163c2a6
+Author: Andrew Mortensen <[email protected]>
+Date:   Mon Dec 3 23:59:51 2012 -0500
 
-2006-06-26 17:11  tma0
+    sca: include sample kamailio.cfg in docs, update function examples
 
-	* modules/timer/timer.c: - msg_no renamed to timer_msg_no
+commit 0a2fc3f7490088b02861d9dace0f039ceab54af7
+Author: Andrew Mortensen <[email protected]>
+Date:   Mon Dec 3 23:59:49 2012 -0500
 
-2006-06-26 16:59  kubartv
+    sca: move working example SCA kamailio.cfg to doc subdirectory
+    
+    - will also be included in README and xml docs for convenience.
 
-	* doc/presence/examples.xml, doc/presence/install.xml,
-	  doc/presence/presence_book.xml, modules/xcap/ChangeLog,
-	  modules/pa/pa_mod.c, modules/pa/doc/functions.xml,
-	  modules/pa/doc/pa.xml, modules/pa/doc/params.xml,
-	  modules/pa/doc/xcap.xml, modules/presence_b2b/events_mod.c,
-	  modules/presence_b2b/doc/params.xml,
-	  modules/presence_b2b/doc/presence_b2b.xml, modules/rls/rls_mod.c,
-	  modules/rls/doc/params.xml, modules/xcap/xcap_mod.c,
-	  modules/xcap/doc/functions.xml, modules/xcap/doc/params.xml,
-	  modules/xcap/doc/xcap.xml: updated documentation for presence
-	  modules
+commit 97fe5fec90999491d455b10b1fea7529e786719b
+Author: Konstantin M <[email protected]>
+Date:   Mon Dec 3 22:35:21 2012 -0500
 
-2006-06-26 11:40  kubartv
+    app_python: better printing stacktrace
 
-	* modules/presence_b2b/: euac_funcs.c, euac_funcs.h: removed
-	  internal function is_terminating_notify, using the one from CDS
+commit d41c9a91afdd7a5a2c5e689f3302211c6bbeffb6
+Author: Ovidiu Sas <[email protected]>
+Date:   Mon Dec 3 18:39:19 2012 -0500
 
-2006-06-26 09:27  kubartv
+    app_lua: fix cross-compilation
 
-	* modules/pa/: notify.c, pa_mod.c: little cosmetical changes
+commit acbeda46ac94e6c5c215a03bd803e10b2c7540db
+Author: Konstantin M <[email protected]>
+Date:   Mon Dec 3 18:26:36 2012 -0500
 
-2006-06-23 15:03  kubartv
+    app_python: expand log facilities
 
-	* modules/tm/sip_msg.c: forgotten file in previous commit
+commit 5b63e94e49feb0a35b093a5eb3a86c9e5c1a0ba7
+Author: Andrew Mortensen <[email protected]>
+Date:   Mon Dec 3 17:15:47 2012 -0500
 
-2006-06-23 13:15  calrissian
+    sca: remove public IP from example cfg
 
-	* modules/options/mod_options.h: the right header name is Supported
-	  not Support - thanks to Hendrik Scholz
+commit c40883a7aa96a1a7fab1060bf9dfab2987971c89
+Author: Andrew Mortensen <[email protected]>
+Date:   Mon Dec 3 17:14:14 2012 -0500
 
-2006-06-23 11:13  kozlik
+    sca: add working example kamailio.cfg
 
-	* db/schema/attr_types.xml, scripts/dbtext/ser_db/attr_types,
-	  scripts/mysql/my_create.sql, scripts/oracle/or_create.sql,
-	  scripts/postgres/pg_create.sql: set flag 'required' for
-	  attributes digest_realm
+commit f9c0980c4f85d8b728eb36e6b5768173750c6964
+Author: Ovidiu Sas <[email protected]>
+Date:   Mon Dec 3 12:55:25 2012 -0500
 
-2006-06-23 10:51  kubartv
+    carrierroute: fix cross-compilation
 
-	* lib/cds/ChangeLog, lib/cds/sip_utils.c, lib/cds/sip_utils.h,
-	  parser/hf.c, parser/hf.h, parser/msg_parser.c,
-	  parser/msg_parser.h, parser/parse_hname2.c,
-	  parser/parse_subscription_state.c: added parsing of Require
-	  header field
+commit 175934a802cf863f26f84f9e11a2eec4606ecfd1
+Author: Ovidiu Sas <[email protected]>
+Date:   Mon Dec 3 08:43:01 2012 -0500
 
-2006-06-22 12:24  kubartv
+    db_postgres: fix cross-compilation
 
-	* lib/cds/: ChangeLog, sip_utils.c, sip_utils.h: added function
-	  supports_extension for search within Supported headers
+commit e09b92893fd35baf672541143951337b103bb65b
+Author: Olle E. Johansson <[email protected]>
+Date:   Mon Dec 3 08:10:34 2012 +0100
 
-2006-06-22 10:17  kubartv
+    mqueue: README update
 
-	* parser/: parse_subscription_state.c, parse_subscription_state.h:
-	  internal function for parsing Subscription-State was hidden (was
-	  accessible for to testing only)
+commit c29773967e83c4b3977b76a43805dd622bc018a9
+Author: Olle E. Johansson <[email protected]>
+Date:   Mon Dec 3 08:06:27 2012 +0100
 
-2006-06-21 23:36  mma
+    mqueue: minor edits to README
 
-	* select.c: Set lvl & param_offset[lvl] & param_offset[lvl+1]
-	  before FIXUP call of resolved select function
+commit 287c02de1491019fbf085742b82fc7040ea72886
+Author: Olle E. Johansson <[email protected]>
+Date:   Mon Dec 3 08:01:06 2012 +0100
 
-2006-06-21 23:08  mma
+    corex: minor documentation edits
 
-	* select_buf.c, select_buf.h: Added select_buf.[ch]
+commit 6a45c8eba310afa9b8173c0522d77e7a574ddc52
+Author: Konstantin M <[email protected]>
+Date:   Sun Dec 2 22:21:05 2012 -0500
 
-2006-06-21 21:11  mma
+    app_python: fix compiler warnings
+     - patch provided by "Konstantin M <[email protected]>"
 
-	* receive.c, select.c, select.h, select_core.c, select_core.h:
-	  select_buf:  - get_static_buffer (meant for select calls which
-	  need extra space
+commit 10fc575cc383093953d71c69e8d9a0065f33bdfe
+Author: Ovidiu Sas <[email protected]>
+Date:   Sun Dec 2 16:00:17 2012 -0500
 
-	   - internal reset_static_buffer called before any request is
-	  processed
+    lcr: fix cross-compilation
 
-	  select_core:	 select_uri_hostport returns host:port notation
-	  (default port value based on uri type)
+commit 291df73af6f35526e4c43c1c7d8b8ea15e93aa64
+Merge: 9b67242 e1faa05
+Author: Olle E. Johansson <[email protected]>
+Date:   Sun Dec 2 21:27:22 2012 +0100
 
-	  select:   select structure contains new array param_offset and
-	  lvl - the nested level   number of params or particular nested
-	  level could be obtained by
-	  param_offset[lvl+1]-param_offset[lvl]
+    Merge branch 'master' of ssh://git.sip-router.org/sip-router
+    
+    * 'master' of ssh://git.sip-router.org/sip-router:
+      xcap_server: fix cross-compilation
+      regex: fix cross-compilation
+      pua_xmpp: fix cross-compilation
+      pua_usrloc: fix cross-compilation
+      pua_reginfo: fix cross-compilation
+      pua_dialoginfo: fix cross-compilation
+      pua_bla: fix cross-compilation
+      pua: fix cross-compilation
+      presence_xml: fix cross-compilation
+      presence_reginfo: no need to link against libxml2
 
-2006-06-21 15:59  kubartv
+commit 9b67242978cb6aab702ccf4715e9152ac8f719c8
+Author: Olle E. Johansson <[email protected]>
+Date:   Sun Dec 2 21:26:54 2012 +0100
 
-	* lib/cds/: ChangeLog, sip_utils.c: "hacked" version of
-	  is_terminating_notify replaced by correct one
+    auth: README update
 
-2006-06-21 15:42  kubartv
+commit 25600feab7d5d3b30420a05fd4c899f0bbbff667
+Author: Olle E. Johansson <[email protected]>
+Date:   Sun Dec 2 21:24:13 2012 +0100
 
-	* parser/hf.c: corrected faulty freeing of Subscription-State
-	  header content
+    auth: Documentation corrections
 
-2006-06-21 15:33  kubartv
+commit e1faa0591c05482be95eb81016c37b9a5be57d14
+Author: Ovidiu Sas <[email protected]>
+Date:   Sun Dec 2 15:09:24 2012 -0500
 
-	* modules/tm/sip_msg.c, parser/case_subs.h, parser/hf.c,
-	  parser/hf.h, parser/keys.h, parser/msg_parser.c,
-	  parser/msg_parser.h, parser/parse_hname2.c,
-	  parser/parse_subscription_state.c,
-	  parser/parse_subscription_state.h: added Subscription-State
-	  header field parsing (only needed parts)
+    xcap_server: fix cross-compilation
 
-2006-06-21 13:56  greger
+commit 50f4cd86ccebab713c2b9895cdffbd619e84955e
+Author: Ovidiu Sas <[email protected]>
+Date:   Sun Dec 2 15:07:28 2012 -0500
 
-	* modules/avp_radius/: README, avp_radius.c, doc/functions.xml:
-	  Added new load function "caller_from_ruri". Useful for retrieving
-	  callee's config values in a caller situation, ex. when callee
-	  forwards call and thus for some purposes becomes caller.
+    regex: fix cross-compilation
 
-2006-06-21 10:25  kubartv
+commit beb3425e309b0f7d1b2bccee942c35f541a2dd7d
+Author: Ovidiu Sas <[email protected]>
+Date:   Sun Dec 2 14:53:44 2012 -0500
 
-	* lib/cds/: ChangeLog, sip_utils.c: corrected bug in
-	  get_expiration_value
+    pua_xmpp: fix cross-compilation
 
-2006-06-21 10:18  tma0
+commit c9d7fc58a19afdeb77fb3b496068d3f79ef95c67
+Author: Ovidiu Sas <[email protected]>
+Date:   Sun Dec 2 14:52:16 2012 -0500
 
-	* modules/tm/sip_msg.c, parser/case_min.h, parser/hf.c,
-	  parser/hf.h, parser/keys.h, parser/msg_parser.c,
-	  parser/msg_parser.h, parser/parse_hname2.c: - added parsing of
-	  Min-SE (related to Session-Expires) - added msg->session_expires,
-	  msg->min_se fields
+    pua_usrloc: fix cross-compilation
 
-2006-06-19 11:11  greger
+commit e5a49d909d582fe601cabbccf4f9ce2efa814414
+Author: Ovidiu Sas <[email protected]>
+Date:   Sun Dec 2 14:47:33 2012 -0500
 
-	* utils/sercmd/Makefile: Added dependency on ncurses to Makefile as
-	  RedHat type distributions do not have auto-dependency on ncurses
-	  as debian.
+    pua_reginfo: fix cross-compilation
 
-2006-06-19 01:15  tma0
+commit 417c7d9f4ba5e709e8bf65aa413584ad2bcae277
+Author: Ovidiu Sas <[email protected]>
+Date:   Sun Dec 2 14:44:52 2012 -0500
 
-	* parser/: case_acce.h, case_allo.h, case_cont.h, case_refe.h,
-	  case_reje.h, case_requ.h, case_sess.h, hf.c, hf.h, keys.h,
-	  msg_parser.c, parse_hname2.c: - adjusted compact headers. There
-	  were missing compact equivalents for Subject, Refer-To and
-	  completely missing Session-Expires, Accept-Contact, etc. support.
-	   Currently I've implemented both compact header and case switches
-	  to assign enumeration type. No next parsing is processed, but
-	  probably will be done, good candidate e.g. Session-Expires.
+    pua_dialoginfo: fix cross-compilation
 
-	  Now e.g. textops hf_value correctly recognizes "Session-Expires"
-	  and "x" as equal headers.
+commit d4f5465efae12c0ef66cb519ece3b3558b10ea5f
+Author: Ovidiu Sas <[email protected]>
+Date:   Sun Dec 2 14:42:19 2012 -0500
 
-2006-06-17 13:38  tma0
+    pua_bla: fix cross-compilation
 
-	* modules/eval/: README, eval.c: - support for looping eval_while,
-	  eval_while_stack - inc/dec operator - eval_add_value,
-	  eval_insert_value for inserting values on stack - valconcat for
-	  value concatanation
+commit 528d518494c73883fd77acd8e438bb16d2de5d3e
+Author: Ovidiu Sas <[email protected]>
+Date:   Sun Dec 2 14:38:42 2012 -0500
 
-2006-06-17 11:43  tma0
+    pua: fix cross-compilation
 
-	* modules/: db_ops/README, db_ops/db_ops.c, timer/timer.c: - test
-	  of return value from called route routine. It enebles break look
-	  using "return -1;" command
+commit d749894cae84112b4ffcc47d385d877961787a46
+Author: Ovidiu Sas <[email protected]>
+Date:   Sun Dec 2 14:35:15 2012 -0500
 
-2006-06-17 11:40  tma0
+    presence_xml: fix cross-compilation
 
-	* action.c, action.h: - run_flags published in header file. It may
-	  require any module command that calls run_actions, e.g. to absorb
-	  return.
+commit 8a5164c47ac85e87dd092eb2ac56c0161759861c
+Author: Ovidiu Sas <[email protected]>
+Date:   Sun Dec 2 13:56:36 2012 -0500
 
-2006-06-17 02:21  sobomax
+    presence_reginfo: no need to link against libxml2
 
-	* modules/nathelper/: nathelper.c, nathelper.h, natping.c: Remove
-	  some coding style deviations.
+commit 3aa1929ac18d747b24a14b6e9f6decbf7ed1a137
+Author: Ovidiu Sas <[email protected]>
+Date:   Sat Dec 1 23:27:44 2012 -0500
 
-2006-06-17 02:13  sobomax
+    presence_conference: fix cross-compilation
 
-	* modules/nathelper/natping.c: Rewert 1.6, it was a mistake on my
-	  part.
+commit b19700f17de38e1bffd93bbbd897044e0c696d40
+Author: Ovidiu Sas <[email protected]>
+Date:   Sat Dec 1 23:25:50 2012 -0500
 
-2006-06-17 02:11  sobomax
+    presence_dialoginfo: fix cross-compilation
 
-	* modules/nathelper/natping.c: o Staticize natping_contact();
+commit 46ce25ceda08916a355328682768699b6cff4d36
+Author: Ovidiu Sas <[email protected]>
+Date:   Sat Dec 1 23:24:06 2012 -0500
 
-	  o make natping_contact() using unix-style error reporting (0 -
-	  OK, != 0 error).
+    presence: fix cross-compilation
 
-2006-06-16 18:56  tma0
+commit 5ffd8eda41567f12c7224d68e32a1a20779d22a6
+Author: Ovidiu Sas <[email protected]>
+Date:   Sat Dec 1 23:21:44 2012 -0500
 
-	* modules/nathelper/: nathelper.c, nathelper.h, natping.c,
-	  doc/functions.xml: - added natping_contact() enabling to process
-	  pinging directly from script, e.g. using timer module -
-	  @nathelper.rewrite_contact select returning contact with
-	  rewritten IP:PORT
+    rls: fix cross-compilation
 
-2006-06-16 16:15  tma0
+commit 58bfbd3259587b29b7b509a360aa889924dec8de
+Author: Ovidiu Sas <[email protected]>
+Date:   Sat Dec 1 23:18:47 2012 -0500
 
-	* action.c, receive.c: - bugfix SER-111 -When (drop/function
-	  returning 0) appears in onreply route then post reply script
-	  callbacks are skiped -Empty route block causes drop
+    cpl-c: fix cross-compilation
 
-2006-06-16 13:48  tma0
+commit bc9dca0a9d05915a0f4634b7014b26958e81e21b
+Author: Ovidiu Sas <[email protected]>
+Date:   Sat Dec 1 16:59:56 2012 -0500
 
-	* script_cb.c: - fixed copy&paste error, reply callbacks newer
-	  installed
+    db_mysql: fix cross-compilation
 
-2006-06-14 10:36  tma0
+commit c31fd10ee20ff09115ae745792db4a0e03eb9e07
+Author: Ovidiu Sas <[email protected]>
+Date:   Sat Dec 1 16:54:38 2012 -0500
 
-	* modules/textops/: textops.c, doc/functions.xml: - added select
-	  @hf_value.HFNAME[IDX].name returning name part ( "name"
-	  <sip:host>;params )
+    cdp: un-used variable commented out
 
-2006-06-13 13:24  kubartv
+commit 8321d1fadb50017b52bcfebd1857982a60915dfe
+Author: Ovidiu Sas <[email protected]>
+Date:   Sat Dec 1 16:52:19 2012 -0500
 
-	* lib/cds/: ChangeLog, hash_table.c, hash_table.h: added functions
-	  for traversing hash table
+    cdp: fix cross-compilation
 
-2006-06-13 10:11  kubartv
+commit e45d706ba82ff9a36602cc7c2a28a55502abf99f
+Author: Ovidiu Sas <[email protected]>
+Date:   Sat Dec 1 16:46:10 2012 -0500
 
-	* modules/presence_b2b/ChangeLog,
-	  modules/presence_b2b/euac_funcs.c,
-	  modules/presence_b2b/euac_funcs.h, lib/cds/ChangeLog,
-	  lib/cds/ser_profile.c, modules/presence_b2b/euac_state_machine.c,
-	  lib/cds/sip_utils.c, lib/cds/sip_utils.h: few common SIP/SER
-	  helper functions moved into CDS (needed elsewhere)
+    xhttp_pi: fix cross-compilation
 
-2006-06-13 09:11  kubartv
+commit 7abf33373b0bfa0bc709286b01e9a7da2200659b
+Author: Ovidiu Sas <[email protected]>
+Date:   Sat Dec 1 16:42:15 2012 -0500
 
-	* modules/dialog/dlg_mod.c: prepared dialog management functions
-	  removed from this module
+    dialplan: fix cross-compilation
 
-2006-06-12 23:14  mma
+commit 8b6f3c51d7636905ea8a6f4754673ba569404cd7
+Author: Ovidiu Sas <[email protected]>
+Date:   Sat Dec 1 16:38:16 2012 -0500
 
-	* route.c: Fix test if select result is not empty for select
-	  function returning empty string with result=0, res.len=0.
+    cdp_avp: there's no xml dependecy for cdp_avp
 
-2006-06-12 13:40  mma
+commit 10de949af0f9f01b0585db0fd53d53452f97e067
+Author: Olle E. Johansson <[email protected]>
+Date:   Sat Dec 1 11:18:08 2012 +0100
 
-	* select.c: Free allocated structure if the parser returns error.
+    sqlops: Fixing typo in documentation, minor edits
 
-2006-06-12 11:10  kozlik
+commit 99521dafd452e56d7974fcbf8c32bd3679ccc4c9
+Author: Olle E. Johansson <[email protected]>
+Date:   Sat Dec 1 11:05:57 2012 +0100
 
-	* db/schema/attr_types.xml: bit for uri attrs in priority column
-	  reserved
+    pua_usrloc: Minor edits, typo fix
 
-2006-06-12 11:03  kozlik
+commit fe6508d6d56a7f739c7fc0ae2220e509abb337e1
+Author: Olle E. Johansson <[email protected]>
+Date:   Sat Dec 1 10:49:11 2012 +0100
 
-	* db/schema/ser.xml, db/schema/uri_attrs.xml,
-	  scripts/dbtext/ser_db/uri_attrs, scripts/mysql/my_create.sql,
-	  scripts/oracle/or_create.sql, scripts/postgres/pg_create.sql:
-	  table uri_attrs introduced
+    sdpops: Typo fix, minor edits
 
-2006-06-12 10:40  rco
+commit a7522f0d648470e36a82357660fc169628b2f506
+Author: Olle E. Johansson <[email protected]>
+Date:   Sat Dec 1 09:50:31 2012 +0100
 
-	* modules/tm/t_cancel.c: added retransmission timer reset on
-	  cancel.
+    utils: Minor update to README
+    
+    XML changes already committed.
 
-2006-06-09 18:46  mma
+commit 4fda56162c3b174033ea81ffd7c2af4a6e7f10f2
+Author: Ovidiu Sas <[email protected]>
+Date:   Sat Dec 1 01:30:24 2012 -0500
 
-	* select.c, select.h, doc/serdev/select_module.xml,
-	  doc/serdev/serdev.xml, modules/xlog/xl_lib.c: Parsing of select
-	  framework syntax moved to the select core; serdev doc showing how
-	  to extend select framework within module.
+    xmlrpc: fix cross-compilation
 
-2006-06-09 17:13  mma
+commit c4b91489ac3f2e2fcbe16413f56ef8cb8e7e2dde
+Author: Ovidiu Sas <[email protected]>
+Date:   Sat Dec 1 01:28:03 2012 -0500
 
-	* doc/serdev/modiface.xml: & -> &amp; in code example
+    utils: fix cross-compilation
 
-2006-06-09 10:48  kubartv
+commit a419c74d065156a2c9626b2475beaf08e130137e
+Author: Ovidiu Sas <[email protected]>
+Date:   Sat Dec 1 01:24:24 2012 -0500
 
-	* lib/cds/: ser_profile.c, ser_profile.h: clarified "simple
-	  profiling"
+    xmlops: fix cross compilation
 
-2006-06-08 14:04  tma0
+commit 983dd207a51be5ea2bd2a71d546280f8e4389408
+Author: Ovidiu Sas <[email protected]>
+Date:   Sat Dec 1 00:12:34 2012 -0500
 
-	* modules/eval/: README, eval.c: - added support for functions when
-	  adding values to stack, currently we have time, uuid, stackno
+    kamailio.cfg: adding xhttp modules to the default config
+                  three new defines: WITH_XHTTP, WITH_XHTTP_RPC, WITH_XHTTP_PI
 
-2006-06-07 23:55  andrei
+commit 209317a81d845ba781964205242849ab12bbc0c2
+Author: Andrew Mortensen <[email protected]>
+Date:   Fri Nov 30 21:38:48 2012 -0500
 
-	* action.c, route.c, usr_avp.c, parser/parse_fline.h:
-	  - numeric avp compared with string value fix: the value will be
-	  converted  to int on-the-fly if possible (unfortunately we don't
-	  have enough information    to do it on fixup).
+    sca: fix snprintf buffer size for Expires header in replies to SUBSCRIBE.
+    
+    - reported by Robert Boisvert.
 
-	  - HTTP_VERSION_LEN macrodef. typo fix
+commit 8632a265c3703e19cad9253f84527a913ee9cdd5
+Author: Andrew Mortensen <[email protected]>
+Date:   Fri Nov 30 14:42:19 2012 -0500
 
-2006-06-07 23:34  andrei
+    sca: support Record-Route
+    
+    - Save Record-Route values from SUBSCRIBEs to ensure NOTIFYs traverse
+      correct path to subscriber.
+    - Update SCA DB schema & creation scripts: add record_route column,
+      increment sca_subscriptsion table version.
 
-	* msg_translator.c, msg_translator.h:
-	  - applied patch from Miklos Tirpak <[email protected]> (closes
-	  SER-110)
+commit 1da2a76be4e374ddb4296a1d54963fe344dc0970
+Author: Richard Fuchs <[email protected]>
+Date:   Fri Nov 30 14:00:09 2012 -0500
 
-2006-06-07 11:08  tma0
+    core/corex: move send()/send_tcp() to corex module
+    
+    As suggested by miconda on sr-dev, move send() and send_tcp() out of core
+    and into the new corex module in order to make them support pseudo variables.
+    This changes:
+    
+    - drops SEND and SEND_TCP tokens from config parser
+    - remove related config parser code relying on SEND_T and SEND_TCP_T
+    - augment corex module to provide the functions removed from core
+    - update corex docs
 
-	* modules/timer/: Makefile, README, timer.c: - added timer module
-	  files - the module supports calling specific dedicated route in
-	  predefined interval and perfom a task - see README - docbook doc
-	  come later
+commit 3376e3b8c54a7c9bc13f87368baeaaa145a9ced5
+Author: Olle E. Johansson <[email protected]>
+Date:   Fri Nov 30 09:31:47 2012 +0100
 
-2006-06-07 10:59  tma0
+    htable: Update documentation on mod-init
+    
+    Based on Daniel's answer in sr-dev on a question about lua. The Lua environment
+    is initialized in child processes, so it's not reachable in mod-init.
 
-	* modules/eval/: Makefile, README, eval.c: - added eval module
-	  files - eval enables extression evaluating directly in ser.cfg
-	  script using polish notation.  - AVP(int/str), select via xlib,
-	  fast registers (may be fixuped alternative to using AVP as
-	  temporary variables), etc.  - both int and str types - see README
-	  - docbook doc come later
+commit cf97967489f1b61c5bf0a841f9f650e40fc9911e
+Merge: d02070d 514875d
+Author: Olle E. Johansson <[email protected]>
+Date:   Thu Nov 29 22:01:05 2012 +0100
 
-2006-06-07 10:38  tma0
+    Merge branch 'master' of ssh://git.sip-router.org/sip-router
+    
+    * 'master' of ssh://git.sip-router.org/sip-router:
+      kamctlrc: adding sca to the list of extra modules
 
-	* modules/db_ops/: Makefile, README, db_ops.c: - db_ops module
-	  files added.	- db_ops enables processing SQL commands directly
-	  in ser.cfg script. See README for more information. Full docbook
-	  doc come later.
+commit d02070dbef121525b320487d4ad2fbfda55aa62d
+Author: Olle E. Johansson <[email protected]>
+Date:   Thu Nov 29 22:00:19 2012 +0100
 
-2006-06-06 19:40  calrissian
+    ipops: Minor documentation changes
+    
+    Use the IPv6 documentation address in examples if possible - 2001:DB8::/32
 
-	* modules/dispatcher/dispatch.c: new mode 2 was not evaluated
-	  correctly
+commit 514875de53e19cfd4a208da3d778e454ce12a6f4
+Author: Ovidiu Sas <[email protected]>
+Date:   Thu Nov 29 15:42:26 2012 -0500
 
-2006-06-06 13:54  kubartv
+    kamctlrc: adding sca to the list of extra modules
 
-	* modules/presence_b2b/: ChangeLog, euac_funcs.c: corrected BUG
-	  reported by Luis Silva - added missing parse_from_header call
+commit 14333d9360273c073473c144c198496a314e2e73
+Author: Olle E. Johansson <[email protected]>
+Date:   Thu Nov 29 21:18:14 2012 +0100
 
-2006-06-05 12:37  mma
+    utils: Fixing typos
+    
+    Typos that I missed in the first check...
 
-	* Makefile.defs, action.c, modules/tm/ut.h: MADDR support (check-in
-	  not to forget about)
+commit 1ab39cf866600ce155db3d5454981167d001d285
+Author: Olle E. Johansson <[email protected]>
+Date:   Thu Nov 29 21:15:53 2012 +0100
 
-	  If you need to support maddr parameter in uri (oh, poor you) set
-	  the HONOR_MADDR define in the Makefile.defs and recompile.
-	  Tested with Windows Messenger 5.1 on TCP connection.
+    utils: Minor documentation changes
 
-2006-06-01 11:46  tma0
+commit 010ea5d4b71308cb18cd759db70ac48f081a672e
+Author: Olle E. Johansson <[email protected]>
+Date:   Thu Nov 29 20:52:27 2012 +0100
 
-	* modules/rr/: rr_mod.c, rr_mod.h: - AVP_FLAG_DIALOG_COOKIE
-	  constant published in header to be accesable by other modules
-	  that are keen to use dialog cookies
+    LDAP minor documentation changes
 
-2006-06-01 01:29  tma0
+commit aca01e149445a0c6f87a9ed97974bcba612e426f
+Author: Ovidiu Sas <[email protected]>
+Date:   Thu Nov 29 09:57:48 2012 -0500
 
-	* cfg.y: -optional $ in setavpflag,... identifier
+    sca: adding missing sca db utils files
 
-2006-06-01 01:23  tma0
+commit cc3bc9669a2c528db9a8ada5e13cd553be9d2f1e
+Author: Andrew Mortensen <[email protected]>
+Date:   Wed Nov 28 23:23:48 2012 -0500
 
-	* modules/rr/: avp_cookie.c, avp_cookie.h, rr_mod.c,
-	  doc/functions.xml: - removed obsolete rr_add_avp_cookie,
-	  rr_store. Use new core function setavpflag instead. rr will store
-	  avp to record-route flaged "dialog_cookie"
+    sca: remove old SQL table creation file
+    
+    - use make dbschema to generate sql from xml table schema instead.
 
-2006-06-01 01:02  tma0
+commit 7575c853b1786fc09965238ea68bca4400bd7c5f
+Author: Andrew Mortensen <[email protected]>
+Date:   Wed Nov 28 22:50:30 2012 -0500
 
-	* action.c, cfg.lex, cfg.y, route_struct.c, route_struct.h,
-	  usr_avp.c, usr_avp.h, doc/serdev/routing_engine.xml,
-	  doc/seruser/reference.xml: - added AVP flags feature.
+    sca: add db schema files and kamctl table create SQL file.
 
-	  Every AVP may by flaged from script via setavpflag(avpid, flag)
-	  (it's similar like message flags setflags,resetflags,isflagset).
-	  AVP flags must be declared using avpflags statement. Flags may be
-	  tested via isavpflagset(avpid, flag). Both the setting and
-	  testing may also be processed in a module. It's currently used in
-	  the "rr" module for dialog_cookies. Such module should register
-	  flag using register_avpflag(flag_id).
+commit eddd6b80432a3feda925ccb629bf55892d4b175f
+Author: Olle E. Johansson <[email protected]>
+Date:   Wed Nov 28 12:02:53 2012 +0100
 
-	  Example: avpflags myflag, dialog_cookie;
+    group: Minor changes to documentation
+
+commit 7b5f56e05482ea060dc1c093db599fd8cda22f9e
+Merge: 2536a10 358cfb7
+Author: Andrew Mortensen <[email protected]>
+Date:   Tue Nov 27 15:13:21 2012 -0500
 
-	  $a = 123; setavpflag($a, "myflag");
+    Merge branch 'master' of git+ssh://git.sip-router.org/sip-router
 
-	  if (isavpflagset($a, "myflag")) { ....
+commit 2536a10c516b7c569d04e431b74bbd88964603a7
+Author: Andrew Mortensen <[email protected]>
+Date:   Tue Nov 27 14:06:23 2012 -0500
 
-	  $dlg_foo = "foo"; $dlg_bar = "bar"; setavpflag("$f./^dlg_",
-	  "dialog_cookie");
+    sca: fix potential leak of parsed To body
+    
+    - if msg->to wasn't parsed, sca_subscription_from_request called parse_to,
+      but never called free_to_params.
+    - make the subscription to-tag independent of the parsed to_body with a
+      pkg_malloc'd copy, freed in the caller.
 
-2006-05-31 21:51  calrissian
+commit 358cfb781a4854a3943b96ede552e46ccb1ccc77
+Author: Ovidiu Sas <[email protected]>
+Date:   Tue Nov 27 13:28:03 2012 -0500
 
-	* modules/xmlrpc/xmlrpc.c: fixed a nice memory leak (memory was
-	  allocated twice)
+    modules_k/dmq: add newline at end of file (peer.c)
 
-2006-05-31 19:03  hallik
+commit 9ef5345481a526e2417ce59ebc13f19132e02934
+Author: Ovidiu Sas <[email protected]>
+Date:   Tue Nov 27 13:25:12 2012 -0500
 
-	* select.c: Initialize nested function array
+    modules/tm: add newline at end of file (test.c)
 
-2006-05-31 10:37  tirpi
+commit 777c3e3e388f4267744cd5368956900cea296b07
+Merge: 141fc56 5908a9e
+Author: Andrew Mortensen <[email protected]>
+Date:   Tue Nov 27 00:32:43 2012 -0500
 
-	* modules/rr/: fix_lumps.h, record.c, record.h, rr_mod.c:
-	  remove_record_route function introduced which can be used to
-	  remove the rr HF when it is in message lump memory
+    Merge branch 'admorten/sca'
 
-2006-05-30 23:24  calrissian
+commit 5908a9e88242a166c71b03bce77b326c2f27f5a6
+Author: Andrew Mortensen <[email protected]>
+Date:   Tue Nov 27 00:28:28 2012 -0500
 
-	* modules/dispatcher/doc/params.xml: added new flag 2
+    sca: move to modules directory
+    
+    - moved after removal of usrloc dependency per miconda's request on sr-dev
 
-2006-05-30 23:21  calrissian
+commit 95cf6e358b2be210b61e6d060df0604e3e36a043
+Author: Andrew Mortensen <[email protected]>
+Date:   Tue Nov 27 00:24:11 2012 -0500
 
-	* modules/dispatcher/: dispatch.c, dispatch.h: added flag value 2
-	  which takes username first and falls back to hostname
+    sca: update docs
+    
+    - "domain" modparam no longer required.
+    - usrloc no longer a dependency.
 
-2006-05-30 22:40  andrei
+commit 959b2c423a70395c97437d0bcef7950762c4a9b5
+Author: Andrew Mortensen <[email protected]>
+Date:   Tue Nov 27 00:09:06 2012 -0500
 
-	* Makefile.defs, io_wait.c, io_wait.h:
-	  - sigio 64 bits bug workarround enabled for linux kernels <2.6.5.
+    sca: remove dependency on usrloc.
+    
+    - usrloc callbacks in practice were only useful for expired
+      registrations, and even in that case our expired subscription
+      timer is likely to have purged the stale subscription.
 
-2006-05-30 21:20  andrei
+commit 141fc56f5a46f26e40e8e19e4f5eb02844d192d7
+Author: Ovidiu Sas <[email protected]>
+Date:   Mon Nov 26 23:18:02 2012 -0500
 
-	* io_wait.h, route.c, route.h:
-	  - added route_lookup (like route_get(), but doesn't create a new
-	  route  if not found) -- patch from  Miklos Tirpak
-	  <[email protected]>
+    socket_info: add #include "linux/types.h"
 
-	  -fixed route_new_list() not init. realloc'ed chunk bug, found by
-	   Bogdan Pintea <[email protected]>
+commit 0af64c92263b82dc4b487c4da5199c8b150b0517
+Author: Andrew Mortensen <[email protected]>
+Date:   Mon Nov 26 16:50:43 2012 -0500
 
-2006-05-30 14:00  tirpi
+    sca: eliminate need for "domain" modparam
+    
+    - Extract domain to be used in idle appearance from subscription AoR instead.
 
-	* modules/mysql/dbase.c: bug currected: missing space in query
-	  between 'where' and 'order by' keywords
+commit 76885b5c67ca7467d6681b81841f0323dca6ab35
+Merge: 17d1934 cceb39f
+Author: Alex Balashov <[email protected]>
+Date:   Mon Nov 26 08:18:48 2012 -0500
 
-2006-05-26 09:17  kubartv
+    Merge branch 'master' of ssh://git.sip-router.org/sip-router
 
-	* modules/rls/: ChangeLog, rl_subscription.h, rls_mod.c, rls_mod.h:
-	  removed unused xcap_root parameter (it is in xcap module instead)
+commit 17d1934cebd1c96c7f3689be33ccae2a981f6b2c
+Author: Alex Balashov <[email protected]>
+Date:   Mon Nov 26 08:17:18 2012 -0500
 
-2006-05-25 16:20  kubartv
+    dialog(k): Added dlg_set_timeout_by_profile() route script function.
+    
+    This function allows the same dialog timeout to be set across all
+    the dialogs in a profile (with or without values).
+    
+    The intended use-case is to allow the user to conditionally end or
+    expire from tracking a user's/caller's/account's calls.
 
-	* modules/tm/ut.h: corrected BUG in uri2dst - t_uac was not working
+commit cceb39f9fb8a55ab7e43f4a546d3d524f5acccd4
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Mon Nov 26 14:14:37 2012 +0100
 
-2006-05-25 15:18  kozlik
+    mem: check debug info only when joining the next packet
+    
+    - it was checked even it was not freeand not the case for a join
 
-	* db/schema/attr_types.xml, scripts/dbtext/ser_db/attr_types,
-	  scripts/mysql/my_create.sql, scripts/oracle/or_create.sql,
-	  scripts/postgres/pg_create.sql: updated properties of attribute
-	  asserted_id
+commit 45d8d3ccd943caad37570ae013118536d38a8457
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Mon Nov 26 13:53:22 2012 +0100
 
-2006-05-25 14:04  kubartv
+    Makefile.defs: version set to 3.4.0-dev6
 
-	* modules/: dialog/dlg_request.c, xcap/xcap_mod.c:  - cosmetical
-	  changes
-	   - experimental trick in dialog module
+commit d96401668cefade5e251b101eb93f07faae091ad
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Mon Nov 26 13:51:53 2012 +0100
 
-2006-05-25 14:03  kubartv
+    Mkefile.defs: default memory manager set to q_malloc
+    
+    - debug option is left unset (no DBG_QM_MALLOC)
+    - lower memory chunk overhead with faster join
 
-	* modules/: pa/ChangeLog, pa/notify.c, presence_b2b/ChangeLog,
-	  presence_b2b/events_uac.c, rls/ChangeLog, rls/rl_subscription.c:
-	  corrected BUG - missing Max-Forwards header in outgoing requests
+commit 15a0b9c23e4b4f829bbb88f73e8042371f3f38a2
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Mon Nov 26 13:42:07 2012 +0100
 
-2006-05-25 11:37  kubartv
+    Makefile.defs: added MEMMNG to allow selection of memory manager
+    
+    - MEMMNG=0 => fast malloc is used (f_malloc)
+    - MEMMNG=1 => quick malloc is used (q_malloc)
+    - MEMDBG is used now to set the debug mode for each of the managers
+    	- 0 - no debug info
+    	- 1 - debug info enabled
 
-	* modules/presence_b2b/: ChangeLog, euac_funcs.c, euac_funcs.h,
-	  euac_state_machine.c, events_mod.c, events_mod.h, rpc.c, trace.h:
-	   - randomized sending of SUBSCRIBE requests (not directly in the
-	  QSA subscription processing but initiated by timer; parameter
-	  driven)
-	   - removed unnecessary code from mod init function
+commit 8acb59ee4de31ab76763a021acaf7b5a13e02f23
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Sun Nov 25 21:54:32 2012 +0100
 
-2006-05-25 11:32  kubartv
+    dialog(k): safety check for callid parameter in mi commands
+    
+    - if not provided properly, it may result in crash
+    - reported by Ricardo Martinez
 
-	* modules/pa/: ChangeLog, notify.c, pa_mod.c, pa_mod.h,
-	  presentity.c, watcher.c: added reaction on failed NOTIFY requests
-	  (might be problematic with incorrect clients; may be disabled)
+commit d43fbf2a5a5464a4a499282b88d58a1fc97b9c7e
+Author: Olle E. Johansson <[email protected]>
+Date:   Sun Nov 25 16:38:27 2012 +0100
 
-2006-05-25 11:12  kubartv
+    sanity Sanity-checked spelling. Minor corrections.
 
-	* lib/: cds/sstr.h, presence/notifier_domain.c, xcap/xcap_client.c:
-	  cosmetical changes
+commit b8e877889a99b03f190a82acf101681a23ca11d6
+Author: Andrew Mortensen <[email protected]>
+Date:   Sun Nov 25 09:09:59 2012 -0500
 
-2006-05-23 11:57  calrissian
+    Use project-wide gitignore instead.
 
-	* modules/sanity/: mod_sanity.c, mod_sanity.h, sanity.c, sanity.h,
-	  doc/functions.xml, doc/params.xml, doc/sanity.xml: added new
-	  check 'parse uris' which checks the presence and parseability of
-	  Request, From and To URI.
+commit 1dad8ba9cceb4de3131fe358c643833fa20b484f
+Author: Andrew Mortensen <[email protected]>
+Date:   Sun Nov 25 09:08:42 2012 -0500
 
-2006-05-17 16:36  kubartv
+    Remove leftovers from standalone repo.
 
-	* modules/rls/: ChangeLog, db_rls.c, rl_subscription.c,
-	  rl_subscription.h, rls_data.c, rls_handler.c, rls_mod.c,
-	  rls_mod.h, rpc.c, subscription_manager.c, subscription_manager.h,
-	  time_event_manager.c, trace.h, uri_ops.c, virtual_subscription.c:
-	  - added some parameters for better control over performance
-	  (controlling level   of nested lists, timer settings, ... see
-	  ChangeLog) - handling responses on NOTIFY (destroying
-	  subscriptions for non-OK responses)
+commit 9e4b7e56f471c7923100905d0221b0d7b19f4949
+Merge: a708dcb 579299c
+Author: Andrew Mortensen <[email protected]>
+Date:   Sat Nov 24 22:06:22 2012 -0500
 
-2006-05-15 23:34  tma0
+    Merge remote-tracking branch 'sca/master' into admorten/sca
 
-	* modules/rr/avp_cookie.c: - fixed critical precedence bug in
-	  base64encode, *tgt_len-- -> (*tgt_len)--
+commit a708dcb5ad90ec517db481fea0570ec53863b471
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Wed Nov 21 17:22:31 2012 +0100
 
-2006-05-15 11:56  tma0
+    lib/kcore: reset time value for faked msg
+    
+    - reported by Uri Shacked
 
-	* Makefile.defs, config.h, daemonize.c, globals.h, main.c,
-	  version.h: - OS macro defined in Makefile.defs left unquoted and
-	  added OS_QUOTED. OS macro maybe used by 3rd party header in
-	  regular way, w/o quotes
+commit 579299cb8f95512dda6663e963769231887c43de
+Author: Andrew Mortensen <[email protected]>
+Date:   Tue Nov 20 23:13:35 2012 -0500
 
-	  - added dont_daemonize feature. When a process manager is
-	  responsible for running processes then is not happy when spawned
-	  process is terminated almost immediately. Manager will try
-	  restart ser in infinite loop.  Cmd line params (ser.cfg)
-	  (backward compatible):   -D ... don't fork (dont_fork=1)   -DD
-	  ... don't daemonize creator process (dont_fork=2)   -DDD | or no
-	  -D param ... normal daemonizetion (dont_fork>2 or 0)
+    Regenerated README after fixing typos and documenting more RPC commands.
 
-	  Note there is problem when Ctrl-C in dont_daemonize mode, not all
-	  processes are terminated
+commit b6cebc5147bf44d85d9c312fb170bb6d6c748c07
+Author: Andrew Mortensen <[email protected]>
+Date:   Tue Nov 20 23:10:59 2012 -0500
 
-	  Creator_pid variable..pid of creator process, may be terminated
+    Document sca.seize_appearance and sca.release_appearance RPC commands.
 
-2006-05-12 10:31  calrissian
+commit 38d134a0d34b5335fb7a826585ce08d72d462bcc
+Author: Andrew Mortensen <[email protected]>
+Date:   Tue Nov 20 23:08:38 2012 -0500
 
-	* select_core.c: ruri select now returns the most recent version of
-	  the ruri
+    Update sca_call_info_update ex. to make clear it should be call for To URIs.
 
-2006-05-11 17:51  calrissian
+commit 7e29507f68d4fda9b785c35651f1195991fda99b
+Author: Andrew Mortensen <[email protected]>
+Date:   Tue Nov 20 23:08:05 2012 -0500
 
-	* modules/nathelper/nathelper.c: fixed length check for received
-	  parameter in case of IPv6. Thanks to Klaus for pointing it out
+    Fix typo: "line_seize" -> "line-seize"
 
-2006-05-11 15:44  mma
+commit c5fac4809aac489163bcd9c4fbf6636092000f85
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Tue Nov 20 23:41:04 2012 +0100
 
-	* modules/xlog/doc/xlog.xml: documentation updated
+    kamctl: new command 'db showg'
+    
+    - uses \G at end of sql query, resulting in line-formated output (at
+      least for mysql)
 
-2006-05-11 15:26  calrissian
+commit 61472e04704e99836743c833eb66c33ea0d81724
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Tue Nov 20 23:10:28 2012 +0100
 
-	* modules/domain/domain_mod.c: - added function is_from_anonym
-	  which retruns ture if the From domain   is anonymous.invalid
-	  (configurable as module parameter). Additionally   an AVP
-	  is_anonymous with value 1 is added to the user From track.  -
-	  added module parameter load_preferred_id which tells the
-	  lookup_domain   function to take the domain from the
-	  P-Preferred-Identity header if   present instead of the From
-	  header.
+    sdpops: added sdp_content()
+    
+    - return true of there is a sdp part in the body of sip message
 
-2006-05-11 15:21  calrissian
+commit 6df74c2fb208c364b5d50e9d87f80120de93c945
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Tue Nov 20 21:55:51 2012 +0100
 
-	* modules/tm/tm.c: Added new function t_lookup_cancel. The function
-	  returns true if tm knows about the transaction and the request is
-	  canceable.  Note: the functions accepts only CANCEL requests.
+    sdpops: internal function w_get_sdp renamed to w_get_sdp
+    
+    - match the exported name pattern
 
-2006-05-11 15:19  calrissian
+commit 5d2cba306439adfa36c1e01ccd6473f372ac7e5e
+Author: Andrew Mortensen <[email protected]>
+Date:   Mon Nov 19 22:29:24 2012 -0500
 
-	* modules/avp/avp.c: Extended attr2uri. The function now takes a
-	  second optional argument which determines the sub part of the
-	  ruri as target for the AVP content.  Currently supported values:
-	  prefix,uri,username,usernamepasswd,domain,domainport,port
+    Remove redundant message logged when removing subscriber after failed NOTIFY.
+    
+    Subscriber removal on failed NOTIFY is currently disabled.
 
-2006-05-11 15:15  calrissian
+commit 742bc69927eee2df330a85d248144b308aa3a08e
+Author: Andrew Mortensen <[email protected]>
+Date:   Mon Nov 19 22:28:17 2012 -0500
 
-	* modules/avp/avp.c: let dump_avp dump all AVPs not only user from
-	  track
+    Remove debug log message from usrloc callback.
 
-2006-05-11 15:06  calrissian
+commit ba394704868ad9e788ca1fb6a3a8e769f91c628a
+Author: Andrew Mortensen <[email protected]>
+Date:   Mon Nov 19 22:27:03 2012 -0500
 
-	* modules/nathelper/nathelper.c: made received uri parameter IPv6
-	  compliant
+    Make purge expired log message more readable.
 
-2006-05-11 13:29  tma0
+commit 6c0f220013450894a2b2076b3414857a8fa0b592
+Author: Andrew Mortensen <[email protected]>
+Date:   Mon Nov 19 22:25:55 2012 -0500
 
-	* main.c, globals.h: - added creator_pid variable to enable get pid
-	  of ser main process that terminates when daemonizing.
+    Remove leftover debugging in show_subscription routine.
 
-2006-05-11 10:49  kozlik
+commit f9b4ef27e5336e235f6f79506ca115f188e6101d
+Author: Andrew Mortensen <[email protected]>
+Date:   Mon Nov 19 22:24:57 2012 -0500
 
-	* db/schema/: attr_types.xml, domain_settings.xml: documentation
-	  updated
+    Remove debug log message enumerating subscribers in hash slots on NOTIFY.
 
-2006-05-11 09:29  kubartv
+commit f76d90abae5fe6a3df4225d54d38170c854f3771
+Author: Andrew Mortensen <[email protected]>
+Date:   Mon Nov 19 22:24:02 2012 -0500
 
-	* lib/cds/ChangeLog, lib/cds/ser_profile.c, lib/cds/ser_profile.h,
-	  lib/cds/simple_profile.c, lib/cds/simple_profile.h,
-	  lib/xcap/ChangeLog, lib/xcap/pres_rules.c,
-	  lib/xcap/resource_list.c, modules/pa/ChangeLog,
-	  modules/pa/auth.h, modules/pa/notify.c, modules/pa/pa_mod.c,
-	  modules/pa/pdomain.c, modules/pa/pres_notes.c,
-	  modules/pa/presentity.c, modules/pa/presentity.h,
-	  modules/pa/publish.c, modules/pa/reply.c, modules/pa/rpc.c,
-	  modules/pa/subscribe.c, modules/pa/trace.h, modules/pa/watcher.c:
-	   - corrected BUG in handling PUBLISH in PA module
-	   - cosmetical changes in PA, libs
-	   - added some trace logs for performance tests
+    Remove debug log message leftover from early testing.
 
-2006-05-10 16:16  hallik
+commit 4ad1c196b5a92ded7aa625db4bf583a2563cf900
+Author: Andrew Mortensen <[email protected]>
+Date:   Mon Nov 19 22:22:32 2012 -0500
 
-	* scripts/: dbtext/ser_db/attr_types, mysql/my_create.sql,
-	  oracle/or_create.sql, postgres/pg_create.sql: Flags update -
-	  recreate from xml-schema.
+    Log error when building Replaces header and dialog to replace is not confirmed.
 
-2006-05-10 16:13  kozlik
+commit 0870c8b926b3ef63d1fb8e20aaf625de375fde7d
+Author: Andrew Mortensen <[email protected]>
+Date:   Mon Nov 19 22:18:00 2012 -0500
 
-	* db/schema/attr_types.xml: changed values of flags in flag column
+    Updated with typo fixes from docbook xml.
 
-2006-05-10 16:12  kozlik
+commit 88c4680aed5a13a33a3c2c3cd6a21d2b2eaf6c9e
+Author: Andrew Mortensen <[email protected]>
+Date:   Mon Nov 19 22:12:37 2012 -0500
 
-	* db/db.h: allocated flags for table attr_types and domain_settings
+    Forgot to add doc Makefile to repo.
 
-2006-05-04 20:51  mma
+commit 277dc5ef0233fa95746b7e9556e6e11ee3aa4da4
+Author: Andrew Mortensen <[email protected]>
+Date:   Mon Nov 19 22:11:05 2012 -0500
 
-	* modules/avp/: avp.c, doc/functions.xml: - bug: xlset_attr did not
-	  set AVP_VAL_STR - more documentation update
+    Fix typos and formatting.
 
-2006-05-04 14:20  mma
+commit 78ba61f271998ca2b6e54cbdd2be5caf47838493
+Author: Andrew Mortensen <[email protected]>
+Date:   Mon Nov 19 17:17:44 2012 -0500
 
-	* modules/avp/doc/: avp.xml, functions.xml, params.xml:
-	  Documentation update
+    Add simple installation instructions.
 
-2006-05-03 16:01  kozlik
+commit ce6a9ca274c7d38faba2f1ff49e2f09896a9e6a4
+Author: Andrew Mortensen <[email protected]>
+Date:   Mon Nov 19 16:47:06 2012 -0500
 
-	* db/schema/attr_types.xml, db/schema/global_attrs.xml,
-	  scripts/dbtext/ser_db/attr_types,
-	  scripts/dbtext/ser_db/global_attrs, scripts/mysql/my_create.sql,
-	  scripts/oracle/or_create.sql, scripts/postgres/pg_create.sql:
-	  added global attributes uid_format and did_format
+    Add copyright comments to all source files.
 
-2006-04-28 15:28  kozlik
+commit a6b36b03f107be84e8c7bfd9f30f782c51e4f600
+Author: Andrew Mortensen <[email protected]>
+Date:   Mon Nov 19 16:40:44 2012 -0500
 
-	* scripts/dbtext/ser_db/attr_types, db/schema/attr_types.xml,
-	  scripts/mysql/my_create.sql, scripts/oracle/or_create.sql,
-	  scripts/postgres/pg_create.sql: set flag 'required' for some
-	  attributes
+    Add GPLv2 license
 
-2006-04-26 18:00  kozlik
+commit b1465456aae950c1a70928a2e596cbc6b34c2ccf
+Author: Andrew Mortensen <[email protected]>
+Date:   Mon Nov 19 16:10:36 2012 -0500
 
-	* db/schema/domain_settings.xml, db/schema/ser.xml,
-	  scripts/dbtext/ser_db/domain_settings,
-	  scripts/mysql/my_create.sql, scripts/oracle/or_create.sql,
-	  scripts/postgres/pg_create.sql: created table domain_settings
+    Regenerated to include mention of usrloc dependency.
 
-2006-04-24 20:16  janakj
+commit 0bef7be9bf745e73230f14637e54defae3e5afe5
+Author: Andrew Mortensen <[email protected]>
+Date:   Mon Nov 19 16:10:03 2012 -0500
 
-	* modules/auth/api.c: - PRACK added to the list of methods that are
-	  alway authenticated
+    Include usrloc dependency.
 
-2006-04-24 20:01  janakj
+commit 2708f57b8a464905e909409e475dd731b413a5b9
+Author: Andrew Mortensen <[email protected]>
+Date:   Mon Nov 19 16:08:15 2012 -0500
 
-	* modules/uri_db/uridb_mod.c: - implemented check_uri function, the
-	  function can be used to   verify whether user (represented by
-	  uid) is allowed to use   the URI in  From/To/Request-URI
+    Add docbook-generated README for sca module.
 
-2006-04-21 16:28  andrei
+commit 3a7771c9c6c4225cbb380a20a28b6ce5b9ffda2e
+Author: Andrew Mortensen <[email protected]>
+Date:   Mon Nov 19 16:07:32 2012 -0500
 
-	* Makefile.defs, action.c, config.h, forward.c, ip_addr.h,
-	  msg_translator.c, msg_translator.h, version.h,
-	  modules/sl/sl_funcs.c, modules/tm/sip_msg.c,
-	  modules/tm/t_funcs.c, modules/tm/t_fwd.c, modules/tm/t_fwd.h,
-	  modules/tm/t_lookup.c, modules/tm/t_msgbuilder.c,
-	  modules/tm/t_msgbuilder.h, modules/tm/t_reply.c,
-	  modules/tm/uac.c, modules/tm/ut.h, modules/xmlrpc/http.c,
-	  parser/msg_parser.h, parser/parse_uri.c, parser/parse_via.c,
-	  parser/parse_via.h:
-	  - more struct dest_info conversions (via_builder, tm:
-	  build_uac_req,   assemble_via a.s.o) - basic support for
-	  comp=method (where mehtod=sigcomp|sergz) parsing  (via, various
-	  uris) and adding (via, rr lumps). The code is compiled   only if
-	  USE_COMP is defined. NOTE: for now the code is useless   (no
-	  compression code yet and no compression hooks), so by default
-	  it's	 not compiled.
+    Add failure_route example.
 
-	  WARNING: lots of changes and very lightly tested
+commit 23a02a761da2e408a5bea914a66842a85e2260f0
+Author: Andrew Mortensen <[email protected]>
+Date:   Mon Nov 19 15:58:31 2012 -0500
 
-2006-04-21 10:39  kubartv
+    Remove quotes from integer values.
 
-	* modules/presence_b2b/: ChangeLog, euac_funcs.c, events_mod.c,
-	  events_uac.c, events_uac.h, qsa_events.c, qsa_events.h, rpc.c:
-	  added parameter presence_outbound_proxy (may be used instead of
-	  presence_route)
+commit 6e35d942926837176f74cee843d989753897f8be
+Author: Andrew Mortensen <[email protected]>
+Date:   Mon Nov 19 15:50:28 2012 -0500
 
-2006-04-19 18:15  janakj
+    Fix typo leaving XML comment unterminated.
 
-	* timer.c: - L_INFO turned into DBG (too noisy)
+commit 4b0e0e4b81becde2769f69539fa23a15f69099f2
+Author: Andrew Mortensen <[email protected]>
+Date:   Mon Nov 19 15:47:01 2012 -0500
 
-2006-04-19 18:11  janakj
+    Add Exported RPC commands section.
 
-	* action.c: - "null action list" warning turned into debugging
-	  message (too noisy)
+commit fb03bbe9469aeec92bf729abe5b8a8b181d99766
+Author: Andrew Mortensen <[email protected]>
+Date:   Mon Nov 19 15:27:01 2012 -0500
 
-2006-04-19 16:48  janakj
+    sca module doesn't export any functions.
 
-	* modules/auth_db/authorize.c: - fixed bug introduced with
-	  SUPPORT_EMPTY_USERNAMES
+commit 296bb6d07b9f6a62848ae14f02382ffd95516a15
+Author: Andrew Mortensen <[email protected]>
+Date:   Mon Nov 19 15:26:41 2012 -0500
 
-2006-04-19 14:49  janakj
+    Add functions section.
 
-	* scripts/dbtext/ser_dbtext.sh: - cmdline option support
+commit 6d66ec1cd80eb0cd7878c37d6f0c216d1439c3b5
+Author: Andrew Mortensen <[email protected]>
+Date:   Mon Nov 19 14:40:51 2012 -0500
 
-2006-04-18 21:56  andrei
+    Add sca module parameter documentation.
 
-	* Makefile.defs, action.c, error.c, error.h, forward.c, forward.h,
-	  ip_addr.h, proxy.h, resolve.c, resolve.h,
-	  modules/mediaproxy/functions.h, modules/nathelper/natping.c,
-	  modules/sl/sl_funcs.c, modules/tm/t_funcs.c, modules/tm/t_fwd.c,
-	  modules/tm/t_reply.c, modules/tm/uac.c, modules/tm/ut.h:
-	  - more dest_info conversions:     - forward_request takes now a
-	  dest_info parameter	  - various something2dst conversions
-	  functions	- got rid of the temprary mk_proxy when forwarding
-	  after the uri     - updated all the affected modules
+commit d4f35ceae85f2ae72f0e384188c677f272c4a544
+Author: Andrew Mortensen <[email protected]>
+Date:   Mon Nov 19 13:06:15 2012 -0500
 
-	  WARNING: not tested, use with care
+    Add module Dependencies section.
 
-2006-04-18 20:13  janakj
+commit 006f822bf9921bf3ae84e14cd62d413057fd2d56
+Author: Andrew Mortensen <[email protected]>
+Date:   Mon Nov 19 12:59:55 2012 -0500
 
-	* modules/usrloc/udomain.c: - more safety checks
+    Correct typo.
 
-2006-04-18 17:59  janakj
+commit 60e1602829b1926576998f36d06a487304d4c964
+Author: Andrew Mortensen <[email protected]>
+Date:   Mon Nov 19 12:58:54 2012 -0500
 
-	* doc/stylesheets/dbschema/xsl/sql.xsl,
-	  scripts/dbtext/ser_db/version, scripts/mysql/my_create.sql,
-	  scripts/oracle/or_create.sql, scripts/postgres/pg_create.sql,
-	  db/schema/version.xml: - generate version table entries in the
-	  xsl script when processing   table definitions on XML
+    docbook Overview documentation for sca module.
 
-2006-04-18 15:51  andrei
+commit 835fcebe45854daac2ccbc942732cba8f5231fa5
+Author: Andrew Mortensen <[email protected]>
+Date:   Mon Nov 19 12:56:27 2012 -0500
 
-	* forward.c:
-	  - missing dst intialization fix
+    Add docbook stub for sca module.
 
-2006-04-18 12:53  janakj
+commit 15fdde4fa1d662228568cc92e375d94dd86f2578
+Author: Olle E. Johansson <[email protected]>
+Date:   Mon Nov 19 15:53:17 2012 +0100
 
-	* scripts/mysql/ser_mysql.sh: - make drop user work with older
-	  mysql releases
+    AUTH minor documentation updates
 
-2006-04-18 12:31  kozlik
+commit 139acd4a3ba4117d218c8ef4d95710dc15fb8bc7
+Merge: eace40e dc0bc9d
+Author: Olle E. Johansson <[email protected]>
+Date:   Mon Nov 19 15:45:38 2012 +0100
 
-	* db/schema/attr_types.xml, scripts/dbtext/ser_db/attr_types,
-	  scripts/mysql/my_create.sql, scripts/oracle/or_create.sql,
-	  scripts/postgres/pg_create.sql: changed name of attribute rpid
+    Merge branch 'master' of ssh://git.sip-router.org/sip-router
+    
+    * 'master' of ssh://git.sip-router.org/sip-router:
+      core: handle '\r' as end of included file name
+      pkg/kamailio/(centos|fedora): turned on MEMDBG for development builds
 
-2006-04-18 11:27  janakj
+commit eace40eb04ff038fce0f81dc1c08864e1e966e98
+Author: Olle E. Johansson <[email protected]>
+Date:   Mon Nov 19 15:44:54 2012 +0100
 
-	* Makefile: - reverted accidental changes
+    auth	Update documentation for the "secret" parameter
+    
+    Thanks to Carsten Bock for finding this in the 1.5 documentation.
 
-2006-04-18 11:12  kozlik
+commit dc0bc9de9528e80cd8bc61201ce82db1a785baf4
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Mon Nov 19 10:45:41 2012 +0100
 
-	* Makefile, db/schema/attr_types.xml,
-	  scripts/dbtext/ser_db/attr_types, scripts/mysql/my_create.sql,
-	  scripts/oracle/or_create.sql, scripts/postgres/pg_create.sql:
-	  updated types of attributes
+    core: handle '\r' as end of included file name
+    
+    - reported by Pirjo Ahvenainen
 
-2006-04-18 10:47  janakj
+commit ddfeee6a0c0145d52f42e79cffe71b7cee1750e6
+Author: Peter Dunkley <[email protected]>
+Date:   Sat Nov 17 00:12:04 2012 +0000
 
-	* scripts/mysql/ser_mysql.sh: - heavily improved version of the
-	  mysql script:   - Use command line options instead of environment
-	  variable   - allow to change the database name, usernames, and
-	  passwords   - optionaly keep users when deleting database   -
-	  generate dumps with/without schema definition   - up-to-date
-	  documentation
+    pkg/kamailio/(centos|fedora): turned on MEMDBG for development builds
 
-2006-04-18 10:43  janakj
+commit 4451d7af26b4f663fba408714296e79e05e312dd
+Author: Andrew Mortensen <[email protected]>
+Date:   Fri Nov 16 17:25:52 2012 -0500
 
-	* scripts/: dbtext/ser_db/version, mysql/my_create.sql,
-	  mysql/my_drop.sql, oracle/or_create.sql, postgres/pg_create.sql,
-	  postgres/pg_drop.sql: - updated from master files
+    Remove logging or change to debug level as required.
 
-2006-04-18 10:42  janakj
+commit 043fc21accd62e5b8fb84d505ae0b32a3ea02fc2
+Author: Andrew Mortensen <[email protected]>
+Date:   Fri Nov 16 17:05:39 2012 -0500
 
-	* doc/stylesheets/dbschema/xsl/: mysql.xsl, sql.xsl: - do not
-	  generate users, scripts will take care of it
+    Remove ADMORTEN debugging line.
 
-2006-04-18 10:42  janakj
+commit d5ac2a71160b4d9b724cd1d8bd61600b1c2f3faf
+Author: Andrew Mortensen <[email protected]>
+Date:   Fri Nov 16 17:01:53 2012 -0500
 
-	* db/schema/ser.xml: - removed user definition
+    Remove unused function.
 
-2006-04-18 10:41  janakj
+commit 21c02b5ca43340adb4ba1282ec2bfbbacee4e9b3
+Author: Andrew Mortensen <[email protected]>
+Date:   Fri Nov 16 16:45:06 2012 -0500
 
-	* db/schema/version.xml: - included version of cpl table
+    Remove 3xx handler, since 3xx responses are pass-through.
+    
+    At least with Polycoms, caller does not release appearance prior to
+    INVITE for redirection target.
 
-2006-04-18 10:41  janakj
+commit ed9f09efc26c671832629d8eae2089336fd2cfd9
+Author: Andrew Mortensen <[email protected]>
+Date:   Fri Nov 16 16:09:51 2012 -0500
 
-	* db/schema/cpl.xml: - version added
+    Fix formatting from copy/paste.
 
-2006-04-14 11:55  kozlik
+commit 96a5ba1f819cb136a7de69502c4aa4c28540af34
+Author: Andrew Mortensen <[email protected]>
+Date:   Fri Nov 16 16:06:09 2012 -0500
 
-	* scripts/dbtext/ser_db/attr_types, db/schema/attr_types.xml,
-	  scripts/mysql/my_create.sql, scripts/oracle/or_create.sql,
-	  scripts/postgres/pg_create.sql: attribute type 'acl' added
+    Connect to DB on demand only once per-process.
+    
+    Practically, this means only in the DB writeback process and on
+    sip-router shutdown.
 
-2006-04-14 10:55  kozlik
+commit 9e2a6583d2fb9d5ab83c44e3dced2c78e68dd6a6
+Author: Andrew Mortensen <[email protected]>
+Date:   Fri Nov 16 14:49:44 2012 -0500
 
-	* db/schema/attr_types.xml, scripts/dbtext/ser_db/attr_types,
-	  scripts/mysql/my_create.sql, scripts/oracle/or_create.sql,
-	  scripts/postgres/pg_create.sql: names of attributes changed
+    Parenthesize all values in bind macros. Define subscriptions table version.
 
-2006-04-13 18:05  janakj
+commit 5dfde0036ec5d954b451a811654617a82e10e82d
+Author: Olle E. Johansson <[email protected]>
+Date:   Fri Nov 16 16:21:02 2012 +0100
 
-	* scripts/: dbtext/ser_db/cpl, dbtext/ser_db/domain,
-	  mysql/my_create.sql, oracle/or_create.sql,
-	  postgres/pg_create.sql: - updated from the master schema
-	  definition
+    Fixing typo
 
-2006-04-13 18:04  janakj
+commit 0f94abc79a47a4068e9e943f39c9c3b1ef6f035b
+Author: Andrew Mortensen <[email protected]>
+Date:   Thu Nov 15 14:42:27 2012 -0500
 
-	* db/schema/domain.xml: - remove useless columnt
+    Add sca_subscriptions table version check.
+    
+    Permit future sca_subscriptions table schema changes.
 
-2006-04-13 18:04  janakj
+commit 09205865f98136e0354539f09f4961ca016a915b
+Author: Timo Teräs <[email protected]>
+Date:   Thu Nov 15 16:11:41 2012 +0200
 
-	* db/schema/ser.xml: - include cpl table
+    modules_k/db_sqlite: fix crash with computed fields in custom queries
+    
+    Computed fields do not have decltype available, so guess the proper
+    field type based on the result type of the first row. This does not
+    work if the first row has null type as result, but is the best we can
+    do easily and fixes gives right result in most cases.
+    
+    Reported-by: Pedro Antonio Vico Solano <[email protected]>
 
-2006-04-13 18:03  janakj
+commit 22b6ead91e37b17163d0f95bd58efe76f7b4c3e4
+Author: Andrew Mortensen <[email protected]>
+Date:   Wed Nov 14 11:56:06 2012 -0500
 
-	* db/schema/cpl.xml: - cpl table definition (uid version)
+    Properly bind expires value for DB deletion of expired subscriptions.
 
-2006-04-13 14:21  kubartv
+commit 1ec90cc4364fe6b972d21f6ae0e24ca914296eb6
+Author: Andrew Mortensen <[email protected]>
+Date:   Wed Nov 14 00:43:04 2012 -0500
 
-	* modules/rls/: ChangeLog, rls_data.c, rls_mod.c, rls_mod.h: added
-	  parameter max_notifications_at_once
+    Delete expired subscriptions from DB. Only update DB when subscribers change.
 
-2006-04-13 14:20  kubartv
+commit dc5e0d0905ec438c17e92a864e17340c03311ca3
+Author: Andrew Mortensen <[email protected]>
+Date:   Tue Nov 13 17:08:53 2012 -0500
 
-	* modules/pa/: ChangeLog, pa_mod.c, pa_mod.h, pdomain.c,
-	  presentity.c, presentity.h, qsa_interface.c, qsa_interface.h,
-	  subscribe.c: prepared for subscriptions to clients
+    Subscription state is now stored in DB and restored on restart.
 
-2006-04-13 01:01  sobomax
+commit a30d64af62684c8bba61bbb842209046daab97d5
+Author: Olle E. Johansson <[email protected]>
+Date:   Tue Nov 13 15:45:18 2012 +0100
 
-	* modules/: nathelper/doc/nathelper.xml, registrar/reg_mod.c,
-	  registrar/save.c, registrar/save.h: Update e-mail.
+    Exec module: Documentation update, typo fix
 
-2006-04-12 20:04  andrei
+commit 114d674da5383edf3970093618d2fb98768e2aff
+Author: Olle E. Johansson <[email protected]>
+Date:   Tue Nov 13 15:37:18 2012 +0100
 
-	* Makefile.defs, action.c, forward.c, forward.h, ip_addr.h,
-	  onsend.h, tcp_main.c, tcp_server.h, udp_server.c, udp_server.h,
-	  modules/mediaproxy/functions.h, modules/nathelper/natping.c,
-	  modules/sl/sl_funcs.c, modules/tm/t_funcs.c, modules/tm/t_fwd.c,
-	  modules/tm/t_lookup.c, modules/tm/t_reply.c, modules/tm/uac.c,
-	  utils/sercmd/sercmd.c:
+    registrar Documentation update
 
-	  - msg_send(), udp_send() and tcp_send() parameter list changed
-	  (now they use a struct dest_info to pack several of the old
-	  params)
+commit d888e7d83559b1b97cf55d47329a932497ff02f3
+Author: Andrew Mortensen <[email protected]>
+Date:   Sun Nov 11 23:21:58 2012 -0500
 
-2006-04-12 19:50  andrei
+    Restore subscriptions from DB on startup.
 
-	* modules/msilo/msilo.c:
-	   - warning fixes
+commit 3eecc9197dd13a23cec1dd76ba6fa8f578bb482e
+Author: Andrew Mortensen <[email protected]>
+Date:   Sun Nov 11 23:18:37 2012 -0500
 
-2006-04-12 19:46  kubartv
+    sca_db type not used.
+    
+    yet.
 
-	* modules/pa/: ChangeLog, message.c: corrected bug - added missing
-	  from header parsing
+commit 04773cd4b74bd1a18bd50ff681d7244999baca6e
+Author: Olle E. Johansson <[email protected]>
+Date:   Sun Nov 11 09:13:59 2012 +0100
 
-2006-04-12 17:11  janakj
+    dialplan Documentation updates, typo fixes
 
-	* scripts/mysql/ser_mysql.sh: - write the format of tables into
-	  dump
+commit c414cc4df415be391a5dcaaa5be9e309dfa3cd85
+Author: Olle E. Johansson <[email protected]>
+Date:   Sun Nov 11 08:51:29 2012 +0100
 
-2006-04-11 18:34  kubartv
+    diaplan - Fixing typo in name of rpc command
+    
+    Sercmd lists the dialplan.dump command, that doesn't exist. Changing
+    name to dialplan.translate so that the module and the documentation
+    agrees on the name.
 
-	* modules/pa/: ChangeLog, message.c, message.h: changed parameter
-	  of "authorize_message" function (filename with im-rules instead
-	  of XCAP root)
+commit 79e03e5622ec28a5577bed700ee416b9630c7d58
+Author: Andrew Mortensen <[email protected]>
+Date:   Sat Nov 10 20:36:54 2012 -0500
 
-2006-04-11 17:48  kubartv
+    event should be INT. subscriber, not aor, should be UNIQUE.
 
-	* lib/presence/ChangeLog, lib/presence/notifier.h,
-	  lib/presence/notifier_domain.c, lib/presence/notifier_domain.h,
-	  lib/presence/qsa_params.c, lib/presence/qsa_params.h,
-	  lib/presence/subscriber.h, modules/pa/ChangeLog,
-	  modules/pa/auth.c, modules/pa/presentity.h,
-	  modules/pa/qsa_interface.c, modules/pa/rpc.c,
-	  modules/pa/winfo_doc.c, modules/presence_b2b/ChangeLog,
-	  modules/presence_b2b/qsa_events.c, modules/rls/ChangeLog,
-	  modules/rls/rl_subscription.h, modules/rls/rls_data.c,
-	  modules/rls/rls_data.h, modules/rls/virtual_subscription.c:
-	  changed QSA - prepared for internal subscription parameters and
-	  reduced memory allocations
+commit e19c603417411c29dfe038a8339883d29fe65afe
+Author: Andrew Mortensen <[email protected]>
+Date:   Fri Nov 9 22:02:55 2012 -0500
 
-2006-04-11 15:35  janakj
+    Add sca_subscriptions mysql table creation script.
 
-	* modules/domain/domain.c: - check for DB_LOAD_SER flag to make
-	  flag checking consistent   across modules.	Closes SER-100
+commit 0b02fefeff53dc7fd3d66f2bd12b85a6ad883f51
+Author: Andrew Mortensen <[email protected]>
+Date:   Fri Nov 9 16:08:46 2012 -0500
 
-2006-04-11 15:12  janakj
+    DB backing initialization and setup.
 
-	* sr_module.c: - fix_param returns 1 when FPARAM_INT is used and
-	  the parameter   is not a number   Closes SER-101
+commit 8b731296ce80a8fcee582066ce3aad4a2bf95ed3
+Author: Peter Dunkley <[email protected]>
+Date:   Fri Nov 9 20:54:14 2012 +0000
 
-2006-04-11 15:02  janakj
+    modules/msrp: Updated MSRP example
 
-	* modules/tm/tm.c, modules/sl/sl.c, sr_module.c, sr_module.h: -
-	  cosmetic change, FPARAM_ASCIIZ renamed to FPARAM_STRING   Closes
-	  SER-102
+commit 6d2015a050f9d0bee80058e46732dd8da577c4d8
+Author: Peter Dunkley <[email protected]>
+Date:   Fri Nov 9 10:43:33 2012 +0000
 
-2006-04-11 14:33  janakj
+    pkg/kamailio/(centos|fedora): Updated rel in .spec file
 
-	* modules/usrloc/ul_rpc.c: - changed result type of show_contacts
-	  (should be array).	Closes SER-104
+commit f25202a6d1a8713524985f83304230556c036da7
+Author: Jason Penton <[email protected]>
+Date:   Fri Nov 9 12:28:19 2012 +0200
 
-2006-04-11 10:13  kubartv
+    modules_k/xcap_server: fixed length of pres-content AUID
 
-	* modules/presence_b2b/: ChangeLog, events_mod.c, qsa_events.c,
-	  qsa_events.h: added parameter "additional_presence_headers"
-	  containing SIP headers added into outgoing SUBSCRIBE requests for
-	  presence
+commit b255c406ba09ff229361a3bc14cc1c9fd076b52e
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Fri Nov 9 11:03:46 2012 +0100
 
-2006-04-10 18:59  kubartv
+    core: tcp - proper handling of '\n-' sequence for detecting end of MSRP frame
+    
+    - in some cases it could go in wrong reading MSRP state
+    - reported by Gavin Llewellyn
 
-	* modules/pa/ChangeLog, modules/pa/offline_winfo.c,
-	  modules/pa/qsa_interface.c, lib/presence/ChangeLog,
-	  lib/presence/notifier.h, lib/presence/notifier_domain.c,
-	  lib/presence/notifier_domain.h, lib/presence/pres_doc.h,
-	  modules/presence_b2b/ChangeLog,
-	  modules/presence_b2b/qsa_events.c, modules/rls/ChangeLog,
-	  modules/rls/virtual_subscription.c: corrected content-type
-	  propagation through QSA
+commit d5120187eb41e709c840b3cfbb0dc1803f61b036
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Fri Nov 9 08:41:55 2012 +0100
 
-2006-04-10 16:39  kozlik
+    dialog(k): use proper scan string for optional headers parameter in rpc commands
+    
+    - credits to Kristofer Signer for report and troubleshooting
 
-	* db/schema/ser.xml, db/schema/version.xml,
-	  scripts/dbtext/ser_db/version, scripts/mysql/my_create.sql,
-	  scripts/oracle/or_create.sql, scripts/postgres/pg_create.sql:
-	  removed tables for server monitoring - no more needed
-
-2006-04-10 16:20  kozlik
-
-	* db/schema/global_attrs.xml, scripts/dbtext/ser_db/global_attrs,
-	  scripts/mysql/my_create.sql, scripts/oracle/or_create.sql,
-	  scripts/postgres/pg_create.sql: added default values of global
-	  attributes
-
-2006-04-10 15:24  kozlik
-
-	* db/schema/domain.xml, scripts/mysql/my_create.sql,
-	  scripts/oracle/or_create.sql, scripts/postgres/pg_create.sql:
-	  added default value to column 'last_modified' in table 'domain'
-	  (this change is required by serweb)
-
-2006-04-10 12:50  kubartv
-
-	* modules/dispatcher/: dispatch.c, dispatch.h, dispatcher.c: added
-	  function "ds_select_new" for setting new_uri instead of dst_uri
-	  (usable for sending redirects instead of forwarding)
-
-2006-04-10 09:32  kubartv
-
-	* modules/: pa/ChangeLog, pa/auth.c, pa/pa_mod.c, pa/pa_mod.h,
-	  xcap/ChangeLog, xcap/xcap_params.c:  - added PA module parameter
-	  for pres-rules filename on XCAP server
-	   - reduced trace logs from XCAP module
-
-2006-04-07 16:55  andrei
-
-	* Makefile.defs, NEWS, cfg.lex, cfg.y, dprint.h, globals.h, main.c,
-	  mem/f_malloc.c, mem/mem.h, mem/memdbg.h, mem/q_malloc.c,
-	  mem/shm_mem.c:
-	  - separate memdbg log level which controls the memory/malloc
-	  related   debug messages (to see them ser must be compiled with
-	  malloc   debuging: -DDBG_QM_MALLOC or -DDBG_FM_MALLOC and
-	  memdbg must be <= debug ). By default is set to L_DBG.    E.g.:
-	  setting memdbg=100 in ser.cfg will make sure that you'll
-	  never see a malloc debug message.    Note: memdbg is different
-	  from memlog, memlog is the log level used    for malloc
-	  statistics (printed on exit or on SIGUSR1).
-
-	  - default log level switched to 0: this means that in the absence
-	    of -d* commandline parameters or of the debug=no in ser.cfg,
-	  only	 errors and other critical messages will be logged (no
-	  warnings,    info, notice or dbg).
-
-2006-04-07 15:46  kubartv
+commit ddac5a16da60b0bbb6f58aa9e4fd26db3015c10d
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Fri Nov 9 08:18:06 2012 +0100
 
-	* Makefile: xcap module excluded from build
+    Makefile.defs: version set to 3.4.0-dev5
 
-2006-04-07 15:43  kubartv
+commit e916a4680d37f481167770fff27a710088cb5d3d
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Fri Nov 9 08:07:42 2012 +0100
 
-	* doc/presence/examples.xml, lib/README, lib/xcap/Makefile.ser,
-	  lib/xcap/msg_rules.c, lib/xcap/msg_rules.h,
-	  lib/xcap/pres_rules.c, lib/xcap/pres_rules.h,
-	  lib/xcap/resource_list.c, lib/xcap/resource_list.h,
-	  lib/xcap/xcap_client.c, lib/xcap/xcap_client.h,
-	  lib/xcap/doc/xcap.xml, modules/pa/ChangeLog, modules/pa/auth.c,
-	  modules/pa/auth.h, modules/pa/message.c,
-	  modules/pa/offline_winfo.c, modules/pa/offline_winfo.h,
-	  modules/pa/pa_mod.c, modules/pa/pa_mod.h, modules/pa/subscribe.c,
-	  modules/pa/watcher.c, modules/pa/watcher.h,
-	  modules/pa/doc/functions.xml, modules/pa/doc/params.xml,
-	  modules/presence_b2b/Makefile, modules/presence_b2b/events_mod.c,
-	  modules/presence_b2b/doc/presence_b2b.xml, modules/rls/ChangeLog,
-	  modules/rls/Makefile, modules/rls/db_rls.c,
-	  modules/rls/rl_subscription.c, modules/rls/rl_subscription.h,
-	  modules/rls/rls_handler.c, modules/rls/rls_mod.c,
-	  modules/rls/rls_mod.h, modules/rls/virtual_subscription.c,
-	  modules/xcap/ChangeLog, modules/xcap/Makefile,
-	  modules/xcap/xcap_mod.c, modules/xcap/xcap_mod.h,
-	  modules/xcap/xcap_params.c, modules/xcap/xcap_params.h:  - XCAP
-	  queries moved into XCAP module, all other modules (and libs) are
-	  now
-	     independent on libcurl3
-	   - parameter settings which was done via AVP (like xcap_root) and
-	  output
-	     variables (like subscription_status) changed to usage of
-	  global variables -
-	     due to problems with AVPs if functions called from script send
-	  requests
-	     (like NOTIFY from handle_subscripton - after sending it are
-	  AVPs cleared)
-
-2006-04-05 10:49  andrei
-
-	* fastlock.h:
-	  - ppc fixes (s/stw/stwx/, s/lwz/lwzx) - missing early clobbers
-	  added for x86, sparc*, armv6, ppc*, alpha
+    Makefile.defs: arm compiler flags update
+    
+    - patch by Matthias Klose <[email protected]>,
+      http://bugs.debian.org/cgi-bin/bugreport.cgi?msg=5;bug=690388
 
-2006-04-04 20:04  andrei
+commit ac97e3a86d8e4f4c7d0abdffd84bb2ec4ff31ad4
+Author: Carsten Bock <[email protected]>
+Date:   Thu Nov 8 17:56:41 2012 +0100
 
-	* Makefile.defs, fastlock.h, lock_ops.h, doc/locking.txt:
+    b/f: When the shortcut "x" is used, only add IE/EI once
 
-	  - fastlock: optimizations (in general a "nicer" spin on the lock
-	  for the other   cpus) and cleanups for sparc, sparc64, armv6
-	  (nosmp for now), ppc*, mips* - fastlock: alpha: replace the cond.
-	  jump backward with a	 cond. jump forward and then jump backward
-	  (because a cond. jump with   a negative relative offset is always
-	  predicted as taken and we want it   to be predicted as not taken)
-	  - fastlock: sparc (32) smp support - lock_ops.h: introduced
-	  lock_try and lock_set_try (non-blocking   lock_*_get versions,
-	  returns -1 if it failed to get the lock and 0 if it	succeeds),
-	  for all the supported locking methods (fast_lock, pthread_mutex,
-	    posix_sem, sysv_sems) - updated locking doc.
+commit 97b829acd0954f7356db2d7c9e59435c539e91d5
+Author: Andrew Mortensen <[email protected]>
+Date:   Thu Nov 8 00:03:03 2012 -0500
 
-2006-04-04 18:05  kubartv
+    Add srdb1 lib to Makefile for db API.
 
-	* doc/presence/examples.xml, etc/presence/full-no-failover.cfg,
-	  etc/presence/no-db.cfg: cosmetical changes
-
-2006-04-04 17:37  kubartv
+commit 22eb98280f82fc10202862097d954d099b605700
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Wed Nov 7 23:56:49 2012 +0100
 
-	* etc/presence/: full-no-failover.cfg, no-db.cfg: Added sample
-	  configuration files for presence. For more information see
-	  "presence handbook"
-	  (ftp://ftp.iptel.org/pub/ser/presence/presence-handbook/index.html)
-
-2006-04-04 16:51  kubartv
+    msrp: fix compile warnings for 32b
 
-	* doc/presence/examples.xml: added example of forwarding to
-	  presence server
-
-2006-04-04 16:16  kubartv
-
-	* doc/presence/: examples.xml, intro.xml, presence_book.xml:
-	  actualized documentation (config examples)
-
-2006-04-04 16:14  kubartv
-
-	* scripts/dbtext/ser_db/offline_winfo, scripts/mysql/my_create.sql,
-	  db/schema/offline_winfo.xml, scripts/oracle/or_create.sql,
-	  scripts/postgres/pg_create.sql: forgotten to previous commit -
-	  changed DB schema
-
-2006-04-04 14:00  kubartv
-
-	* modules/pa/: ChangeLog, offline_winfo.c, offline_winfo.h,
-	  subscribe.c, winfo_doc.c, doc/functions.xml: storing subscription
-	  status into AVP and using it when storing offline watcherinfo
-
-2006-04-04 13:08  andrei
-
-	* atomic_ops.c:
-	   - typo fixed
-
-2006-04-04 11:45  kubartv
-
-	* modules/msilo/ms_msg_list.c: corrected bug when walking through
-	  list of sent messages
-
-2006-04-04 11:25  kubartv
-
-	* modules/: rls/ChangeLog, rls/rl_subscription.c, pa/ChangeLog,
-	  pa/message.c, pa/notify.c, pa/doc/functions.xml,
-	  presence_b2b/ChangeLog, presence_b2b/euac_funcs.c: NULL bodies
-	  replaced with empty string due to TCP problems with requests sent
-	  without Content-Length
-
-2006-04-04 11:24  kubartv
-
-	* lib/xcap/msg_rules.c: reduced logging
-
-2006-04-03 21:03  andrei
-
-	* fastlock.h, atomic/atomic_x86.h:
-	  - membar_write on x86_64 is by default empty (since on amd64
-	  stores are always ordered)
-
-	  - x86/x86_64 lock optimizations:  spinning on a lock should be
-	  friendlier now   for the other cpus caches (at the extra cost of
-	  a cmp mem + jump) ; tried to	 arrange a little better the
-	  instructions to allow for some parallel   execution.
+commit 738ce9354b61590f6a54b389d2b11348840c846c
+Author: Andrew Mortensen <[email protected]>
+Date:   Wed Nov 7 14:34:10 2012 -0500
 
-	  - x86 unlocks with xchg by default (since some x86s reorder
-	  stores, so a	simple mov is unsafe)
+    Tentative fix for [SIPR-793]: Music-on-hold breaks SCA hold/pickup.
+    
+    MoH changes hold semantics. Detect on-hold SDP in holding party's ACK,
+    and update state & send NOTIFYs as needed.
 
-2006-04-03 19:24  kubartv
+commit 5154c90b60d54ad6c993eacaadea29740c12e82b
+Author: Richard Fuchs <[email protected]>
+Date:   Wed Nov 7 09:12:33 2012 -0500
 
-	* lib/presence/utils.c, lib/presence/utils.h,
-	  lib/xcap/xcap_client.c, modules/pa/ChangeLog,
-	  modules/pa/notify.c, modules/pa/reply.c, modules/pa/subscribe.c,
-	  modules/rls/ChangeLog, modules/rls/rlmi_doc.c,
-	  modules/rls/subscription_manager.c: corrected buggy contact sent
-	  from RLS module, created function in common libs for server
-	  contact extraction
+    modules_k/siputils: Fix memory leak in uri_param() function
 
-2006-04-03 16:30  andrei
+commit 7c37f8d4dc311c64c12e0b03b5e312892f9d886c
+Author: Klaus Darilion <[email protected]>
+Date:   Wed Nov 7 13:55:55 2012 +0000
 
-	* fastlock.h, test/lock_test.c:
-	  - lock optimizations: use the lock specific membar only if the
-	  lock_get  operation succeeded (this means don't use it while
-	  spinning) => move   the membar call in get_lock or try_lock
+    allow freeing of NULL pointer to behave like standard free() function
+    
+    The memory functions provided to openssl needs to behave like standard
+    memory functions, i.e. free(). Therefore, ser_free must accept NULL
+    pointers, see: http://openssl.6102.n7.nabble.com/Custom-free-routine-is-invoked-with-NULL-argument-in-openssl-1-0-1-td25937.html
+    As shm_free() aborts on null pointers, we have to check for null pointer
+    here in the wrapper function.
 
-	  - added try_lock: like get_lock but doesn't block (returns -1 on
-	  failure  and 0 on success)
+commit 5e77d14b9f0304942517e031406a147a668adec3
+Author: Olle E. Johansson <[email protected]>
+Date:   Wed Nov 7 00:13:20 2012 +0100
 
-2006-04-03 15:32  andrei
+    usrloc - Documentation updates (mostly typos and smaller fixes)
+    
+    Based on feedback during SIP Masterclass - Jared and Anthony. Thanks!
 
-	* atomic_ops.c, atomic/atomic_unknown.h, test/atomic_test2.c:
-	  - s/atomic_ops_destroy/destroy_atomic_ops - fixed membar w/ locks
-	  (should be unlock; lock) - added a separate lock for membar w/
-	  locks (unkown arch).
+commit 897dfc4c0a7bad253cfe672e58d665e9b3deb34e
+Author: Peter Dunkley <[email protected]>
+Date:   Tue Nov 6 23:28:55 2012 +0100
 
-2006-03-31 23:22  andrei
+    (core|modules/tm): corrected ambiguous error messages.
+    
+    - As per Henning's suggestions.
 
-	* Makefile.defs, atomic_ops.h, fastlock.h, atomic/atomic_alpha.h,
-	  atomic/atomic_arm.h:
-	  - added atomic ops & mem. barriers support for:    - arm    - arm
-	  v6 (untested, but it compiles ok)    - alpha	(untested. but it
-	  compiles ok) - fastlock: minor fixes - Makefile.defs: support for
-	  mip64 and armv6; various minor fixes
+commit 5b6f68ae0dc50c05902ace37f1081b19bda0320e
+Author: Carsten Bock <[email protected]>
+Date:   Tue Nov 6 16:32:50 2012 +0100
 
-2006-03-31 15:59  kubartv
+    RTPProxy: Documentation improvements
+    - added a note about compatibility with different implementations for the "x"-flag (namely RFC 4091 and RFC 6157)
+    - made more clear, that "x" is only a shortcut for the "IE" and "EI" flags of RTPProxy
 
-	* modules/: pa/doc/pa.xml, pa/doc/params.xml, rls/rls_mod.c,
-	  rls/doc/functions.xml, rls/doc/params.xml, rls/doc/rls.xml,
-	  rls/doc/xcap.xml, presence_b2b/events_mod.c,
-	  presence_b2b/doc/params.xml: updated documentation
+commit b6bb5d0f67881bafd8ac0e4a189bd7e5ae228e5a
+Author: Jason Penton <[email protected]>
+Date:   Mon Nov 5 08:44:17 2012 +0200
 
-2006-03-30 21:56  andrei
+    modules_k: added support for PV as possible value for update_stat.
+        - this will allow things like: update_stat("my_stat", "$BM_time_diff")
 
-	* Makefile.defs, atomic_ops.c, atomic_ops.h, atomic_ops_init.h,
-	  main.c, atomic/atomic_mips2.h, atomic/atomic_ppc.h,
-	  atomic/atomic_sparc.h, atomic/atomic_sparc64.h,
-	  atomic/atomic_unknown.h, atomic/atomic_x86.h, test/atomic_test.c,
-	  test/atomic_test2.c:
-	  - makefile: - compile in 64bit mode by default on sparc64
-	      - sparc <= v8 support		- -CC_GCC_LIKE_ASM is
-	  defined when the compiler supports gcc style		     inline
-	  asm (gcc and icc)
+commit 6805fcb2f60180dd11bd14fb611ad44ebb068de9
+Author: Andrew Mortensen <[email protected]>
+Date:   Thu Nov 1 16:48:26 2012 -0400
 
-	  - atomic operations and memory barriers support for:	  - x86
-	  - x86_64    - mips (only in NOSMP mode and if it supports ll and
-	  sc)	 - mips2 (mips32, isa >= 2)    - mips64    - powerpc	-
-	  powerpc64    - sparc <= v8 (only memory barriers, the atomic
-	  operations are implemented	  using locks because there is no
-	  hardware support for them)	- sparc64 - both 32 (v8plus) and 64
-	  bit mode If there is no support for the compiler/arch.
-	  combination, it falls back to  locks.
+    Fix [SIPR-783]: respect answerer's app-index instead of using next available.
 
-	   The code is tested (only basic tests: it runs and the results
-	  are ok, but no
-	    parallel tests) on x86, x86_64, mips2, powerpc, sparc64 (both
-	  modes).
-	   The sparc version runs ok on sparc64 (so it's most likely ok).
-	   powerpc64 and mips64 not tested due to no access to the
-	  corresponding
-	   hardware, but they do compile ok.
-	   For more details see the comments at the beginning of
-	  atomic_ops.h.
+commit 53135e42d0048670a25908532bdb26706db48b7a
+Author: Peter Dunkley <[email protected]>
+Date:   Thu Nov 1 15:54:51 2012 +0000
 
-2006-03-30 16:13  kubartv
+    core: Fixed typo that broke the build
 
-	* doc/presence/biblio.xml, doc/presence/draft_iptel_im_rules.xml,
-	  doc/presence/install.xml, doc/presence/intro.xml,
-	  doc/presence/presence_book.xml, doc/presence/xcap.xml,
-	  modules/pa/message.c, modules/pa/pa_mod.c, modules/pa/pa_mod.h,
-	  modules/pa/doc/functions.xml, modules/pa/doc/pa.xml,
-	  modules/pa/doc/params.xml, modules/pa/doc/xcap.xml,
-	  modules/rls/ChangeLog, modules/rls/rls_mod.c,
-	  modules/rls/rls_mod.h, modules/rls/doc/params.xml,
-	  modules/rls/doc/rls.xml, modules/rls/doc/xcap.xml:  - updated
-	  presence handbook and pa and rls documentation
-	   - cosmetical changes in rls and pa (removed unused parameters)
-
-2006-03-30 12:37  andrei
-
-	* Makefile.defs, parser/parse_event.c: - removed unused code
-
-2006-03-30 07:49  kubartv
+commit 4ef839851ef518815df38a9ae73e948719784e89
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Wed Oct 31 20:21:07 2012 +0100
 
-	* lib/xcap/: ChangeLog, parse_pres_rules.c: corrected bug - library
-	  was uncompilable
+    kamailio.cfg: add option to set pstn gw port
 
-2006-03-29 17:35  kubartv
+commit 7b3f234106adebd0a3ab069add170f0d23f1f592
+Author: Peter Dunkley <[email protected]>
+Date:   Wed Oct 31 17:48:37 2012 +0000
 
-	* modules/pa/ChangeLog, modules/pa/message.c, lib/xcap/ChangeLog,
-	  lib/xcap/common_policy.c, lib/xcap/common_policy.h,
-	  lib/xcap/msg_rules.c, lib/xcap/msg_rules.h,
-	  lib/xcap/parse_common_rules.c, lib/xcap/parse_common_rules.h,
-	  lib/xcap/parse_msg_rules.c, lib/xcap/parse_msg_rules.h,
-	  lib/xcap/parse_pres_rules.c, lib/xcap/parse_pres_rules.h,
-	  lib/xcap/pres_rules.c, lib/xcap/pres_rules.h,
-	  lib/xcap/xcap_client.c: added functions for MESSAGE authorization
+    modules/tm: corrected a mis-leading error message
 
-2006-03-28 13:41  kubartv
+commit 014d1000055d8ee93ef35336b1701674fe23a675
+Author: Peter Dunkley <[email protected]>
+Date:   Wed Oct 31 17:48:17 2012 +0000
 
-	* modules/msilo/msilo.c: corrected bug in handling tm callback
-	  parameter
-
-2006-03-28 13:37  kubartv
-
-	* modules/pa/: ChangeLog, pa_mod.c, pa_mod.h, publish.c: added
-	  parameter max_publish_expiration
-
-2006-03-27 14:53  kubartv
-
-	* modules/pa/: ChangeLog, offline_winfo.c: corrected bug in offline
-	  watcherinfo dump
-
-2006-03-27 09:39  kubartv
-
-	* modules/pa/: ChangeLog, message.c, message.h, notify.c,
-	  offline_winfo.c, pa_mod.c, subscribe.c: added function for
-	  message authorization (only template now)
-
-2006-03-24 08:10  kubartv
-
-	* lib/xcap/: ChangeLog, xcap_client.c: optimized XCAP document
-	  access - each process has its own curl handle
-
-2006-03-23 15:26  kubartv
-
-	* modules/rls/: ChangeLog, db_rls.c, rl_subscription.c,
-	  rl_subscription.h, rls_data.c, rls_data.h,
-	  virtual_subscription.c: optimized count of sent NOTIFY requests
-
-2006-03-23 13:24  kubartv
-
-	* modules/rls/: ChangeLog, rl_subscription.c, rls_handler.c,
-	  subscription_manager.c, virtual_subscription.c: cosmetical
-	  changes (logging), corrected memory leak
-
-2006-03-23 13:23  kubartv
+    core: corrected some mis-leading error messages
 
-	* lib/cds/logger.h, lib/xcap/xcap_client.c,
-	  modules/pa/qsa_interface.c, modules/pa/subscribe.c,
-	  modules/presence_b2b/euac_funcs.c,
-	  modules/presence_b2b/events_uac.c,
-	  modules/presence_b2b/qsa_events.c: cosmetical changes (logging)
+commit 03c080376e26aeae8261d2ff12fc290a3925ef91
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Wed Oct 31 14:40:25 2012 +0100
 
-2006-03-22 21:24  tma0
+    kamailio.cfg: updated wiki link to match the version
 
-	* modules/textops/textops.c: - @select return non null pointer
-	  event when res->len==0, it's required by @select =~ "foo"
-	  comparision (at least)
+commit 3ce2efce27983e0fe818ff4e139c9589dbbfeb4a
+Author: Marius Zbihlei <[email protected]>
+Date:   Wed Oct 31 15:36:05 2012 +0200
 
-2006-03-22 19:40  tma0
+    modules/msrp : small documentation fix
 
-	* modules/textops/textops.c: - line terminator \r\n (instead simple
-	  \n) when adding a header using append_hf_value, insert_hf_value.
+commit 8a00d03a9328fd5ab4740f52ac47070e64f05236
+Author: Peter Dunkley <[email protected]>
+Date:   Tue Oct 30 22:35:45 2012 +0000
 
-2006-03-22 12:12  kubartv
+    modules_k/xcap_server: Enhanced org.oma.xcap-directory implementation
+    
+    - Can now use a modparam to force the scheme in the listing URLs to a specific
+      value (default is to work out based on whether the connection is TCP or TLS).
+    - Can now use a modparam to force the hostname in the listing URLs to a
+      specific value (default is to work out based on the (mandatory) Host: header
+      or destination IP address and port).
+    - Updated README
 
-	* modules/presence_b2b/: ChangeLog, euac_funcs.c, events_uac.c:
-	  added "Content-Length: 0" into outgoing SUBSCRIBE requests (such
-	  message is otherwise not parsed by SER when using TCP transport)
+commit 953a1d12685a917de68aff31c7172792dd816302
+Author: Peter Dunkley <[email protected]>
+Date:   Tue Oct 30 17:21:27 2012 +0000
 
-2006-03-22 10:43  kubartv
+    pkg/kamailio/(centos|fedora): Updated .spec and BoxGrinder appliances
+    
+    - Added xhttp_pi module
 
-	* lib/presence/ChangeLog, lib/presence/notifier.h,
-	  lib/presence/notifier_domain.c, modules/pa/ChangeLog,
-	  modules/pa/publish.c, modules/pa/qsa_interface.c,
-	  modules/pa/subscribe.c, modules/pa/trace.h, modules/pa/watcher.c,
-	  modules/presence_b2b/ChangeLog,
-	  modules/presence_b2b/euac_funcs.c,
-	  modules/presence_b2b/euac_state_machine.c,
-	  modules/presence_b2b/events_uac.h, modules/rls/ChangeLog,
-	  modules/rls/rls_handler.c, modules/rls/trace.h,
-	  modules/rls/virtual_subscription.c,
-	  modules/presence_b2b/qsa_events.c, modules/presence_b2b/trace.h:
-	  lib/presence: QSA carries subscription status pa: set
-	  subscription status for internal subscriptions, using
-	  get_content_length	 instead of strlen(body), corrected change
-	  flag settings rls: accepts subscription status from QSA
-	  presence_b2b: using get content length instead of strlen(body),
-		      propagate subscription status through QSA
+commit 18220b91255f9a563ce56f1d05fe97905e7fe2d9
+Author: Olle E. Johansson <[email protected]>
+Date:   Mon Oct 29 21:57:32 2012 +0100
 
-2006-03-21 01:54  mma
+    UAC: Documentation updates and typo fixes
 
-	* select_core.c, select_core.h: Core select R-URI splitting into
-	  parts introduced: @ruri.(type|user|host|port)
+commit c244c7aeac06e4707ae76571dc73b804af31640f
+Author: Olle E. Johansson <[email protected]>
+Date:   Mon Oct 29 19:50:48 2012 +0100
 
-2006-03-20 14:35  kubartv
+    uac Fixing formatting
 
-	* modules/rls/: ChangeLog, virtual_subscription.c: reduced number
-	  of NOTIFY messages sent to the subscriber (if presence document
-	  doesn't change, notification is not propagated from virtual
-	  subscription)
+commit 7bd4eda6d169c89e8a42cbd94e8d008700109ceb
+Merge: 212cf0d c70f884
+Author: Olle E. Johansson <[email protected]>
+Date:   Sun Oct 28 21:12:03 2012 +0100
 
-2006-03-20 14:05  kubartv
+    Merge branch 'master' of ssh://git.sip-router.org/sip-router
+    
+    * 'master' of ssh://git.sip-router.org/sip-router:
+      modules_k/nathelper: add_contact_alias ipv6 fix
+      lib/srdb1/schema: use &ip_addr_len; entity in address and lcr_gw schema
 
-	* modules/pa/auth.c, modules/pa/qsa_interface.c, lib/cds/logger.h,
-	  modules/presence_b2b/qsa_events.c, modules/rls/ChangeLog,
-	  modules/rls/db_rls.c, modules/rls/rl_subscription.c,
-	  modules/rls/rl_subscription.h, modules/rls/rls_auth.c,
-	  modules/rls/rls_auth.h, modules/rls/rls_data.c,
-	  modules/rls/rls_data.h, modules/rls/rls_mod.h, modules/rls/rpc.c,
-	  modules/rls/virtual_subscription.c,
-	  db/schema/rls_subscription.xml, lib/presence/ChangeLog,
-	  lib/presence/notifier.h, lib/presence/notifier_domain.c,
-	  lib/presence/notifier_domain.h, lib/presence/pres_doc.c,
-	  lib/presence/pres_doc.h, scripts/dbtext/ser_db/rls_subscription,
-	  scripts/mysql/my_create.sql, scripts/oracle/or_create.sql,
-	  scripts/postgres/pg_create.sql: rls - multiple message queues
-	  replaced with one shared     - xcap root stored into database
-	  with subscription data pa, presence_b2b, lib: little changes in
-	  API for internal status notification (QSA)
+commit 212cf0d3c0d220affbafa545795ff5d0bf03b97d
+Author: Olle E. Johansson <[email protected]>
+Date:   Sun Oct 28 21:09:51 2012 +0100
 
-2006-03-19 00:40  mma
+    permissions - change openser => kamailio
 
-	* route.c: Comparing string results of @select or $avp expression
-	  with numeric value.  Test like "123" > 100 is not allowed by
-	  cfg.y rules, but $test > 10 is.
+commit c70f884988c3f9298fa4d40ef12c69eea9da26a5
+Author: Juha Heinanen <[email protected]>
+Date:   Sun Oct 28 16:07:25 2012 +0200
 
-	  NOTE: the right operator MUST be number to do the numeric
-	  comparison.
+    modules_k/nathelper: add_contact_alias ipv6 fix
+    
+    - When add_contact_alias() is called without arguments, it now adds brackets
+      around received ipv6 address in order to make $du syntactically valid.
 
-2006-03-18 17:46  mma
+commit dba0691a98a329be489d83dfc1cd9560419bc35e
+Author: Juha Heinanen <[email protected]>
+Date:   Sun Oct 28 14:32:36 2012 +0200
 
-	* modules/rr/: loose.c, rr_mod.c, rr_mod.h, doc/params.xml: Module
-	  param next_route_avp introduced.  If set and next route is found
-	  within loose_route() call, the uri is stored in the AVP.
+    lib/srdb1/schema: use &ip_addr_len; entity in address and lcr_gw schema
 
-2006-03-17 20:22  calrissian
+commit 0c130b85e8081af15188ec87d5e55d70c96de46f
+Author: osas <osas@centos.(none)>
+Date:   Sat Oct 27 12:08:49 2012 -0400
 
-	* modules/auth_db/authorize.c: avoid database lookups on empty
-	  authname.  compile with SUPPORT_EMPTY_AUTHNAME if you want to
-	  have empty usernames.
+    fix default db in docbook
 
-2006-03-17 20:10  tma0
+commit e4453d91f612a8d651176d62529bc24edb54bf59
+Author: osas <osas@centos.(none)>
+Date:   Sat Oct 27 12:05:18 2012 -0400
 
-	* modules/textops/textops.c: - sorry, removed debug messages
+    fix test directory after openser to kamailio migration
 
-2006-03-17 20:08  tma0
+commit 923b738f8f021c349b0d0ba4faaac1b0c6bcf246
+Author: osas <osas@centos.(none)>
+Date:   Sat Oct 27 12:00:28 2012 -0400
 
-	* modules/textops/textops.c: - fixed insert_hf_value of index #1
-	  when no header presented
+    more openser to kamailio migration
 
-2006-03-17 19:35  tma0
+commit e7a75db1982a48efb83bd9ba96036dbb6da541e1
+Author: osas <osas@centos.(none)>
+Date:   Sat Oct 27 11:39:29 2012 -0400
 
-	* modules/textops/doc/functions.xml: - set_any_uri support notes
-
-2006-03-17 19:31  tma0
-
-	* modules/textops/textops.c: - support for @sel_any_uri nested
-
-2006-03-17 10:45  kubartv
-
-	* modules/presence_b2b/: ChangeLog, rpc.c: updated trace function
-
-2006-03-17 10:43  kubartv
-
-	* modules/pa/ChangeLog, modules/pa/auth.c, modules/rls/ChangeLog,
-	  lib/xcap/pres_rules.c, lib/xcap/pres_rules.h,
-	  lib/xcap/resource_list.c, lib/xcap/resource_list.h,
-	  lib/xcap/xcap_client.c, lib/xcap/xcap_client.h,
-	  modules/rls/db_rls.c, modules/rls/rl_subscription.c,
-	  modules/rls/rl_subscription.h, modules/rls/rls_handler.c,
-	  modules/rls/rls_mod.c, modules/rls/virtual_subscription.c:  -
-	  changed parameters of XCAP queries in PA, RLS and libs
-	   - changed processing of nested resource list (more efficient)
-
-2006-03-16 13:17  kozlik
-
-	* db/schema/attr_types.xml, scripts/dbtext/ser_db/attr_types,
-	  scripts/mysql/my_create.sql, scripts/oracle/or_create.sql,
-	  scripts/postgres/pg_create.sql: created new attribute type for
-	  sending missed calls
+    xhttp_pi: new web provisioning interface module
 
-2006-03-16 13:13  janakj
+commit 70f5cefa6dcc8562d58e58e7531d6021dbd88912
+Author: Peter Dunkley <[email protected]>
+Date:   Sat Oct 27 00:08:54 2012 +0100
 
-	* cfg.y: - check command type only if cmd returned anything,
-	  reported by	Tomas Mandys
+    modules/websocket: Updated example kamailio.cfg
+    
+    - More tweaks to MSRP over WebSocket
 
-2006-03-16 12:38  tma0
+commit 5a8b8da4abda5b20599add078efe4681aeb8dfa7
+Author: Peter Dunkley <[email protected]>
+Date:   Fri Oct 26 16:09:09 2012 +0100
 
-	* modules/tm/tm.c: - added support for new jjanak API (fix_param).
-	  New function t_replicate_to, t_relay_to, t_forward_nonack have 2
-	  param, 1st is protocol, 2nd ip:port. Both support fix_param.	It
-	  enables set destination e.g. using an AVP
+    modules/websocket: Updated example kamailio.cfg
+    
+    - Better MSRP over WebSocket support
 
-2006-03-16 11:47  janakj
+commit e804a70e47f938338e6d93930c297ff958f16e22
+Author: Peter Dunkley <[email protected]>
+Date:   Thu Oct 25 21:36:28 2012 +0100
 
-	* modules/domain/domain_mod.c: - fixed wrong test for DB_DISABLED,
-	  discovered by Michal Matyska
+    modules_k/xcap_server: Tidied up example
 
-2006-03-15 20:16  andrei
+commit c062817d0833a0d24a6afacc928f980298be1d60
+Author: Peter Dunkley <[email protected]>
+Date:   Thu Oct 25 21:35:57 2012 +0100
 
-	* atomic_ops.h, fastlock.h:
-	  - added mb_atomic_* ops, equivalent to membar(); atomic_*, but
-	  more	optimized (e.g. on x86 most atomic ops act also as memory
-	  barriers   so  mb_atomic_*  will be equiv. to atomic_* )
+    modules/websocket: Updated example kamailio.cfg
+    
+    - Reflects latest MSRP related updates
 
-	  - support for mips cpu which don't implement full mips isa2, but
-	  do support  ll and sc
+commit 682f002698c761c5570e587db5c48653668a1bb8
+Author: Peter Dunkley <[email protected]>
+Date:   Thu Oct 25 21:34:23 2012 +0100
 
-2006-03-15 17:13  andrei
+    modules/msrp: Updated example in README
+    
+    - Use new pv_www_authenticate() variant to pass in $msrp(method)
+    - Send responses to SEND that we are relaying to clients
+    - Handle REPORTS as end-to-end requests (that are not responded to)
+    - Send 501 for requests that are not AUTH, SEND, or REPORT
 
-	* Makefile, etc/ser.cfg, modules/ctl/ctl.cfg:
-	  - Makefile: added nodeb: make tar nodeb=1 (the tar.gz won't
-	  contain  the debian subdir anymore, needed for debian packaging)
-	  - updated ser.cfg: removed old fifo and added it via ctl
+commit 6b9e4fcc176e3141f25c74f17f599b88d30f8ff9
+Author: Peter Dunkley <[email protected]>
+Date:   Thu Oct 25 21:09:40 2012 +0100
 
-2006-03-15 17:05  kubartv
+    modules/msrp: Better fix for the relay problem
 
-	* modules/: pa/trace.h, presence_b2b/trace.h, rls/trace.h,
-	  rls/uri_ops.c, rls/uri_ops.h: forgotten files from previous
-	  commit (improved debugging and new RLS functions)
+commit f61a61e44168a213a065e4a7dc1c751a874fbce3
+Merge: a4f28b9 a0b36a9
+Author: Peter Dunkley <[email protected]>
+Date:   Thu Oct 25 20:35:13 2012 +0100
 
-2006-03-15 17:03  kubartv
+    Merge branch 'master' of ssh://git.sip-router.org/sip-router
+    
+    * 'master' of ssh://git.sip-router.org/sip-router:
+      Makefile.utils: add rule to create man page dir
 
-	* lib/cds/logger.h, lib/cds/sstr.c, lib/cds/sstr.h,
-	  lib/presence/notifier_domain.c, lib/presence/pidf.c,
-	  lib/presence/xml_utils.c, lib/xcap/parse_pres_rules.c,
-	  lib/xcap/pres_rules.c, lib/xcap/pres_rules.h,
-	  lib/xcap/resource_list.c, lib/xcap/resource_list.h,
-	  lib/xcap/resource_lists_parser.c, lib/xcap/xml_utils.c,
-	  lib/xcap/xml_utils.h, modules/rls/ChangeLog,
-	  modules/rls/db_rls.c, modules/rls/rl_subscription.c,
-	  modules/rls/rl_subscription.h, modules/rls/rls_handler.c,
-	  modules/rls/rls_handler.h, modules/rls/rls_mod.c,
-	  modules/rls/rpc.c, modules/rls/subscription_manager.c,
-	  modules/rls/subscription_manager.h,
-	  modules/rls/time_event_manager.c,
-	  modules/rls/virtual_subscription.c, modules/pa/dlist.c,
-	  modules/pa/offline_winfo.c, modules/pa/pa_mod.c,
-	  modules/pa/pdomain.c, modules/pa/pres_notes.c,
-	  modules/pa/presentity.c, modules/pa/presentity.h,
-	  modules/pa/publish.c, modules/pa/reply.c, modules/pa/subscribe.c,
-	  modules/pa/watcher.c, modules/presence_b2b/ChangeLog,
-	  modules/presence_b2b/euac_funcs.c,
-	  modules/presence_b2b/euac_funcs.h,
-	  modules/presence_b2b/euac_internals.c,
-	  modules/presence_b2b/euac_internals.h,
-	  modules/presence_b2b/euac_state_machine.c,
-	  modules/presence_b2b/euac_state_machine.h,
-	  modules/presence_b2b/events_mod.c,
-	  modules/presence_b2b/events_uac.c,
-	  modules/presence_b2b/events_uac.h,
-	  modules/presence_b2b/qsa_events.c,
-	  modules/presence_b2b/qsa_events.h, modules/presence_b2b/rpc.c:
-	  corrected some bugs in libraries and added some functions
-	  modified RLS processing - separated XCAP query and subscription
-	  handling, added some functions for that, improved debugging
-	  improved PA and PRESENCE_B2B debugging
+commit a4f28b9707b2c55af87138cca531fdb1badd7023
+Author: Peter Dunkley <[email protected]>
+Date:   Thu Oct 25 20:17:48 2012 +0100
 
-2006-03-13 21:20  andrei
+    modules_k/xcap_server: Added explicit parsing of headers before looking for HTTP ETag and Host headers
 
-	* Makefile.defs, atomic_ops.c, atomic_ops.h, timer.c,
-	  test/atomic_test.c:  - timer: proper includes for no fast lock
-	  case
-	   - Makefile: mips gcc params fixes
-	   - atomic_* updates [work in progress]
+commit a0b36a905afda1476085a645faf29bd534ed4949
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Thu Oct 25 21:16:26 2012 +0200
 
-2006-03-13 16:43  andrei
+    Makefile.utils: add rule to create man page dir
+    
+    - reported by Peter Dunkley
 
-	* modules/tm/h_table.h: - fixed conflicting flags
+commit 067051b8c9da440566cbd09d80bb1abd424f68de
+Author: Peter Dunkley <[email protected]>
+Date:   Thu Oct 25 20:17:05 2012 +0100
 
-2006-03-13 11:47  janakj
+    modules/websocket: Added explicit parsing of all headers before searching for WebSocket specific headers
 
-	* modules/xmlrpc/xmlrpc.c: - fixed memory leak (discovered by
-	  Vaclav Kubart)
+commit 6273279621dd4a8e6f6fe6a2faa548755a3eacd6
+Author: Peter Dunkley <[email protected]>
+Date:   Thu Oct 25 19:59:31 2012 +0100
 
-2006-03-13 11:24  janakj
+    modules_k/xcap_server: Removed some test debug that was left in by mistake
 
-	* modules/: ctl/fifo_server.c, fifo/fifo_server.c: - fixed memory
-	  leak (discovered by Vaclav Kubart)
+commit 53175995fb7fe7d760c063c4d542e991c1513344
+Author: Peter Dunkley <[email protected]>
+Date:   Thu Oct 25 19:45:04 2012 +0100
 
-2006-03-13 09:48  kubartv
+    modules/app_lua: Updated because of recent changes to auth and auth_db
 
-	* modules/tm/: t_reply.h, tm.c, tm_load.c: added wrapper function
-	  for C calls to w_t_reply (needed after changes done by TMa)
+commit 5c71412cf3530f19edc4bee38cc9c3857ddc1eb0
+Author: Peter Dunkley <[email protected]>
+Date:   Thu Oct 25 19:44:32 2012 +0100
 
-2006-03-09 21:44  andrei
+    modules_k/auth_db: Added an optional parameter for method to www_authenticate
 
-	* atomic_ops.c, atomic_ops.h, test/atomic_test.c, test/lock_test.c,
-	  test/mips_lock.c:
-	  - advanced synchronization functions:  atomic operations (inc,
-	  dec,	 inc_and_test, dec_and_test, or, and) and memory barriers.
-	  [ work in progress, for now: x86, x86_64 and mips2 ]
+commit 3f35106f791cf0f6638128539fd147ad2f44da27
+Author: Peter Dunkley <[email protected]>
+Date:   Thu Oct 25 19:43:55 2012 +0100
 
-2006-03-08 17:50  andrei
+    modules/auth: Added an optional parameter for method to pv_www_authenticate()
 
-	* fastlock.h:
-	  - mips inline asm gcc 3.x warnings fixed - mips2 NOSMP mode (skip
-	  sync) - minor x86 & mips optimizations
+commit 558e5294f697519917b58ddc451408b3d71aff4f
+Merge: 0ed33c0 019ab5e
+Author: Peter Dunkley <[email protected]>
+Date:   Thu Oct 25 18:22:21 2012 +0100
 
-2006-03-08 16:31  tma0
+    Merge branch 'master' of ssh://git.sip-router.org/sip-router
+    
+    * 'master' of ssh://git.sip-router.org/sip-router:
+      resolve.c: make dns query only on name that has valid syntax
 
-	* sr_module.h: - make gcc happy when compiling with a c++ module
-	  (str str -> struct _str str)
+commit 0ed33c0c3332ed3868509d8ae0b035d9420a7df4
+Author: Peter Dunkley <[email protected]>
+Date:   Thu Oct 25 18:21:41 2012 +0100
 
-2006-03-07 15:44  tma0
+    modules/msrp: Fixed a problem with relaying that I added when I put in WebSocket support
 
-	* modules/tm/tm.c: - support for new fixup_param allowing using
-	  t_reply as sl_reply (AVP may be used as parameters)
+commit 019ab5e2d6730b764b20a890f9a3b5f9237b6338
+Author: Juha Heinanen <[email protected]>
+Date:   Thu Oct 25 19:50:17 2012 +0300
 
-2006-03-07 14:12  andrei
+    resolve.c: make dns query only on name that has valid syntax
 
-	* modules/tm/t_reply.c:
-	  - useless set_avp_list removed
+commit aebeeee1993e4cce0d3288f1ccd8d17f3efee925
+Author: Peter Dunkley <[email protected]>
+Date:   Thu Oct 25 17:34:39 2012 +0100
 
-2006-03-07 10:58  andrei
+    modules_k/xcap_server: Updated example event_route[] in README
+    
+    - Now includes:
+      - updating of RLS subscriptions when RLS documents change
+      - pidf-manipulation
+      - clean handling of org.openmobilealliance.search
+      - org.openmobilealliance.xcap-directory support
 
-	* modules/tm/: lock.c, lock.h:
-	  - timer lock cleanups (removed timer related lock stuff since
-	  timers are now external, in-core)
+commit 4d48c5d485c9c1155b8b7471fbda56a80a218d48
+Author: Peter Dunkley <[email protected]>
+Date:   Thu Oct 25 17:33:46 2012 +0100
 
-2006-03-07 00:59  andrei
+    modules_k/xcap_server: Added support for the org.openmobilealliance.xcap-directory auid
+    
+    - Directory listing worked out on-the-fly based on DB contents
 
-	* Makefile.defs, cfg.lex:
-	  - removed the dependency on libfl
+commit f6a38aa7f80cdc02431bdd3d314c82663a3d33a4
+Author: Peter Dunkley <[email protected]>
+Date:   Thu Oct 25 17:32:43 2012 +0100
 
-2006-03-06 15:42  kubartv
+    modules_k/xcap_client: Added new #define for xcap-directory auid
 
-	* lib/: cds/dstring.c, cds/dstring.h, cds/serialize.c, cds/sstr.c,
-	  presence/lpidf.c, presence/pidf.c, presence/pres_doc.c,
-	  presence/xpidf.c: improved robustness
+commit 5f813fdab34cb7507bc4dcc1b66ff87f90f69c9a
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Thu Oct 25 10:56:41 2012 +0200
 
-2006-03-03 19:23  janakj
+    xcap_server: use a static table to keep the list of supported auids
+    
+    - adding new auid requires an entry in this table and define of the
+      internal type
 
-	* modules/tls/: tls_rpc.c, tls_mod.c: - deallocate lock only if it
-	  was really allocated - implemented tls.init (lists all existing
-	  TLS connections)
+commit 3bd01c035d5f4c6be55a9995103c0da689d5df18
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Thu Oct 25 10:01:08 2012 +0200
 
-2006-03-03 16:52  janakj
+    acc(k): fixed typo in acc_db_request() example
+    
+    - reported by Bernie Höneisen, FS#251
 
-	* modules/tls/: tls_config.c, tls_config.h, tls_domain.c,
-	  tls_domain.h, tls_init.c, tls_init.h, tls_mod.c, tls_mod.h,
-	  tls_rpc.c, tls_rpc.h, tls_select.c, tls_select.h, tls_server.c,
-	  tls_server.h, tls_util.c, tls_util.h, tls_verify.c, tls_verify.h:
-	  - fixed file comments - added missing defines in header files -
-	  added missing Id tags
+commit 22f9a675863f85d934afa5e7c09061c66497042b
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Thu Oct 25 09:25:17 2012 +0200
 
-2006-03-03 13:35  janakj
+    core: use cloned value to parse pv name for caching
+    
+    - patch by Hugh Waite
 
-	* modules/tls/tls_select.c: - fixed get_ssl (TCP extra data
-	  contains pointer to a different structure)
+commit 9bacc95d2a0c949e81032dd0cc392dfaa7c0a2c1
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Wed Oct 24 12:17:30 2012 +0200
 
-2006-03-03 13:26  janakj
+    kamctl: use kamcmd instead of sercmd
 
-	* modules/tls/tls_mod.c: - make sure tls modparams do not overview
-	  defaults for the external   configuration file
+commit c93d2d1b290c030f969ce1f62f106059226457ea
+Merge: c4b3b04 7e67e6b
+Author: Olle E. Johansson <[email protected]>
+Date:   Wed Oct 24 11:47:41 2012 +0200
 
-2006-03-03 13:23  janakj
+    Merge branch 'master' of ssh://git.sip-router.org/sip-router
+    I don't really know what this means and why this commit happens...
+    
+    * 'master' of ssh://git.sip-router.org/sip-router:
+      .gitignore: added few more patterns to ignore
+      pkg/kamailio/rpm: specs updated for rename of sercmd to kamcmd
+      sercmd: added basic man page
+      sercmd: builds and installs as kamcmd when FLAVOUR=kamailio
+      Makefile.utils: new target to install manpage for util tools
+      kamctl: replaced openser with kamailio in variable and function names
+      core: print modparam type id in log when parameter not found
+      modules/rtpproxy:  added 't' flag to rtpproxy_destroy and force_rtp_proxy - Added new flag 't' to rtpproxy_destroy function that makes it possible   do delete whole call even when To tag is present in request/reply.  In   force_rtp_proxy the flag is ignored.
 
-	* modules/tls/tls.cfg: - a couple of typos fixed
+commit 7e67e6bad8f56e8ed25673b24f132e0f5d9d17fc
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Wed Oct 24 08:39:59 2012 +0200
+
+    .gitignore: added few more patterns to ignore
+    
+    - kamcmd binary and second vi swap file
 
-2006-03-03 13:22  janakj
+commit 02b389ec2bca98dc158cd6ce255ad8c4aa1f570e
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Wed Oct 24 00:16:58 2012 +0200
 
-	* modules/tls/tls.cfg: - minor beautification
+    pkg/kamailio/rpm: specs updated for rename of sercmd to kamcmd
 
-2006-03-03 13:20  janakj
+commit e6bdf8a0317c1a62931c07a8bd40fbc65fa1398e
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Wed Oct 24 00:06:48 2012 +0200
 
-	* modules/tls/tls.cfg: - Example configuration file for tls module
+    sercmd: added basic man page
 
-2006-03-03 12:26  janakj
+commit e7e131d5b5abec9440f0963375abd1940d65e3f4
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Wed Oct 24 00:05:13 2012 +0200
 
-	* modules/tls/: tls_config.c, tls_config.h, tls_domain.c,
-	  tls_domain.h, tls_init.c, tls_init.h, tls_mod.c, tls_mod.h,
-	  tls_rpc.c, tls_rpc.h, tls_server.c, tls_server.h, tls_util.c,
-	  tls_util.h: - Support for external TLS configuration file -
-	  support for relative path names (CFG_DIR will be added
-	  automaticaly) - Support for run-time configuration re-load -
-	  tls.reload management command implemented
+    sercmd: builds and installs as kamcmd when FLAVOUR=kamailio
+    
+    - avoid packaging conflicts with ser (both packages attempt to install
+      same file)
 
-2006-03-03 11:46  kubartv
+commit e378b3c1038eab768a0d1304166a7aa2ef6e361a
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Wed Oct 24 00:04:11 2012 +0200
 
-	* modules/tm/dlg.c: corrected potential memory leak sources (shown
-	  under "heavy load")
+    Makefile.utils: new target to install manpage for util tools
 
-2006-03-03 10:58  janakj
+commit e102ae728214192184397b8e802228f9695f45f2
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Tue Oct 23 16:49:29 2012 +0200
 
-	* modules/registrar/reg_mod.h: - added missing extern keyword,
-	  reported by Daniel Dodson
+    kamctl: replaced openser with kamailio in variable and function names
 
-2006-03-02 18:22  kubartv
+commit 22dd8d6524a95b8bf0246adca99f0049c16fb76f
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Tue Oct 23 16:17:24 2012 +0200
 
-	* modules/pa/: ChangeLog, notify.c, pdomain.c, presentity.c,
-	  qsa_interface.c, reply.c, subscribe.c, winfo_doc.c:  - improved
-	  robustness
-	   - cosmetical changes
-	   - corrected BUG - contacts sent in all 2xx responses
+    core: print modparam type id in log when parameter not found
 
-2006-03-02 14:56  kubartv
+commit d8d80082aad32fd28484d30b2c4e0c98853cda31
+Author: Juha Heinanen <[email protected]>
+Date:   Mon Oct 22 12:15:54 2012 +0300
 
-	* modules/auth_db/authdb_mod.c: returned lost auth_dbf
-	  initialization
+    modules/rtpproxy:  added 't' flag to rtpproxy_destroy and force_rtp_proxy
+    - Added new flag 't' to rtpproxy_destroy function that makes it possible
+      do delete whole call even when To tag is present in request/reply.  In
+      force_rtp_proxy the flag is ignored.
 
-2006-03-01 17:29  janakj
+commit c4b3b04eb59de8b1b72675decfa06ff3cb779934
+Author: Olle E. Johansson <[email protected]>
+Date:   Sun Oct 21 20:09:07 2012 +0200
 
-	* modules/tm/: h_table.c, h_table.h, t_hooks.c, t_reply.c,
-	  tm_load.c: - recover all avps in failure and onreply routers -
-	  fixed small nit in an error message
+    mtree Documentation fixes
 
-2006-03-01 17:05  janakj
+commit 8818925e7974cd5d826ad105b77a59f17636badf
+Author: Olle E. Johansson <[email protected]>
+Date:   Sun Oct 21 19:13:50 2012 +0200
 
-	* modules/registrar/: reg_mod.c, reg_mod.h, reply.c, save.c: -
-	  aligned to the new sl_api structure of sl module - new parameters
-	  code_attr, reason_attr, and contact_attr - save_noreply will save
-	  the reply code, reply reason text   and contacts in AVPs which
-	  can be then accessed from the   script, so one can do:
+    pua: Fixing documentation typos, adding reginfo
 
-	    save_noreply("location");
-	    ... # Do something here
-	    append_to_reply("$contact");
-	    sl_reply("$code", "$reason");
+commit 9683068672ffb4679b6caa3d1a3a8b51aeedffd9
+Author: Olle E. Johansson <[email protected]>
+Date:   Sun Oct 21 19:02:56 2012 +0200
 
-	  - Support for retry-after removed, it can be done from the
-	  script now (which is more flexible)
+    sipcapture Fixing typos in documentation
 
-2006-03-01 17:01  janakj
+commit 4ba7d41bc078e554d48316b2c3e0b6435b55f60a
+Author: Olle E. Johansson <[email protected]>
+Date:   Sun Oct 21 18:54:33 2012 +0200
 
-	* modules/: auth_db/authdb_mod.c, auth_db/authdb_mod.h,
-	  auth_db/authorize.c, cpl-c/cpl.c, cpl-c/cpl_env.h,
-	  cpl-c/cpl_run.c, options/mod_options.c, sanity/sanity.c,
-	  sanity/mod_sanity.c, sanity/mod_sanity.h, speeddial/sdlookup.c,
-	  speeddial/speeddial.c, speeddial/speeddial.h, xmlrpc/xmlrpc.c: -
-	  aligned to the new sl_api structure of sl module
+    SDPops Typo fixes in documentation
 
-2006-03-01 17:00  janakj
+commit 2aa02e80cd76f38e812bfddf32326248e9b74cf8
+Author: Olle E. Johansson <[email protected]>
+Date:   Sun Oct 21 18:49:43 2012 +0200
 
-	* modules/auth/: auth_mod.c, auth_mod.h: - aligned to the new
-	  sl_api_t structure
+    Ratelimit: Fixing typos
 
-2006-03-01 16:59  janakj
+commit ca3f80f76ca5be83407f8d8b542c8390982459d4
+Merge: 84f6596 a041479
+Author: Olle E. Johansson <[email protected]>
+Date:   Sun Oct 21 18:32:33 2012 +0200
 
-	* modules/sl/: sl.c, sl.h, sl_funcs.c, sl_funcs.h: - expose
-	  internal functions through a structure like other ser   modules,
-	  - bind_sl added - module name changed to match the real library
-	  name
+    Merge branch 'master' of ssh://git.sip-router.org/sip-router
+    
+    * 'master' of ssh://git.sip-router.org/sip-router:
+      modules/rtpproxy: some README improvements
+      pkg/kamailio/fedora/16: More tweaks to .spec
+      pkg/kamailio/(centos|fedora): Updated boxgrinder appliance definitions
+      pkg/kamailio/fedora/16: added SCTP dependencies to .spec
+      pkg/kamailio/fedora/16: Updated .spec file
+      Makefiles: Updated Makefiles to use db2x_docbook2man when docbook2x-man is not installed
+      pkg/kamailio/fedora/16: Updated .spec to set ownership of /etc/kamailio to kamailio.kamailio
+      modules/websocket: Updated example configuration file
+      modules/msrp: Updated MSRP configuration example
+      rtpproxy: allow flags parameter to rtpproxy_destroy()
 
-2006-03-01 13:02  janakj
+commit 84f6596ccbb107563386acb52a2c60fd3cc0df22
+Author: Olle E. Johansson <[email protected]>
+Date:   Sun Oct 21 18:30:32 2012 +0200
 
-	* modules/sl/: sl.c, sl_funcs.c, sl_funcs.h: - support for
-	  attributes in sl_reply parameters, for example:   $code = 200;
-	  $reason = "OK";   sl_reply("$code", "$reason");
+    TLS Documentation updates
 
-2006-03-01 13:00  janakj
+commit a041479bd7153b3a3b665a3ed27a4da12cb9b1d1
+Author: Juha Heinanen <[email protected]>
+Date:   Sun Oct 21 17:29:44 2012 +0300
+
+    modules/rtpproxy: some README improvements
 
-	* sr_module.h, sr_module.c: - generic fix_param fixup function, the
-	  function produces fparam_t structure,   which can contain parsed
-	  integer, str string, AVP, regex, or asciiz character.    The
-	  function gets the original string parameter as input
+commit 6135c98b472a755015aacc640b65e9a5c202c122
+Author: Olle E. Johansson <[email protected]>
+Date:   Sat Oct 20 17:47:32 2012 +0200
+
+    Documentation updates
+
+commit e39b774a4f0aec0bc6a6fe07b0eace7378b0bcbb
+Author: Peter Dunkley <[email protected]>
+Date:   Sat Oct 20 03:55:01 2012 +0100
+
+    pkg/kamailio/fedora/16: More tweaks to .spec
+    
+    - The auth_diameter and malloc_test modules were being built during install
+      instead of in the build section
+
+commit 4b7d47321fa4648452040e27ba619dee72e0b6b5
+Author: Peter Dunkley <[email protected]>
+Date:   Sat Oct 20 03:12:05 2012 +0100
+
+    pkg/kamailio/(centos|fedora): Updated boxgrinder appliance definitions
+
+commit b4e7d304ad7149d10d69c85454141e393c6d0fb7
+Author: Peter Dunkley <[email protected]>
+Date:   Sat Oct 20 03:06:30 2012 +0100
+
+    pkg/kamailio/fedora/16: added SCTP dependencies to .spec
+
+commit 113c0e63686e8d3cdca21e9a6399dce727ee866f
+Author: Peter Dunkley <[email protected]>
+Date:   Sat Oct 20 02:38:18 2012 +0100
+
+    pkg/kamailio/fedora/16: Updated .spec file
+    
+    - Added installation of auth.7.gz for Fedoa now that manpages are built for
+      Fedora
+    - Added "make utils" to build section
+    - SCTP and STUN now included in build
+    - Removed kamailio-tls package - tls module now in main Kamailio RPM as that has
+      openssl as a dependency for STUN
+
+commit c9088190cf29b7d561ca2bded6266b3e21d51d8b
+Author: Peter Dunkley <[email protected]>
+Date:   Sat Oct 20 01:23:51 2012 +0100
+
+    Makefiles: Updated Makefiles to use db2x_docbook2man when docbook2x-man is not installed
+    
+    - db2x_docbook2man is what Fedora contains
+
+commit eb45b8ccb4d859e7726889a4fae50941bd6c8e43
+Author: Peter Dunkley <[email protected]>
+Date:   Sat Oct 20 00:29:07 2012 +0100
+
+    pkg/kamailio/fedora/16: Updated .spec to set ownership of /etc/kamailio to kamailio.kamailio
+    
+    - Means that file-based DB (e.g. sqlite) files kept in /etc/kamailio can be
+      written to by processes (including kamailio itself) run by the kamailio user.
+
+commit ae485d398f17ae7040ac1a0799842e6bb0e42bd8
+Author: Andrew Mortensen <[email protected]>
+Date:   Fri Oct 19 17:24:44 2012 -0400
+
+    Remove unused variables and debugging.
+    
+    Quiet compiler warnings.
+
+commit cbc6e06cb95b69502095971c55b7a83a683c0537
+Author: Andrew Mortensen <[email protected]>
+Date:   Fri Oct 19 17:16:59 2012 -0400
+
+    Fix [SIPR-723]: must release appearance when script sends error w/ t_reply
+    
+    Using callback for TMCB_RESPONSE_READY event, which is invoked with a
+    FAKED_REPLY when t_reply() is called.
+    
+    This still means that the SCA_UPDATE route will need to be called early
+    enough in the configuration so that the callback is registered when the
+    script calls t_reply().
+
+commit cb74d38f52d77f6ee11d7083ab0adabe5e6f34a9
+Author: Peter Dunkley <[email protected]>
+Date:   Fri Oct 19 14:34:54 2012 +0100
+
+    modules/websocket: Updated example configuration file
+    
+    - Use qop="auth" for MSRP authentication
+    - Support Expires: header in MSRP AUTH requests
+    - Add Expires: header to 200 OK responses to MSRP AUTH requests
+    - Authenticate MSRP AUTH requests off subscriber DB
+
+commit 70b0875fb968ef4747636c9f01882bf92138388a
+Author: Peter Dunkley <[email protected]>
+Date:   Fri Oct 19 14:25:35 2012 +0100
+
+    modules/msrp: Updated MSRP configuration example
+    
+    - Enabled qop="auth" for authentication (mandated by RFC 4976)
+    - Added support for Expires: header in AUTH requests
+    - Added (mandatory) Expires: header to 200 OK responses to AUTH requests
+
+commit 13c2616d6b8a9f9f82979a531bac664832043597
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Fri Oct 19 11:53:17 2012 +0200
+
+    rtpproxy: allow flags parameter to rtpproxy_destroy()
+    
+    - it is optional parameter, but was not allowed by c code
+    - reported by Juha Heinanen
+
+commit 12d95216e12c5e5bab351921524b4029a126854b
+Merge: da72036 5e886db
+Author: Olle E. Johansson <[email protected]>
+Date:   Thu Oct 18 18:39:15 2012 +0200
+
+    Merge branch 'master' of ssh://git.sip-router.org/sip-router
+    
+    * 'master' of ssh://git.sip-router.org/sip-router:
+      all: OPENSER_MOD_INTERFACE replaced with KAMAILIO_MOD_INTERFACE
+      all: fixed matrix doc generation and updates for &defaultdb;
+      all: replaced db_url static value with &defaultrodb; in docs
+      all: replaced openser with kamailio in license and comments
+      dialog(k): run event route after setting cfg dlg vars
+      rtpproxy: regenerated readme for flags x and 3
+      rtpproxy: documented flag 3
+      rtpproxy: propage flags from rtpproxy_manage() to unforce_rtp_proxy()
+      pkg/gentoo: Added ebuild for v3.3.2
+      Makefile: added uninstall target
+      modules_k/db_sqlite: fix memory leak in sqlops query
+      kamailio.cfg: handle UPDATE through nat traversal logic
+      auth_db(k): new function is_subscriber(uri, dbtable, flags)
+
+commit 5e886dbbef6896ab2b1c0f6941587912a3b8694b
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Thu Oct 18 15:46:13 2012 +0200
+
+    all: OPENSER_MOD_INTERFACE replaced with KAMAILIO_MOD_INTERFACE
+    
+    - OPENSER_MOD_INTERFACE still works if used in module Makefile
+
+commit 0d9eec94cea33aeeb7dee79664bab512194316b1
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Thu Oct 18 14:46:37 2012 +0200
+
+    all: fixed matrix doc generation and updates for &defaultdb;
+
+commit f5ccfeaade8d4e7137c52b578fe52d1deff88fd8
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Thu Oct 18 14:36:46 2012 +0200
+
+    all: replaced db_url static value with &defaultrodb; in docs
+    
+    - regenerated the readmes for modules/ and modules_k/
+
+commit 6c7802254f146f97b1548645d363a0aee9c0d7d4
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Thu Oct 18 14:18:19 2012 +0200
+
+    all: replaced openser with kamailio in license and comments
+    
+    - some files were forgotten during renaming
+
+commit 2cdded28d9968a0b78f5ec8329ae6983d9ea77a9
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Thu Oct 18 09:54:53 2012 +0200
+
+    dialog(k): run event route after setting cfg dlg vars
+    
+    - in this way they (e.g., $DLG_lifetime) should be accessible in event
+      route
+
+commit 5b597906be44996344e11edfc1b3b60e8f47dc75
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Wed Oct 17 21:41:40 2012 +0200
+
+    rtpproxy: regenerated readme for flags x and 3
+
+commit 63d577731291c3c2079544ce105521dda7bd8ebb
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Wed Oct 17 21:33:45 2012 +0200
+
+    rtpproxy: documented flag 3
+
+commit 393893a9d6b1fe586abe2a6cfa03680d494bb871
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Wed Oct 17 21:25:00 2012 +0200
+
+    rtpproxy: propage flags from rtpproxy_manage() to unforce_rtp_proxy()
+    
+    - unforce_rtp_proxy() can take flags 1 or 2, previously it didn't take
+      any
+    - ignore all the other valid flags for rtpproxy_manage() in
+      unforce_rtp_proxy()
+    - added flag 3 - add first via branch if it request (like flag 1) or add
+      second via branch if it reply (like flag 2) - suitable for auto-pilot
+      usage with rtpproxy_manage() function
+
+commit 131e70db763aec71670466cc399e088bf96561f7
+Author: Claudio Furrer <[email protected]>
+Date:   Wed Oct 17 14:38:52 2012 -0300
+
+    pkg/gentoo: Added ebuild for v3.3.2
+
+commit 04b9fdd2b8d6dac67948f1cb5a76b4d34a65f228
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Wed Oct 17 12:52:34 2012 +0200
+
+    Makefile: added uninstall target
+    
+    - it prints hints and commands to perform uninstall when installation is
+      done from sources
+
+commit ecf95eb0ada8bfacb93af7b82f39347c841229e4
+Author: Timo Teräs <[email protected]>
+Date:   Wed Oct 17 09:00:14 2012 +0300
+
+    modules_k/db_sqlite: fix memory leak in sqlops query
+    
+    Seems that most other database drivers release the database
+    resource only at free_result time, which I some how missed.
+    
+    Since we are doing a deep copy in store_result(), we can
+    just release the sqlite resources immediately raw_query().
+    
+    Reported-by: Pedro Antonio Vico Solano <[email protected]>
 
-2006-03-01 10:16  tma0
+commit c76035255e556d8272097281d3e0fd0ab918c608
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Tue Oct 16 21:59:28 2012 +0200
 
-	* modules/textops/: textops.c, doc/functions.xml: - support for
-	  uris with or without LAQUOT/RAQUOT - select @hf_name.HDR[IDX].uri
-	  will strip LAQUOT/RAQUOT
+    kamailio.cfg: handle UPDATE through nat traversal logic
+    
+    - BYE is handled via branch route as well
+    - set tm routes only if they are not set, allowing better plug and play
+      config snippets
 
-2006-03-01 08:45  kubartv
+commit 1a3a35fd19d4b9ec04d84b7b8fa1e1cb43092bd9
+Author: Andrew Mortensen <[email protected]>
+Date:   Tue Oct 16 15:41:26 2012 -0400
 
-	* modules/pa/: ChangeLog, presentity.c, presentity.h, reply.c,
-	  subscribe.c, watcher.c: little optimalization in handling
-	  subscription
+    Notes on t_reply, subscription deletion on NOTIFY failure.
 
-2006-03-01 08:42  kubartv
+commit a9f1f9e3cd62d296bcbf4c3618da96d077aacd86
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Tue Oct 16 21:28:46 2012 +0200
 
-	* modules/rls/: ChangeLog, rls_mod.c: corrected bug in one shot
-	  timer usage
+    auth_db(k): new function is_subscriber(uri, dbtable, flags)
+    
+    - check if URI corresponds to a subscriber record in dbtable and load
+      credentials for it
 
-2006-03-01 08:40  kubartv
+commit 15a2a5ae02948961f1e26e545e284d9659510c42
+Author: Andrew Mortensen <[email protected]>
+Date:   Tue Oct 16 14:47:10 2012 -0400
 
-	* route_struct.h, cfg.y: corrected problems reported by Warren
-	  McCoubrey with compilation problems on Redhat 9 with gcc 3.2.2
-	  and bison 1.35 (bison++)
+    Use standard hashes.h header instead of libkcore hash_func.h path.
+    
+    All hash routines are moved to sip-router/hashes.h as of 3.3.x.
 
-2006-02-28 17:19  tma0
+commit 06bb391cef6c59285b5e2eff1ea7857485b33e0c
+Author: Andrew Mortensen <[email protected]>
+Date:   Tue Oct 16 14:27:39 2012 -0400
 
-	* modules/textops/: textops.c, doc/functions.xml: - support for
-	  headers using Authorization syntax, i.e. comma delimited list of
-	  params (comma is not multi-value delimiter)
+    Ensure upstream 302 redirects are not treated as errors.
 
-2006-02-28 12:50  mma
+commit c9088726bee111154cdede26c9f92566241f1757
+Author: Andrew Mortensen <[email protected]>
+Date:   Mon Oct 15 22:22:26 2012 -0400
 
-	* modules/xlog/xl_lib.c: Allowed digits inside of select's ID (same
-	  way as ID in cfg.lex - start with letter, then letter/digit/'_')
+    Fix [SIPR-708]: loss of state on call transfer
+    
+    Module was blindly releasing appearance indices on BYE without checking
+    for dialog match. Simple call-id check is enough.
 
-2006-02-28 10:21  janakj
+commit 8ff7fce98a15afe4ca1bf7c2d9206f1d75add66a
+Author: Andrew Mortensen <[email protected]>
+Date:   Mon Oct 15 21:41:36 2012 -0400
 
-	* parser/digest/digest_parser.c: - fixed typo ('n' -> '\n'),
-	  reported by Tomas Mandys
+    Remove debug line.
 
-2006-02-27 21:50  tma0
+commit da720367972b18e0a6664dfa47d1e65a648099a8
+Author: Olle E. Johansson <[email protected]>
+Date:   Mon Oct 15 19:51:21 2012 +0200
 
-	* select.c: - improved error message when select cannot be parsed
+    async Forgot to rebuild the README
 
-2006-02-27 15:28  tma0
+commit b68fade258f29ad427950b42b44d706b95db4150
+Author: Olle E. Johansson <[email protected]>
+Date:   Mon Oct 15 19:47:52 2012 +0200
 
-	* modules/textops/: textops.c, doc/functions.xml: - support for
-	  getting uris @hf_value.name.uri, e.g. @hf_value.route.uri, it
-	  returns comma delimited list of uris "<sip:xxx>,<sip:yyy>" - if
-	  used with index then returns uri part of particular header -
-	  param called uri may be accesed using @hf_value.route.p.uri
+    Async typo fix
 
-2006-02-27 14:56  mma
+commit f9ab230357fcd551252a6bc151b278e792bcb54e
+Author: Olle E. Johansson <[email protected]>
+Date:   Mon Oct 15 19:45:02 2012 +0200
 
-	* modules/xlog/xl_lib.c: Bug corrected: allow negative numbers as
-	  index in select parser
+    textopsx - typo fixes, minor corrections
 
-2006-02-27 12:43  kubartv
+commit e09af3559bf1c0a39e87eb1fa489c1e996c56b8e
+Author: Andrew Mortensen <[email protected]>
+Date:   Mon Oct 15 12:56:53 2012 -0400
 
-	* lib/cds/dstring.c, lib/presence/lpidf.c, lib/presence/pidf.c,
-	  lib/presence/xpidf.c, modules/pa/ChangeLog, modules/pa/notify.c,
-	  modules/pa/winfo_doc.c, modules/rls/ChangeLog,
-	  modules/rls/rl_subscription.c, modules/rls/rlmi_doc.c: corrected
-	  bugs: under heavy load vere allocated buffers with zero length,
-	  but they were not freed
+    Ensure unlinked hash entries have NULL next and slot pointers.
+    
+    Not fixing any known issue, just being a bit more defensive when
+    unlinking entries.
 
-2006-02-26 21:26  mma
+commit 5d9d4d017d79d4e9269bbeb019460b3c8d8695d0
+Author: Dragos Dinu <[email protected]>
+Date:   Mon Oct 15 18:29:48 2012 +0300
 
-	* modules/xlog/xl_lib.c: Allowing underscore in select_ids and
-	  don't overskip one char just behind the resolved select.
+    modules_k/siptrace Fixed crash when using HEP v2
 
-2006-02-26 17:32  mma
+commit 7d4ed54b5748d70761f2c574a05b7df1c07010b6
+Author: Olle E. Johansson <[email protected]>
+Date:   Mon Oct 15 14:35:10 2012 +0200
 
-	* select.c: Bug corrected when parsing xlog's select, which uses
-	  DIVERSION flag. It tried to free mem block which was inside
-	  allocation block.
+    INSTALL - Fixing spelling error
 
-2006-02-24 21:24  andrei
+commit d926b2f942e8fd207c9f50ff9e1edd27a39866bd
+Author: Olle E. Johansson <[email protected]>
+Date:   Sun Oct 14 21:57:24 2012 +0200
 
-	* utils/sercmd/Makefile: - basic readline autodetection (if
-	  readline headers are present	sercmd is compiled with readline
-	  support, if not no command completion  is available)
+    registrar Fix typos in README
 
-2006-02-24 20:16  andrei
+commit 68a650ef2b1be78084463c88e9b527ae498b7943
+Author: Olle E. Johansson <[email protected]>
+Date:   Sun Oct 14 21:40:36 2012 +0200
 
-	* cfg.y, main.c, signals.c: - solaris fixes
+    pv Fix typo in README
 
-2006-02-24 19:35  andrei
+commit 93c6567011162468c684fa0e673b9efaa2910a3a
+Author: Olle E. Johansson <[email protected]>
+Date:   Sun Oct 14 21:32:56 2012 +0200
 
-	* route.h, tcp_main.c, ut.h, modules/tm/t_stats.c,
-	  parser/parse_uri.c: - tcp accounting: connections_no decreased on
-	  error - parse_uri: missing break for r2 - tm: enabled tm stats
+    dispatcher small documentation updates
 
-2006-02-24 13:26  janakj
+commit a86074046ebf5e325413662d099711c00ee24930
+Author: Olle E. Johansson <[email protected]>
+Date:   Sun Oct 14 21:02:52 2012 +0200
 
-	* modules/textops/textops.c: - cosmetic fix
+    p_userloc Fixing the database URLs as entities
 
-2006-02-24 13:24  janakj
+commit 2040896f2b4fd5d955af783fa9c8851572186785
+Author: Olle E. Johansson <[email protected]>
+Date:   Sun Oct 14 19:54:19 2012 +0200
 
-	* core_cmd.c, modules/usrloc/ul_rpc.c: - fixed test of rpc->scan
-	  return value
+    Revert "Changing database URL example to use entity"
+    
+    This reverts commit 827e2d4bbab047fd4bbe4ada266327a823fc1cd3.
 
-2006-02-24 13:09  janakj
+commit 827e2d4bbab047fd4bbe4ada266327a823fc1cd3
+Author: Olle E. Johansson <[email protected]>
+Date:   Sun Oct 14 19:38:47 2012 +0200
 
-	* modules/textops/textops.c: - the select structure must not be
-	  static
+    Changing database URL example to use entity
+    
+    Making it easier when we change from "openserrw" to "kamailiorw"
 
-2006-02-24 01:00  tma0
+commit ba1aba0c8ffa992eb99b2004f3cf14fe1a6fa3d1
+Author: Olle E. Johansson <[email protected]>
+Date:   Sun Oct 14 18:58:16 2012 +0200
 
-	* modules/textops/: textops.c, doc/functions.xml, doc/textops.xml:
-	  New textops features ===============
+    dialog: minor typo fix
 
-	  xl_lib support for search_append, append_hf, replace,
-	  replace_all, append_to_reply
+commit 2522a1ce3886a764c6cf09d8cc55b8c6dd1bf57e
+Author: Olle E. Johansson <[email protected]>
+Date:   Sun Oct 14 18:20:42 2012 +0200
 
-	  New functions:
+    siputils: README typo fixes
 
-	  insert_hf_value() ----------- insert new header field before
-	  existing header, if no index acquired the 0 is used.	No param
-	  may be used. To insert value behing last value use
-	  appenf_hf_value (exception #1 add event no header exists).
+commit ef0f8fd65b34ef9d7006be30f7cef0353c1c529f
+Author: Olle E. Johansson <[email protected]>
+Date:   Sun Oct 14 18:11:29 2012 +0200
 
-	    insert_hf_value("foo[2]", "gogo")
-	    insert_hf_value("foo", "gogo")   # add new header at the top of
-	  list
-	    insert_hf_value("foo[1]", "gogo") # try add to the first header
+    uac: README typos
 
-	  append_hf_value() ----------- append new header after an existing
-	  header, if no index acquired append at the end of list. No param
-	  may be used.
+commit 4c45f67a42ea76c909893bd684cac03fde8d5c2b
+Author: Olle E. Johansson <[email protected]>
+Date:   Sun Oct 14 18:02:45 2012 +0200
 
-	    append_hf_value("foo", "gogo")  = foo[-1]
-	    append_hf_value("foo", "gogo")   # add new header
-	    append_hf_value("foo[-1]", "gogo") # try add to the last
-	  header, if not exists add new header
+    SL doc: fix typos
 
-	  remove_hf_value() ----------- remove hf or parameters
-	  remove_hf_value("foo") = foo[1]   remove_hf_value("foo[*]")  =
-	  all foo's   remove_hf_value("foo[-1]")  last foo
+commit d22fb8987131f6ee94406632913885a52098b49c
+Author: Olle E. Johansson <[email protected]>
+Date:   Sun Oct 14 17:54:53 2012 +0200
 
-	    remove_hf_value("foo.bar")	delete parameter
-	    remove_hf_value("foo[*].bar")  for each foo delete bar
-	  parameters, eventually remove also foo's
+    TM docs: fix typos
 
-	  assign_hf_value() -----------
+commit 4090bfc2e4eb76a9b6c03d99446619d2723fa222
+Author: Olle E. Johansson <[email protected]>
+Date:   Sun Oct 14 17:45:41 2012 +0200
 
-	    assign_hf_value("foo", "gogo")  # foo[1]
-	    assign_hf_value("foo[-1]", "gogo")	# foo[last_foo]
+    tm: Updates of README, spelling errors
 
-	    assign_hf_value("foo.bar")	# remove all foo's
-	    assign_hf_value("foo.bar", "")  dtto
-	    assign_hf_value("foo[3].bar", "")
-	    assign_hf_value("foo[*]", "")  # remove all foo's = remove_hf
-	    assign_hf_value("foo[*].bar", "")  # set empty value (ex. lr)
+commit 6339389bae85814264a923ebbf938d70fa22c4db
+Author: Olle E. Johansson <[email protected]>
+Date:   Sun Oct 14 17:24:21 2012 +0200
 
-	  Multi value set manipulation
+    async: Speling erors fixed
 
-2006-02-24 00:36  andrei
+commit f8e02b3bbe83315d8228005d4388434b62473c61
+Author: Olle E. Johansson <[email protected]>
+Date:   Sun Oct 14 17:13:01 2012 +0200
 
-	* modules/ctl/io_listener.c, utils/sercmd/parse_listen_id.c,
-	  utils/sercmd/sercmd.c:
-	  - *bsd & mac os x fixes - use alternative to
-	  rl_attempted_completion_over which is not present in	 some
-	  readline emulations (e.g. libedit readline emulation on mac os x)
+    msilo: Updating docs
+    
+    Fixing a typo and while at it updating some texts.
 
-2006-02-23 22:14  andrei
+commit 4d71456df4b47a131cb6df2a21608ba291e30b95
+Author: Andrew Mortensen <[email protected]>
+Date:   Fri Oct 12 14:35:12 2012 -0400
 
-	* modules/ctl/ctl.cfg, modules/ctl/ctrl_socks.c,
-	  utils/sercmd/parse_listen_id.c:
-	   - more minor fixes (sync. socket parsing between ctl and sercmd)
+    Fix [SIPR-728]: stuck lamp on multiple inbound calls
+    
+    BYE response handler was trying to lookup remote party's Call-Info
+    state using from-tag instead of to-tag.
 
-2006-02-23 21:46  andrei
+commit 9fc31d82f47a0fb526f25864ff093c1b5a55b057
+Author: Andrew Mortensen <[email protected]>
+Date:   Fri Oct 12 13:37:30 2012 -0400
 
-	* modules/ctl/: binrpc_run.c, ctl.cfg: - minor fix: close the
-	  connection only on major erros (e.g. corrupted packet)
+    Add simple install-and-bounce-sip-router script.
 
-2006-02-23 21:07  andrei
+commit 3b09b31be29ca06b959b92a3837f5fd56435488f
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Fri Oct 12 15:40:24 2012 +0200
 
-	* NEWS, utils/sercmd/EXAMPLES, utils/sercmd/Makefile,
-	  utils/sercmd/TODO, utils/sercmd/license.h,
-	  utils/sercmd/parse_listen_id.c, utils/sercmd/parse_listen_id.h,
-	  utils/sercmd/sercmd.c:
-	  - new command line tool which communicates with the ctl module
-	  (using the new binary protocol)   - supports various connection
-	  methods: udp, tcp, unix sockets (datagram	and stream)   - can
-	  do basic reply formatting (see -f )	- supports both command
-	  line and interactive modes   - if compiled with libreadline
-	  supports command completion in the	 interactive mode   -
-	  depends only on libreadline/libedit if compiled with command
-	  completion	 support  Example:     sercmd -s
-	  unixd:/tmp/unix_dgram -f 'pid:%v desc:"%v"\n' core.ps     sercmd
-	  # enters interactive mode, uses default unix:/tmp/ser_ctl socket
-	  sercmd ps	   sercmd who  (see also sercmd -h and
-	  utils/sercmd/EXAMPLES)
+    kamailio.cfg: load corex module to get same cfg api as so far
 
-2006-02-23 21:00  andrei
+commit 5e5213287009b8dda79017ddbd52ff129df9c44c
+Author: Andrew Mortensen <[email protected]>
+Date:   Thu Oct 11 17:00:28 2012 -0400
 
-	* scripts/sc_tcp:  - example serctl fifo over tcp script. It uses
-	  nc (netcat) to communicate
-	   over tcp with the fifo part of the ctl module.
-	   Use SER_FIFO="hostname port" sc_tcp	for different hosts/ports.
+    Improve encapsulation when sending NOTIFYs.
+    
+    When sending NOTIFY to subscribers list, only build headers for the
+    NOTIFY once.
 
-2006-02-23 20:57  andrei
+commit c43bb19418cbf6a80dcd935491d02d891e5651a6
+Author: Andrew Mortensen <[email protected]>
+Date:   Thu Oct 11 16:21:36 2012 -0400
 
-	* modules/ctl/: Makefile, binrpc.c, binrpc.h, binrpc_run.c,
-	  binrpc_run.h, ctl.c, ctl.cfg, ctl_defaults.h, ctrl_socks.c,
-	  ctrl_socks.h, fifo_server.c, fifo_server.h, init_socks.c,
-	  init_socks.h, io_listener.c, io_listener.h:
-	  - new fifo/unixsock/xmlrpc like module (implements the rpc api):
-	  - supports multiple simultaneous connections over tcp, udp  and
-	  unix	   datagram or stream sockets	- uses a space efficient
-	  binary encoding (for details see the top     comments in
-	  modules/ctl/binrpc.h)   - fast   - forks only one extra process
-	  - supports also the old fifo protocol, extended to work also on
-	  tcp, udp and unix sockets (you could use fifo over telnet for
-	  example)   - it doesn't depend on any external library  see
-	  modules/ctl/ctl.cfg for an example config and possible module
-	  parameters.
+    Remove debug sanity check.
 
-2006-02-23 13:06  kubartv
+commit 2c968f5c36db7609c16521a43fd4694de2cc83d1
+Author: Andrew Mortensen <[email protected]>
+Date:   Thu Oct 11 16:18:24 2012 -0400
 
-	* lib/xcap/pres_rules.c: corrected memory leak
+    Move from doubly-linked list with tail insertion to singly linked list.
+    
+    Reduce complexity, especially where unlinking is concerned.
 
-2006-02-23 00:41  janakj
+commit 309918272df6110453cf2b9af4afd7e816590cbe
+Author: Andrew Mortensen <[email protected]>
+Date:   Thu Oct 11 16:16:16 2012 -0400
 
-	* modules/tls/tls_config.c: - fixed wrong comment
+    Improve appearance index unlinking.
+    
+    The double pointer unlinking method is much more elegant.
 
-2006-02-23 00:37  janakj
+commit d1897658f85f45ff900b7c2fc9a0e6cbe8aa1522
+Author: Andrew Mortensen <[email protected]>
+Date:   Thu Oct 11 16:13:23 2012 -0400
 
-	* modules/tls/: tls_config.h, tls_mod.c, tls_mod.h, tls_config.c: -
-	  TLS configuration file parser (not yet integrated   with rest of
-	  tls module)
+    Only store one appearance_list per AoR.
+    
+    sca_appearance_register was not checking to see if an entry for the AoR
+    already existed in the hash table, blindly appending an empty list for
+    each client subscription. Things worked because the hash table collision
+    handling inserted new entries at tail instead of head.
 
-2006-02-22 19:45  mma
+commit 2f240d5f5d1e647cbc6ee55893a65058bf950cda
+Author: Peter Dunkley <[email protected]>
+Date:   Thu Oct 11 12:58:38 2012 +0100
 
-	* modules/avp/avp.c: Corrected bug when adding AVP[] to multiple
-	  headers. Sometimes it generated core dumps for single value AVP
-	  too.
+    modules/msrp: Added support for WS transport
+    
+    - Updated parser to recognise/decode ";ws" as a transport
+    - Updated netio code to route MSRP messages destined for a
+      WebSocket connection through the websocket module (instead of just
+      tcp_send()ing them).
 
-2006-02-22 14:43  kubartv
+commit 132509a7affe0f0bffd87f3606513b1475e98a03
+Author: Peter Dunkley <[email protected]>
+Date:   Thu Oct 11 12:57:26 2012 +0100
+
+    modules/websocket: Added support for MSRP WebSocket sub-protocol
+    
+    - Prototype of draft-pd-msrp-websocket
+    - Enables session based chat and group chat from HTML5 clients
+
+commit baf9486e80018206d4edcdfb666b393d8b43aadf
+Author: Marius Zbihlei <[email protected]>
+Date:   Thu Oct 11 10:59:45 2012 +0300
+
+    core: fixed small issue w/ include directive
+
+commit 728f6033a7ee663f3e46717c8ea49703135d3c12
+Author: Henning Westerholt <[email protected]>
+Date:   Wed Oct 10 19:15:10 2012 +0200
+
+    core: disable build of DNSSEC (patch from Marius)
+
+commit 98ceaec93a6c69399ea4bfcf47a82e01610d848e
+Author: Peter Dunkley <[email protected]>
+Date:   Wed Oct 10 18:00:51 2012 +0100
+
+    modules/msrp: Updated typo in MSRP example
+
+commit d9c2638bd27c50a7cba4a96ee7b5592d05f39c90
+Author: Peter Dunkley <[email protected]>
+Date:   Wed Oct 10 16:15:32 2012 +0100
+
+    modules/msrp: From-Path: not updated correctly in msrp_relay()
+    
+    - When the last To-Path-URI is pre-pended to the From-Path: header the first
+      two characters of "From-Path: " are skipped, leaving "om-Path: ".  11
+      characters should actually be skipped.
+
+commit 73103df8fcffa0f92dfc4699c52d5dd9474084ea
+Author: Marius Zbihlei <[email protected]>
+Date:   Wed Oct 10 17:53:02 2012 +0300
+
+    Core: added DNSSEC support for DNS queries
+    
+    This is available by setting the USE_DNSSEC compile flag. It requires libval-threads and libres (part of dnssec-tools dnssec-tools.org)
+    The custom resolvers were replaced by val_gethostbyname, val_gethostbyname and val_res_query (for SRV).
+
+commit 10dafd75873f9f58037680e4d72cafc4c877583f
+Author: Peter Dunkley <[email protected]>
+Date:   Wed Oct 10 10:49:16 2012 +0100
+
+    modules_k/xcap_server: Fixed small mistake in last xcap_server fix
+
+commit e71435b0276c89ef756fecf1bbd5e339b80e804c
+Author: Andrei Pelinescu-Onciul <[email protected]>
+Date:   Wed Oct 10 10:02:00 2012 +0200
+
+    tcp: fix connection alias replacing
+    
+    When the TCP_ALIAS_REPLACE is set and an alias has to be added to
+    a connection that had 0 aliases (it can happen due to
+    TCP_ALIAS_REPLACE flag), the connection aliases count was wrongly
+    forced to 1.
+    For more details see:
+    http://lists.sip-router.org/pipermail/sr-users/2012-October/074932.html
+    
+    Patch-by Jijo
+
+commit d29cfab1584b8bc2672b4242a2626d9dc90c77a2
+Author: Peter Dunkley <[email protected]>
+Date:   Tue Oct 9 21:07:10 2012 +0100
+
+    modules_k/xcap_server: Fixed segmentation fault
+    
+    - Occurs when attempting to do an etag compare when there is no document/etag
+      in the database.
+
+commit b12c2df6ccb903e2ca22d34bb968f3ebc2712b89
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Tue Oct 9 16:30:24 2012 +0200
+
+    core: reset params pointers if there is a failure in parse_params()
+    
+    - patch by Jijo
+
+commit 038780fdf40c8d5d3694538f199411810fad7a0e
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Tue Oct 9 12:29:09 2012 +0200
+
+    tm: set log level to debug for negative return code of run_top_route()
+    
+    - it returns the code of last execution action, negative return is not
+      necessary an error
+
+commit 753f511f281b0f4406908086547225c5c0bc0d23
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Tue Oct 9 11:39:16 2012 +0200
+
+    rtpproxy: safety check for rtp stats pv
+    
+    - if the rtpproxy is not responding, there is no returned value and
+      could cause crash when doing strlen(NULL)
+    - return $null in case of various errors, being safer to check returned
+      PV value in the script against $null, rather than having undefined
+      value
+    - reported by J. Gallart
+
+commit 146873cf2b101d6363bb20c235b7dcdb8bb54134
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Tue Oct 9 09:13:15 2012 +0200
+
+    msrp: fixed copy&paste issue for getting To-Path size
+    
+    - the parsing of From-Path was used instead
+    - reported by Peter Dunkley
+
+commit 971386c346d72a016d00c8808059bd4f0a050059
+Author: Vicente Hernando <[email protected]>
+Date:   Fri Sep 7 07:01:11 2012 -0400
+
+    core: Fix parser sdp bug. Reset connection IP for each stream.
+    
+    If connection IP is not reset, then when a stream has no IP connection,
+    it uses former stream one instead of session default one.
+
+commit f86ab01f7e3c6a4b196c5fe42543b18168f6d969
+Author: Dragos Dinu <[email protected]>
+Date:   Mon Oct 8 17:42:20 2012 +0300
+
+    modules/sipcapture: Fixed crash in module initialization
+    
+    Leaving the default table_name parameter caused a segmentation fault
+    Reported by Juha Heinanen
+
+commit 1371eeab4ca3d3f666e52bb42d904059ce77c4ac
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Sat Oct 6 09:56:06 2012 +0200
+
+    utils/misc/vim: added Makefile to install vim scripts
+    
+    - 'make install' copies the files to home .vim folder
+    - updated README to reflect the new command
+
+commit 007ca3c30b02e7a57cd229ea4b63573ef81f8c81
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Sat Oct 6 09:52:37 2012 +0200
+
+    pv: two new functions- typeof(...) and not_empty(...)
+    
+    - typeof(pvar, vtype) - test the type of the pseudo-variable
+    - not_empty(pvar) - test if the type is string and the value not empty
+
+commit 780decb3b0f8cf140ffdf522abc61e68388ee6a7
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Sat Oct 6 09:38:57 2012 +0200
+
+    core: added mod fix helper fixup_pvar_none(...)
+    
+    - first parameter is PV and the rest are not fixed up
+
+commit ad67ccfec1a1f99483b544f9c9e354bc43af1afe
+Author: Andrew Mortensen <[email protected]>
+Date:   Fri Oct 5 16:05:47 2012 -0400
+
+    Fix [SIPR-737]: calls not reaching voicemail
+    
+    Non-SCA to non-SCA would cause a function called from sca_call_info_update
+    to return 0, which sca_call_info_update would then return to the script.
+    A return value of 0 from a function called in the script means "stop script
+    processing" in sip-router, so PRACKs were never getting relayed to the
+    caller. Fixed by resetting return code to non-zero before returning.
+
+commit 83e31eaadd549132103899a201cdf100ab669b6e
+Author: Claudio Furrer <[email protected]>
+Date:   Fri Oct 5 03:32:16 2012 -0300
+
+    pkg/gentoo: version bump, added ebuild for v3.3.1
+
+commit 019bcdc56533e7ccd0e1cc7d45b1d2d8ebc868ae
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Fri Oct 5 14:34:13 2012 +0200
+
+    nathelper(k): nicer handling of no sdp in sdp_1918(...)
+    
+    - don't print error message if there is no sdp body
+
+commit 4cea90421731e13c79a663f5119e3f3007588662
+Author: Andrew Mortensen <[email protected]>
+Date:   Thu Oct 4 23:59:10 2012 -0400
+
+    Finish fix for crash on hash entry unlink.
+    
+    Replaced core_hash references with more modern get_hash1_raw.
+
+commit 7b31e989487c3c728fcbf8daf73feb228f807706
+Author: Peter Dunkley <[email protected]>
+Date:   Thu Oct 4 14:38:47 2012 +0100
+
+    pkg/kamailio/fedora/16: Fixed typos in .spec
+
+commit 8de2a607b99b51d4f4030518ebd08613f187e953
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Wed Oct 3 20:25:52 2012 +0200
+
+    auth: new function pv_auth_check(...)
+    
+    - equivalent of auth_check(...) from auth_db, but taking the password
+      from a PV -- combines pv_proxy_authenticate() and
+      pv_www_authenticate()
+    - new module parameter use_domain that controls whether the domain part
+      of URIs should be used or not to make the identity checks upon
+      authentication with pv_auth_check(...)
+
+commit 490df85a12a49f440ac6eb8b35be5f4c954b7b1b
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Wed Oct 3 20:25:15 2012 +0200
+
+    auth_db(k): moved the authorization checks flags to auth api
+
+commit 1a0d7653139c04d2ab32fa68c86513faf82d5c17
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Wed Oct 3 14:58:44 2012 +0200
+
+    auth: new function has_credentials(realm)
+    
+    - returns true if an authorization header matching the realm is found
+
+commit 7982d66c29e40548cb8282a1de6b7fdddece5ddb
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Wed Oct 3 14:26:12 2012 +0200
+
+    kamailio.cfg: show how to include a local file if exists
+    
+    - kamailio-local.cfg is attempted to be loaded if exists in the same
+      folder, allowing to set defines/paramters inside it without changing
+      main kamailio.cfg
 
-	* db/schema/offline_winfo.xml, scripts/mysql/my_create.sql,
-	  scripts/oracle/or_create.sql, scripts/postgres/pg_create.sql:
-	  updated schema for offline winfoo subscriptions - domain size set
-	  to &domain_len;
+commit 727203559c98d648e7da4f0d54d65a05317b14f5
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Wed Oct 3 14:21:11 2012 +0200
 
-2006-02-22 14:34  andrei
+    kamailio.cfg: test if DBURL is already defined before defining it
+    
+    - allow to set it via command line with -A DBURL='...'
+
+commit 0193d296e39a9fc095e90682f5335a2907403474
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Wed Oct 3 14:20:27 2012 +0200
+
+    mem: fixed MDBG() parameters
+    
+    - log level is not necessary for this macro
+
+commit 4b656a8f6ee3056986687ca923436639e2fc1653
+Merge: 7b6234a 43e1a79
+Author: Juha Heinanen <[email protected]>
+Date:   Wed Oct 3 09:29:32 2012 +0300
+
+    Merge branch 'master' of ssh://git.sip-router.org/sip-router
+
+commit 7b6234a3e8d0427c767942327aff57ade676eb5e
+Author: Juha Heinanen <[email protected]>
+Date:   Wed Oct 3 09:27:38 2012 +0300
+
+    mem/f_malloc.c: downgraded print free(0) warning from LOG to MDBG.
+
+commit 43e1a79272b451588d9f9b97fdf1d661e18a45a0
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Tue Oct 2 21:53:22 2012 +0200
+
+    uac(k): documented the new parameter restore_dlg
 
-	* modules/tls/tls_domain.c: - by default don't require a
-	  certificate
+commit 0d299fea8a642887305797203536e1340cdf74f9
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Tue Oct 2 21:50:59 2012 +0200
 
-2006-02-22 14:10  andrei
+    uac(k): new paramter restore_dlg
+    
+    - if set to 1, then the module uses dialog variables to store the
+      initial and new values for From/To headers
+    - default set to 0 - otherwise all calls that have changes to From/To
+      headers must be tracked by dialog
+    - result of checking a report from Alex Balashov
+
+commit 41fa8653157a989ed1a77f72b25a20fd984b999d
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Tue Oct 2 21:24:09 2012 +0200
+
+    mem: enhanced the warning message for free(0) of QM in debug mode
 
-	* modules/tls/tls_domain.c: - by default don't verify any certs
-	  (server or client)
+commit 765b6e06fee81901e458bd5e9a4be26df79fb95b
+Author: Andrew Mortensen <[email protected]>
+Date:   Tue Oct 2 11:31:25 2012 -0400
 
-2006-02-22 14:00  andrei
+    Only send NOTIFYs to caller group on receipt of first 18x response.
+    
+    Forked calls could mean multiple 18x responses from any of the callee
+    endpoints. The module was sending a NOTIFY to all members of the caller
+    group every time a 18x response arrived.
+
+commit 28300568875f9d8d89bd03166518595e03b4bf12
+Author: Andrew Mortensen <[email protected]>
+Date:   Tue Oct 2 11:07:52 2012 -0400
+
+    Move method check to top of sca_call_info_update routine.
+    
+    Reduce processing for methods we don't handle.
+
+commit 666ccbf2deb43dc9fff3fe759de460a24f56acae
+Author: Andrew Mortensen <[email protected]>
+Date:   Tue Oct 2 11:06:59 2012 -0400
 
-	* modules/tls/: tls_domain.c, tls_mod.c, tls_server.c:
+    Removing some debug logging.
 
-	  - applied Klaus Darilion patches (closes SER-98):	- updated
-	  tls-core.patch     - allow configuration of the default
-	  TLS-client-domain	- more TLS logging during TLS initalisation
-	  and when TLS verification fails     - use TLSv1 as default method
-	      - debian build: libradius-ng-dev as another alternative to
-	  the various	     libradius*
+commit 79b2fad8e89460cf08c8b7ed1a4736425bcdb9ac
+Author: Andrew Mortensen <[email protected]>
+Date:   Tue Oct 2 10:56:12 2012 -0400
 
-2006-02-22 13:45  andrei
+    Include callee in appearance output.
+
+commit 575e3dde9706b657e375814507ffc9b3fa4e6886
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Tue Oct 2 16:05:38 2012 +0200
+
+    sdpops: added new function sdp_remove_line_by_prefix(string)
+    
+    - removes lines from SDP body that matches the prefix
+    - patch by Mikko Lehto
 
-	* tcp_main.c:
-	   - tcp_send fix: return <0 on send error.
-	   This is a modified version of Klaus Darilion patch/openser port
-	   (extra tcpconn_put on release error)
+commit c1d1b82d326ebda28f2b3e57b4066aa1c90e1286
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Tue Oct 2 16:02:05 2012 +0200
 
-2006-02-21 22:02  andrei
+    parser/sdp: exported extract_field(...)
+    
+    - part of patch for sdpops by Mikko Lehto
 
-	* core_cmd.c:
-	  - system_methodHelp sends now an error reply if the command was
-	  not found (previously it wouldn't send any reply at all)
+commit 745e30c92336bfc3f8682b2c23e02862db688d9e
+Author: Andrei Pelinescu-Onciul <[email protected]>
+Date:   Mon Oct 1 11:55:16 2012 +0200
 
-2006-02-21 12:37  kubartv
+    tcp: fix _wbufq_insert bug
+    
+    When _wbufq_insert was called on a connection that had already
+    some data added to the write buffer (another process was faster
+    and added some data before the process that created the connection
+    had a chance to do it), a wrong size was used in a memmove.
+    This could lead either to corrupted messages or even crashes (if
+     the messages were big enough to cause a buffer overflow).
+    
+    Many thanks to Jijo for debugging it.
+    
+    Reported-by: Jijo
 
-	* modules/pa/: paerrno.h, reply.c, subscribe.c: corrected renewal
-	  SUBSCRIBE handling
+commit ec07471c1fdddbc8490d57d089a283ab1a07288f
+Merge: b60d3f7 aea31fc
+Author: Peter Dunkley <[email protected]>
+Date:   Fri Sep 28 23:08:46 2012 +0100
 
-2006-02-21 00:31  andrei
+    Merge branch 'master' into outbound
 
-	* modules/tls/tls_server.c: - log message fix for tls_connect
-	  (s/dst/src)
+commit aea31fcdebe13004dbcea3afeabe4a045fefcc9c
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Fri Sep 28 23:40:01 2012 +0200
 
-2006-02-21 00:30  andrei
+    ldap(k): updates for usage of pv cache for pv_elem_t
 
-	* timer.c:
-	  -  "adjusting timer ticks" is printed less often
+commit 111bb96a0f18a3a1366e60deed54a4bd54ba865b
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Fri Sep 28 23:31:50 2012 +0200
 
-2006-02-20 19:59  mma
+    carrierroute: updates for usage of pv cache in pv_elem_t
 
-	* select.c, select.h: Void data ptr introduced as select parameter
-	  type, to be used e.g. by fixup call
+commit b60d3f76cb4d13a28cc38efabe1cebbf00d18d23
+Merge: 962fbef f71d76c
+Author: Peter Dunkley <[email protected]>
+Date:   Fri Sep 28 21:50:16 2012 +0100
 
-2006-02-20 17:19  janakj
+    Merge branch 'master' into outbound
+    
+    Conflicts:
+    	pkg/kamailio/fedora/16/kamailio.spec
 
-	* modules/rr/rr_mod.c: - added rr_store alias
+commit f71d76c0f39f2c6b0e070e1246f371f17b45b2dd
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Fri Sep 28 14:38:42 2012 +0200
 
-2006-02-20 17:19  janakj
+    app_mono: fixed c&p typo names in examples
 
-	* modules/registrar/: lookup.c, reg_mod.c, reg_mod.h, save.c: -
-	  nat_flag split into save_nat_flag and load_nat_flag, this way
-	  we can use different nat flags for UAC and UAS which makes it
-	  possible to implement better nat detection algorithm
+commit 505f157c2777fa5e62815ccb4ef68ceb0ab7a023
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Fri Sep 28 11:02:04 2012 +0200
 
-2006-02-20 17:17  janakj
+    usrloc(k): table version increased internally
+    
+    - it was done only in db schema by commit
+      78dae896127ce6762e3fa7c2541e1b5f9b8a9023
+    - reported by siklub
 
-	* modules/nathelper/nathelper.c: - nathelper/usrloc do not use avp
-	  to communicate received str
+commit 83cdd718fab4e244c5362df5102481ce32f75ae1
+Author: Juha Heinanen <[email protected]>
+Date:   Thu Sep 27 19:16:47 2012 +0300
+
+    modules_k/pua: always use_table before making db queries
+
+commit a24ce948f9f1758440b58d328eb8654efabfbbea
+Author: Peter Dunkley <[email protected]>
+Date:   Thu Sep 27 16:29:03 2012 +0100
+
+    modules/websocket: Updated documentation and fixed typo in configuration file example
+
+commit 927a8a1aa705438d210fc244066a8c5a5b84a746
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Thu Sep 27 14:57:51 2012 +0200
+
+    core/mem: moved safety check for null before range check in *free()
+    
+    - affects only when memory debug is enabled at compilation
+    - apparently libssl has some free(0) which makes it not possible to work
+      with memory debugging (reported on irc channel)
+
+commit cbeb136c60d4890599d39665a2d27d865ae29b76
+Author: Elena-Ramona Modroiu <[email protected]>
+Date:   Wed Sep 26 12:11:36 2012 +0200
+
+    userblacklist: updates for new pv_elem_t structure
+    
+    - safety checks to detect dynamic vs static string parameters
+
+commit 0420d14dc23ae63a043650da0fa82654aab82bb6
+Author: Elena-Ramona Modroiu <[email protected]>
+Date:   Wed Sep 26 12:10:23 2012 +0200
+
+    auth_db(k): load_credentials is using the cache for pvs
+    
+    - results in less used private memory
+
+commit 2895dbdc0ba7c86b855fdffce178e3ca072a631a
+Author: Elena-Ramona Modroiu <[email protected]>
+Date:   Wed Sep 26 12:09:10 2012 +0200
+
+    core/fixups: updates to reflect usage of pv cache for pv_elem_t
+
+commit bd5353dff6e955830b816fe2f3d2bfedd02bf83b
+Author: Elena-Ramona Modroiu <[email protected]>
+Date:   Wed Sep 26 12:07:19 2012 +0200
 
-2006-02-17 23:32  mma
+    core/pv: use pv cache for pv_elem_t
+    
+    - reduces use of private memory for repetitive PVs
 
-	* select.c, select_core.c, modules/xlog/xl_lib.c: - avoid compiler
-	  warning - don't free str in fixup call to select_anyheader - xlog
-	  knows how to parse and call select, just use %@select[1]
+commit c79dffa959b325da2c579b2dce94511beac83f00
+Author: Elena-Ramona Modroiu <[email protected]>
+Date:   Wed Sep 26 10:20:11 2012 +0200
 
-2006-02-17 19:16  andrei
+    xlog: use the function from core to get term color codes
 
-	* modules/fifo/fifo.c:
-	  - fifo fork fix
+commit b6642a1af48b3d00ca55d5d7712c842efd2f384a
+Author: Elena-Ramona Modroiu <[email protected]>
+Date:   Wed Sep 26 10:19:51 2012 +0200
 
-2006-02-17 18:03  andrei
+    core: exported dprint_term_color() function
 
-	* core_cmd.c:
-	  - core_uptime returns the uptime as an int (previosuly it used a
-	  float)   If someone is really concerned that his ser uptime will
-	  wrap arround after   136 years I might be persuaded to change it
-	  back :-)
+commit 5b1f81c72b40a0f7609aac32a8ce6e7325a70396
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Wed Sep 26 09:17:00 2012 +0200
 
-2006-02-17 17:20  kubartv
+    pv: new transformation {s.stripto,c}
+    
+    - remove the prefix until meeting 'c'
+    - "abcdef"{s.stripto,d} => "def"
+    - the char can be given in a pv
 
-	* modules/presence_b2b/: euac_funcs.c, euac_state_machine.c,
-	  qsa_events.c: corrected memory leak
+commit eebb2eb640992298c8119f4b5ac54e2370bff3a3
+Author: Andrew Mortensen <[email protected]>
+Date:   Tue Sep 25 22:11:14 2012 -0400
 
-2006-02-17 13:50  mma
+    Remove unused struct _appearance_list members max_index and next_index.
 
-	* select.c, select.h, select_core.c, select_core.h: Select
-	  framework extended to "fixup call" if demanded using flag
-	  FIXUP_CALL.
+commit 20c436df0c81b38777052b4ba6fb425577f5c707
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Wed Sep 26 00:18:49 2012 +0200
 
-	  When this flag is included in the flags column, then during the
-	  select resolution, the "fixup" call to the resolved function is
-	  done.
+    registrar(k): some contact attributes were not in $ulc(...)
+    
+    - ruid, reg-id and instance were not returned by $ulc(...)
 
-	  During this call the res & msg parameters set to NULL.  The
-	  function can change the parsed select structure, e.g. param.type
-	  from SEL_PARAM_STR into SEL_PARAM_DIV, etc.
+commit ed5859fcd482d803cb2896cf58e3ef19ad8c2a2d
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Tue Sep 25 23:43:48 2012 +0200
 
-	  Currently used for select_anyheader: - changes _ into - to
-	  support headers including dashes (use e.g. @msg.max_forwards) -
-	  calls parse_hname2 to speed-up headers lookup for known headers
+    pv: new pv class - $K(key)
+    
+    - return the value for internal constant keywords
+    - key can be:
+    	- IPv4 - returns AF_INET
+    	- IPv6 - returns AF_INET6
+    	- UDP - return PROTO_UDP
+    	- TCP - return PROTO_TCP
+    	- TLS - return PROTO_TLS
+    	- SCTP - return PROTO_SCTP
+    - it can be used to compare the values from other pvs, such as $af(id),
+      $snd(af), $snd(proto), ...
 
-2006-02-17 11:22  kubartv
+commit a2de5aba014c34fa0d37c1d527ff241e3969e897
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Tue Sep 25 23:13:50 2012 +0200
 
-	* modules/pa/: ChangeLog, auth.c, pa_mod.c, pa_mod.h,
-	  qsa_interface.c, qsa_interface.h, rpc.c, subscribe.c,
-	  winfo_doc.c, doc/params.xml:	- added parameters
-	  max_subscription_expiration, accept_internal_subscriptions
-	   - XCAP URIs for authorization documents use UID instead of
-	  username
-	   - RPC function pa.publish uses UID instead of URI
+    pv: new pv class - $af(key)
+    
+    - return address family for received message
+    - key can be:
+    	- id: return integer representation for IPv4 or IPv6 (value of AF_INET and AF_INET6)
+    	- name: return "IPv4" or "IPv6"
 
-2006-02-17 11:19  kubartv
+commit daf65bac9d276598d932c7f905c30587ccb5a855
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Tue Sep 25 22:20:21 2012 +0200
 
-	* modules/rls/: ChangeLog, rl_subscription.c, rl_subscription.h,
-	  rls_handler.c, rls_mod.c, rpc.c, rpc.h, subscription_manager.c,
-	  virtual_subscription.c, doc/rls.xml:	- cosmetical changes
-	   - UID instead of username in XCAP queries for "simple" operation
-	  mode
-	   - added changelog
+    nathelper(k): removed set_rtp_proxy_set() from docs
+    
+    - the function is now part of the rtpproxy module
 
-2006-02-17 11:16  kubartv
+commit 7943249ea75d8103d1364bcb4b6a63a2e685e88a
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Tue Sep 25 13:52:05 2012 +0200
 
-	* doc/presence/presence_book.xml: presence_b2b documentation added
-	  to "presence handbook"
+    utils/misc: few updates to vim syntax highlighting
 
-2006-02-17 11:14  kubartv
+commit 779addb9df44434448f78ab17d2daa756d31d3c0
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Tue Sep 25 11:31:17 2012 +0200
 
-	* lib/: cds/hash_table.c, cds/hash_table.h, cds/sstr.c, cds/sstr.h,
-	  presence/pidf.c, presence/pres_doc.h, presence/qsa.h: little
-	  changes (needed by presence_b2b module)
+    sanity: fix to parameter type in example
 
-2006-02-17 11:10  kubartv
+commit 7ed66b101602e2317c7cc95bf8fb8c039c227b8f
+Author: Andrew Mortensen <[email protected]>
+Date:   Mon Sep 24 16:39:17 2012 -0400
 
-	* modules/dialog/: dlg_mod.c, dlg_mod.h, dlg_mod_internal.h,
-	  dlg_request.c, dlg_request.h, dlg_utils.c, dlg_utils.h: added
-	  first step for some dialog manipulating functions (not working
-	  now) added changes needed by presence_b2b and RLS modules
+    Remove debugging, basic appearance-uri escapes are working.
+    
+    Does not currently attempt to escape user or host in URI itself.
 
-2006-02-17 11:04  kubartv
+commit e72a438d015e1f1afe1e3da83e3e6483c84373f0
+Author: Andrew Mortensen <[email protected]>
+Date:   Sun Sep 23 22:15:48 2012 -0400
 
-	* Makefile, modules/presence_b2b/ChangeLog,
-	  modules/presence_b2b/Makefile, modules/presence_b2b/euac_funcs.c,
-	  modules/presence_b2b/euac_funcs.h,
-	  modules/presence_b2b/euac_internals.c,
-	  modules/presence_b2b/euac_internals.h,
-	  modules/presence_b2b/euac_state_machine.c,
-	  modules/presence_b2b/euac_state_machine.h,
-	  modules/presence_b2b/events_mod.c,
-	  modules/presence_b2b/events_mod.h,
-	  modules/presence_b2b/events_uac.c,
-	  modules/presence_b2b/events_uac.h,
-	  modules/presence_b2b/qsa_events.c,
-	  modules/presence_b2b/qsa_events.h, modules/presence_b2b/rpc.c,
-	  modules/presence_b2b/rpc.h, modules/presence_b2b/doc/Makefile,
-	  modules/presence_b2b/doc/functions.xml,
-	  modules/presence_b2b/doc/params.xml,
-	  modules/presence_b2b/doc/presence_b2b.xml: Added presence B2BUA.
-	  It may be used for doing SIP subscriptions for RLS module.
+    Fix doubly linked list corruption.
+    
+    Forgot to assign next node's prev element on unlink.
 
-2006-02-17 00:53  tma0
+commit 03dbe404cea02b7a6e252eedbaa34dad7a0a8aff
+Author: Andrew Mortensen <[email protected]>
+Date:   Sat Sep 22 21:58:23 2012 -0400
 
-	* modules/rr/avp_cookie.c: - trimmed trailing equal chars in avp
-	  cookie
+    Initialize subscription-from-request's appearance index to 0.
 
-2006-02-17 00:40  andrei
+commit 31e886ed712d4bc2c3b3e59953eae02b30a00fa8
+Author: Andrew Mortensen <[email protected]>
+Date:   Fri Sep 21 16:31:30 2012 -0400
+
+    When unlinking a hash table entry, ensure the entry's next pointer is NULL.
+    
+    Possible cause of subscription corruption crashes.
+
+commit c4b4ec30ce06b2517643ff8fca5d69b7e3ad6d7f
+Author: Juha Heinanen <[email protected]>
+Date:   Fri Sep 21 12:55:36 2012 +0300
+
+    modules_k/nathelper: add_contact_alias() now accepts parameters
+    
+    - Function add_contact_alias() can now be given ip addr, port, and proto
+      as parameters.
+
+commit e8501b8eb592fa799af1fd1cfba8fa628cbfa800
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Fri Sep 21 09:44:21 2012 +0200
+
+    topoh: use L_DBG instead of L_ERR for some debugging messages
+    
+    - reported by Miguel Baptista
+
+commit 900dee77178bf5f2c9dd9f2e67d4a467c5d4be1f
+Author: Andrew Mortensen <[email protected]>
+Date:   Thu Sep 20 22:52:14 2012 -0400
+
+    Fix [SIPR-716]: place both endpoints on hold, unable to pick up.
+    
+    Code was always setting call state to active on 200 reply to INVITE if
+    callee was SCA. Patch sets state to active on 200 only when seizing a line.
+
+commit c60d8bb016314a5a6855a6e37dc52f85804addc0
+Author: Andrew Mortensen <[email protected]>
+Date:   Thu Sep 20 22:22:11 2012 -0400
+
+    NOTIFY cseq wasn't getting set from saved subscription.
+    
+    Use less error-prone syntax for getting desired hash slot.
+
+commit f403aa7a974e47b92dbfc63ba18ab5eedd2879eb
+Author: Andrew Mortensen <[email protected]>
+Date:   Thu Sep 20 22:11:42 2012 -0400
 
-	* core_cmd.c:
-	  - system.methodHelp works now also for core methods (btw: why
-	  this ugly mixed case names?)
+    Use copy of appearance owner URI when NOTIFYing on receipt of 18x.
+    
+    Don't FFS use a shm struct after unlocking.
+
+commit d19f648201eeb9fc186bcd5e2459987b7da08163
+Author: Andrew Mortensen <[email protected]>
+Date:   Thu Sep 20 17:17:47 2012 -0400
+
+    No need for lock in sca_hash_entry struct. Locking happens at slot level.
 
-	  - core.prints fixed: should check if rpc_scan finished
-	  succesfully, before trying to rpc_add
+commit c49fa3c36f8ba139516101955b33c389b2790977
+Author: Andrew Mortensen <[email protected]>
+Date:   Thu Sep 20 16:47:33 2012 -0400
 
-2006-02-16 16:57  tma0
+    Possible fix for [SIPR-712]: inadequate locking in sca_handle_subscribe.
 
-	* modules/rr/: avp_cookie.c, avp_cookie.h, loose.c, rr_mod.c,
-	  doc/functions.xml, doc/params.xml: - cookie_secret param added -
-	  fixed error in state machine for evaluating (avp=) - fixup
-	  rr_add_avp_cookie fixup bugfix
+commit 4369f7752984ca3f2511ef2f7f223076bc3dc0c8
+Author: Andrew Mortensen <[email protected]>
+Date:   Thu Sep 20 16:46:09 2012 -0400
 
-2006-02-16 16:51  tma0
+    Add sca_hash_table_index_kv_find_unsafe.
 
-	* crc.c, crc.h: - added crcitt_string_ex to enable computing for
-	  multiple strings
+commit a22482e4dd26db613eb646fb57c210bd5ef67a5d
+Author: Andrew Mortensen <[email protected]>
+Date:   Thu Sep 20 16:44:14 2012 -0400
 
-2006-02-16 15:49  janakj
+    Add stub functions for PRACK and REFER with Call-Info.
+    
+    Must ensure Call-Info headers are stripped before they're sent to the
+    callee, as it can confuse the Polycoms about the state.
 
-	* db/db.c: - display proper error message when a database driver is
-	  not found
+commit f34fe7395a8191437e359572823c6628cb6f07d3
+Author: Andrew Mortensen <[email protected]>
+Date:   Thu Sep 20 13:56:35 2012 -0400
+
+    Ensure that the c_uri.user is empty if there's no contact header.
+    
+    Possible fix for SIPR-715.
+
+commit c9ea26924267ea260a2b10506db8de899d26b78e
+Author: Richard Fuchs <[email protected]>
+Date:   Thu Sep 20 12:08:03 2012 -0400
+
+    modules/ctl: remove limitation on number of message chunks
+    
+    binrpc uses an iovec to send out replies, which is limited in size and so
+    severely limits the number of elements that can be returned. This patch adds
+    a callback function to send out and empty the iovec array every time it gets
+    full while it's being populated.
+
+commit 8a05e548456e3c6703bf37342a081269432de6d5
+Author: Andrew Mortensen <[email protected]>
+Date:   Thu Sep 20 01:24:13 2012 -0400
+
+    Removing unnecessary sca_update routines.
+    
+    Using P-Asserted-Identity accomplishes what the UPDATE packets failed
+    to do, which is to update the caller's display with the correct remote
+    party info.
+
+commit a8c5b2080c1c3221d232dcbf4aed009e87fdfda8
+Author: Andrew Mortensen <[email protected]>
+Date:   Thu Sep 20 01:23:06 2012 -0400
+
+    Committing for future reference before removing from project.
+    
+    Able to accomplish what was needed with P-Asserted-Identity header instead.
+
+commit 472854e9908c6ff2cf4a39d064004e2683ef2bb8
+Author: Andrew Mortensen <[email protected]>
+Date:   Thu Sep 20 01:16:31 2012 -0400
+
+    Fix [SIP-710]: SCA-to-SCA caller shows own DID instead of remote party's.
+    
+    Inject P-Asserted-Identity header with correct information in 200 OK
+    response to SCA pickup of held call.
+    
+    Also fix regression removing NOTIFYs to caller on 18x replies, and
+    update calls to update appearances to include display info.
+
+commit 03c9725b6d5b7c6f14405c69e8cf9755659ad131
+Author: Andrew Mortensen <[email protected]>
+Date:   Thu Sep 20 01:14:35 2012 -0400
+
+    Add sca_uri_display_escapes_count.
+
+commit ec35eb22e8d1c98c73fd35499c7afb4b914de733
+Author: Andrew Mortensen <[email protected]>
+Date:   Thu Sep 20 01:12:39 2012 -0400
+
+    Include escaped callee display info in appearance-uri attribute.
+    
+    Currently using escape_common function from strcommon.h, found in
+    sip-router's libkcore.
+
+commit 35baaf51504a2ba496a06830fe1b7da9a1d5b3a0
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Wed Sep 19 21:44:01 2012 +0200
+
+    Makefile: added new target 'printvar'
+    
+    - prints the value of a Makefile variable whose name is provided in
+      variable 'v', e.g.,::
+    	make printvar v=exclude_modules
+
+commit 46cf25d2e18d14640624c35cf11d5dd7a6b1224d
+Author: Andrew Mortensen <[email protected]>
+Date:   Tue Sep 18 16:18:04 2012 -0400
+
+    Pass To/From headers' display info and URI when updating appearance.
+    
+    Preparation for including display info with appearance-uri attribute.
+
+commit c2eab9b90b9d34b147d8f7c420ab10e35ccb5245
+Merge: 942229d 8456325
+Author: Carsten Bock <[email protected]>
+Date:   Tue Sep 18 20:43:29 2012 +0200
+
+    Merge branch 'master' of ssh://git.sip-router.org/sip-router
+
+commit 942229d809e715ae330894b20d099f38b616c044
+Author: Carsten Bock <[email protected]>
+Date:   Tue Sep 18 20:42:55 2012 +0200
+
+    Minor bug-fix: Need to update length.
+
+commit 84563257d6c174c7ef3c7ee9b931e64a0b5a95c2
+Author: Peter Dunkley <[email protected]>
+Date:   Tue Sep 18 19:29:36 2012 +0100
+
+    modules/websocket: Updated example kamailio.cfg
+    
+    - Now using corex and alias_subdomains.
+    
+      It is quite likely that a WebSocket server will be running on a host within
+      the domain it is authoritative for and that the WebSocket client will
+      address that host directly.  This means that the alias_subdomains modparam
+      is a good way to get a domain and all of its sub-domains to match "myself".
+    
+      This is very useful for checking the Host: header in the WebSocket
+      handshake.
+    
+    - Added handling of OPTIONS pings.
+    
+    - Fixed a problem with the Host: header check.
+    
+      When you connect to a WS or WSS socket in Google Chrome on the default ports
+      (80 and 443 respectively) the Host: header will contain just a hostname
+      (for example, "proxy.example.com") which works with is_myself().
+    
+      When you connect to a WS or WSS socket in Google Chrome on a non-default port
+      (for example, 8080 or 8443 respectively) the Host: header will contain a
+      hostname and port (for example, "proxy.example.com:8080") whoch does not work
+      with is_myself().
+    
+      However, both "sip:proxy.example.com" and "sip:proxy.example.com:8080" will
+      work, so simply adding "sip:" to the start of the contents of the Host:
+      header before checking fixes the problem.
+    
+    - Tidied up response reason texts.
+    
+    - Tidied up some of the TLS specific checks in event_route[xhttp:request].
+    
+    - Removed some DBG level log messages.
+    
+    - Added a (commented out) example for checking the Origin: header in the
+      WebSocket handshake.
+
+commit 566ac92dc07d9928808a319d774a0e3cdb49d021
+Author: Andrew Mortensen <[email protected]>
+Date:   Tue Sep 18 09:58:54 2012 -0400
+
+    Remove update_flag for now.
+    
+    Using UPDATE to correct URIs on both ends of the call caused the Polycom
+    handsets to report loops. This in spite of them returning 200 OK to the
+    UPDATEs and logging that the URIs were being updated successfully.
+
+commit aa15ad5a0ee35f6676012a84c1e2501b1533ba6c
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Tue Sep 18 14:50:33 2012 +0200
+
+    corex: fixed typos in documentation example
+
+commit ca2454106d869dacccda6bd5564037a83edd89bc
+Author: Peter Dunkley <[email protected]>
+Date:   Tue Sep 18 11:53:02 2012 +0100
+
+    pkg/kamailio/(centos|fedora): Fixed some issues with boxgrinder builds
+    
+    - Fixed typo in README
+    - New version of BoxGrinder limits appliance name to 35 characters
+      (so had to shorten these)
+
+commit 9430ee8d313ece9c97384868ee7623c0979028f5
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Tue Sep 18 09:27:38 2012 +0200
+
+    pkg/kamailio/rpm: fixed copy&paste error for PKG_MEMORY size
+
+commit 9430290ad91ca775bb18f54e70308917ce1e790a
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Tue Sep 18 09:18:52 2012 +0200
+
+    pkg/kamailio/rpm: added option to set pkg memory size for init.d script
+    
+    - split of MEMORY parameter to SHM_MEMORY and PKG_MEMORY
+    - EXTRA_OPTIONS variable to add other command line parameters
+
+commit 0b09c36e4251ee292a48d2fd83bca2fd0ff4c268
+Author: Andrew Mortensen <[email protected]>
+Date:   Tue Sep 18 00:32:48 2012 -0400
+
+    Reconcile mismatched Contact and To/From URIs early.
+    
+    Fixes dropped state for caller URI (and stuck state for callee if callee
+    is SCA) on second pickup on different handset after hold. Depending on
+    the values in the To/From headers won't work, since the SCA reINVITE to
+    seize a held call uses the SCA group's AoR in RURI, To and From, leading
+    to problems in SCA-to-SCA calls.
+    
+    This does not yet resolve the display URI problem.
+
+commit 75143735af38a921f8d8f1bcafdba14de4a3e39a
+Author: Andrew Mortensen <[email protected]>
+Date:   Tue Sep 18 00:26:50 2012 -0400
+
+    Add sca_aor_create_from_info.
+
+commit b19767513663acd96776cc454fe42ea11c50431f
+Merge: 2750e03 cccdaea
+Author: Carsten Bock <[email protected]>
+Date:   Mon Sep 17 17:29:48 2012 +0200
+
+    Merge branch 'master' of ssh://git.sip-router.org/sip-router
+
+commit 2750e03d4977d4a8f59ca0d2d0f59e1caec96b2d
+Author: Carsten Bock <[email protected]>
+Date:   Mon Sep 17 17:25:38 2012 +0200
+
+    New Option: "x" for automatic bridging between IPv4 and IPv6.
+    Based on the following assumption: "i" is the IPv4 interface
+    and "e" is the IPv6 interface on the RTPProxy (tested with both
+    RTPProxy and Sipwise's ngcp-mediaproxy-ng).
+    
+    Mechanism is as follows:
+    - IP in SDP is IPv4: Do bridging "ie"
+    - IP in SDP is IPv6: Do bridging "ei"
+    
+    Not a big deal, but makes the configuration much more easier.
+
+commit cccdaead04411175c46dd660c91c037c45f80c33
+Author: Marius Zbihlei <[email protected]>
+Date:   Mon Sep 17 17:34:57 2012 +0300
+
+    core:parser fix possible bug in msg_parser
+    
+    If buffer was NULL, tmp was returned uninitialized, thus possible to cause problems
+
+commit a6c250c091e29c1f4fd53782dfb723fa194fe03e
+Author: Marius Zbihlei <[email protected]>
+Date:   Mon Sep 17 17:21:37 2012 +0300
+
+    core: fixed some bening (-Wunused-var) warnings displayed by clang
+    
+    Core builds with no errors/warning
+
+commit 5273948a6eeb6f6fe878696dce54880cabb0ef7c
+Author: Marius Zbihlei <[email protected]>
+Date:   Mon Sep 17 17:21:02 2012 +0300
+
+    Makefiles.defs: clang compiles to O9
+
+commit 2d6a8e0ae7eb9bbf839227ae370ede7bf7d89ab1
+Author: Carsten Bock <[email protected]>
+Date:   Mon Sep 17 14:36:00 2012 +0200
+
+    Revert "Do not perform a lookup for IPv4 addresses, if only listening on IPv6 sockets."
+    Can be done by configuration.
+    
+    This reverts commit e1b3961b16b76b02ae7ad5f52b2e9db126f81ff9.
 
-2006-02-16 15:30  janakj
+commit 97e03b52f1e15d7f22416274cf696fb5c6a94758
+Merge: e1b3961 d9b009e
+Author: Carsten Bock <[email protected]>
+Date:   Mon Sep 17 14:35:12 2012 +0200
+
+    Merge branch 'master' of ssh://git.sip-router.org/sip-router
+
+commit d9b009ef3c430f6ea064b4a72d5b94ce842ede1d
+Author: Jason Penton <[email protected]>
+Date:   Mon Sep 17 10:55:48 2012 +0200
+
+    benchmark: fixed bug/typo in calculating time diff ;)
+
+commit 9d5ef9925da0257a46afa7e8d8dfa1ce8920364a
+Author: Marius Zbihlei <[email protected]>
+Date:   Mon Sep 17 11:42:01 2012 +0300
+
+    cfg.y : improved printing of error messages to stderr
+    
+    The -E was ignored during the yyparse() stage, if log_stderr=no parameter in the cfg was set (default config)
+    This caused problems debugging certain lodmodule errors.
+
+commit 2e5145ecdd8368c947ea93b98449ebd997824ce2
+Author: Marius Zbihlei <[email protected]>
+Date:   Mon Sep 17 10:17:41 2012 +0300
+
+    Provide inline linkage for non-gcc compilers(like clang)
+    
+    Inline method in headers should be declared extern.
+
+commit 92d6ed40ca4aeb36d5d07a9048145779febba062
+Author: Peter Dunkley <[email protected]>
+Date:   Mon Sep 17 00:03:58 2012 +0100
+
+    pkg/kamailio/fedora/16: Updated .spec for Fedora and CentOS builds
+
+commit bde7e9465db9e7c9ecb485c57edabbd032f3b770
+Author: Peter Dunkley <[email protected]>
+Date:   Sun Sep 16 23:47:20 2012 +0100
+
+    modules_k/rls: Fixed segmentation fault in RLS when a resource-list is updated
+    
+    - Found and fixed by Hugh Waite @ Crocodile RCS
+
+commit 67df57c984e040a948d01d2c6bf1a9461d271f8e
+Author: Peter Dunkley <[email protected]>
+Date:   Sun Sep 16 23:46:07 2012 +0100
+
+    modules_k/rls: Fixed race-condition on multi-server systems that can cause different NOTIFYs with the same CSeq
+    
+    - Found by Hugh Waite @ Crocodile RCS and fixed by Peter Dunkley @ Crocodile RCS
+
+commit 424d2cabbe2e20c7ed134f6c9bd463811f2de63f
+Author: Juha Heinanen <[email protected]>
+Date:   Sun Sep 16 17:20:38 2012 +0300
+
+    modules_k/usrloc: modified syslog messages on bad and non-local sockets
+    - Changed syslog message on non-local socket from warning to debug,
+      because non-local socket is ok when nathelper obtains the contacts and
+      overrides the socket.
+    - Corrected syslog messages on bad and non-local sockets.
+
+commit 279fe72dbe9009aa9e73d7609460d4dc613bfa6d
+Author: Juha Heinanen <[email protected]>
+Date:   Sun Sep 16 17:14:18 2012 +0300
+
+    lib/srdb1/schema: added expires_idx on location table
 
-	* modules/uri_db/uridb_mod.c: - skip disabled database records
+commit a46c8859c4f9451764a92cd329f4225a5b43a986
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Fri Sep 14 13:45:14 2012 +0200
 
-2006-02-16 15:29  janakj
+    Makefile.defs: version set to 3.4.0-dev4
 
-	* modules/postgres/db_mod.c: - remove test function
+commit 5b3d0d2837823a4879e493f04d4e995c3e29d37b
+Author: Marius Zbihlei <[email protected]>
+Date:   Fri Sep 14 13:53:00 2012 +0300
 
-2006-02-16 15:27  janakj
+    lib/kcore: other inline linker fixes
+    
+    use of 'static inline' where appliable
 
-	* modules/cpl-c/cpl_sig.c: - aligned to the recent changes in
-	  routing structures
+commit 452c543de61d413351a5ac0816adc137d150824b
+Author: Marius Zbihlei <[email protected]>
+Date:   Fri Sep 14 13:17:24 2012 +0300
 
-2006-02-16 15:27  janakj
+    core: Added support for the clang compiler
+    
+    Support for clang, a C compiler from the LLVM suite has been added.
+    Install clang and run 'make cfg CC=clang && make' for building. GCC Inline assembly is supported.
+    TODO: clean warning caused by clang (-Wunused-variable, etc)
 
-	* modules/avp_db/avp_db.c: - load_attrs now supports t.uid and
-	  f.uid as parameter value   (was to.uid and from.uid)
+commit d5a8649a2059466a1a8b9e2adbef139d0300a599
+Author: Marius Zbihlei <[email protected]>
+Date:   Fri Sep 14 13:15:47 2012 +0300
 
-2006-02-16 15:26  janakj
+    core: Fixed inline function declaration for non-gcc linkers
+    
+    usage of either 'extern inline' or 'static inline' depending on function scope is recommended
 
-	* modules/auth_radius/authrad_mod.c: - radius_www_authenticate and
-	  radius_proxy_authenticate aliases
+commit e1b2e0bdb0b2bbd41fbe4e2a1cedb0fb4a682a5f
+Author: Andrew Mortensen <[email protected]>
+Date:   Wed Sep 12 13:08:56 2012 -0400
 
-2006-02-16 15:25  janakj
+    Initial attempt to use a flag & exported function to send UPDATEs.
+    
+    Additional fixes:
+        * only attempt to unlink appearances on CANCEL if AoRs are SCA.
+        * remove TMCB_DESTROY callback stuff.
 
-	* modules/auth_db/: authdb_mod.c, authorize.c: - fixed bug in
-	  parameter of 1-param variants www_authenticate   and
-	  proxy_authenticate - skip disabled credentials in the database
+commit 571212688fbe0dd56c4e18d0ae611f8c4b5df59c
+Author: Andrew Mortensen <[email protected]>
+Date:   Wed Sep 12 01:29:38 2012 -0400
+
+    Remove misleading comment.
 
-2006-02-16 15:24  janakj
+commit 798b1324e42071d04f5d71cbef6ef97ca576d6f3
+Author: Andrew Mortensen <[email protected]>
+Date:   Wed Sep 12 01:06:51 2012 -0400
 
-	* modules/acc_syslog/acc_syslog.c: - fixed typo in modparam fixup -
-	  added acc_syslog_log (can be used to generate acc entry from
-	  script   without having transaction context) - added
-	  acc_syslog_missed (can be used to generate acc entry from scrit
-	  without having transaction context, useful when lookup_contacts
-	  yields no contacts (temporarily unavailable)
+    Register TMCB_E2EACK_IN on INVITE if either caller or callee are SCA.
+    
+    Fixes NOTIFYs on call answer if caller is non-SCA and callee is SCA.
+    Appearance state of SCA callee was getting updated in this case, but
+    the ACK callback wasn't getting registered, so no NOTIFYs to group.
+    
+    Additional small changes:
+    	* Put quotes around appearance-uri value in Call-Info header.
+    	* Only try to update appearance state on 18x reply if caller
+    	is SCA.
+    	* Temporarily disable TMCB_DESTROY callback registration.
 
-2006-02-16 15:23  janakj
+commit 06853f5569a9215d0774ca92c7eda673a04b238d
+Author: Andrew Mortensen <[email protected]>
+Date:   Tue Sep 11 23:47:00 2012 -0400
 
-	* modules/acc_radius/acc_radius.c: - fixed typo in modparam fixup -
-	  added acc_rad_log (can be used to generate acc entry from script
-	  without having transaction context) - added acc_rad_missed (can
-	  be used to generate acc entry from scrit   without having
-	  transaction context, useful when lookup_contacts   yields no
-	  contacts (temporarily unavailable)
+    Clarify certain pro/con points re: UPDATE handling.
 
-2006-02-16 15:22  janakj
+commit cc03c65d108c0a3f9df1dd076ee24f0f70c4b6e7
+Author: Andrew Mortensen <[email protected]>
+Date:   Tue Sep 11 23:15:45 2012 -0400
 
-	* modules/acc_db/acc_db.c: - fixed typo in modparam fixup - added
-	  acc_db_log (can be used to generate acc entry from script
-	  without having transaction context) - added acc_db_missed (can be
-	  used to generate acc entry from scrit   without having
-	  transaction context, useful when lookup_contacts   yields no
-	  contacts (temporarily unavailable)
+    Fix core on shutdown: param passed to usrloc cb must be separate shm_malloc'd.
+    
+    Passing the module struct (sca_mod) as the callback param causes a core dump
+    on shutdown because the usrloc callback destructor will shm_free any param
+    if non-NULL, and the module is already disposed by that point. The callback
+    isn't currently using any param, so for now pass NULL params when registering
+    for usrloc event callbacks.
 
-2006-02-16 15:19  janakj
+commit 91f575b4baf34a8bff16022e807fb086a051414a
+Merge: b6477c2 8fed32c
+Author: Andrew Mortensen <[email protected]>
+Date:   Tue Sep 11 17:35:32 2012 -0400
 
-	* select_core.c, select_core.h: - support for @event - support for
-	  @cseq (@cseq, @cseq.number, @cseq.method) - support for
-	  @record_route (@record_route.uri, @record_route.params, ...)
+    Merge branch 'master' of git+ssh://repo.net.isc.upenn.edu/git/pnp/sip-router-sca-module
 
-2006-02-16 13:57  tma0
+commit b6477c2f2329f3c07b5c4ef31dba92e5d49105d6
+Author: Andrew Mortensen <[email protected]>
+Date:   Tue Sep 11 17:34:36 2012 -0400
 
-	* modules/rr/rr_mod.c: -rr_add_avp_cookie fixup bugfix
+    Add notes about how to send UPDATEs to call legs after hold/pickup
 
-2006-02-16 13:35  tma0
+commit 95581558c230054b082200f10509b8c61e036131
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Tue Sep 11 22:02:21 2012 +0200
 
-	* modules/rr/: avp_cookie.c, avp_cookie.h, loose.c, rr_mod.c,
-	  doc/functions.xml: - rr_add_avp_cookie uses avp_parser and
-	  supports comma delimited list - ftag != from.tag comparision in
-	  loose_route for cookie flipping
+    corex: documented the new parameter alias_subdomains
 
-2006-02-15 18:29  mma
+commit eaed27161e36b0bec9bef2660d2fae80092a2e42
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Tue Sep 11 21:52:01 2012 +0200
 
-	* cfg.lex, cfg.y, route.c, usr_avp.c: AVP track searching
-	  resolution ------------------------------ new AVP prefixes
-	  registered fu - FROM USER and tu - TO USER $avp and $f.avp now
-	  searches in from track $t.avp searches in to track
+    corex: new parameter alias_subdomains
+    
+    - adds domain and all its subdomains to myself condition, registering a
+      callback for check self event
 
-	  specify fu, tu, fd, td, g if you want to search in one list only
+commit e1b3961b16b76b02ae7ad5f52b2e9db126f81ff9
+Author: Carsten Bock <[email protected]>
+Date:   Tue Sep 11 19:39:32 2012 +0200
 
-2006-02-14 19:04  andrei
+    Do not perform a lookup for IPv4 addresses, if only listening on IPv6 sockets.
+
+commit 8fed32ca2984a5e8eeb92656d7c1bb4c7355ce4a
+Author: Jorj Bauer <[email protected]>
+Date:   Tue Sep 11 11:25:38 2012 -0400
+
+    reduce dependency on copy-and-paste string literals
 
-	* timer_funcs.h:
-	  - more timer DBG cleanups
+commit 750ec99e6d65b00f0e203f4cd508a2435812491d
+Author: Andrew Mortensen <[email protected]>
+Date:   Tue Sep 11 10:40:26 2012 -0400
+
+    Improvements to hold/pickup when caller & callee are in SCA groups.
+    
+    UPDATEs ifdef'd out for now. Will set flag or AVP for script to trigger
+    UPDATEs to both call legs after relaying ACK.
+
+commit 78dae896127ce6762e3fa7c2541e1b5f9b8a9023
+Author: Henning Westerholt <[email protected]>
+Date:   Tue Sep 11 15:13:39 2012 +0200
 
-2006-02-14 18:48  andrei
+    db scheme: add missing usrloc and aliases version increase, reported from Juha
+
+commit ca551f7cb3770a08832758e543587415b3c6d80d
+Merge: 2b62b73 5ac76c5
+Author: Peter Dunkley <[email protected]>
+Date:   Tue Sep 11 14:01:16 2012 +0100
 
-	* timer.c:
-	  - silenced noisy timer debug message
+    Merge branch 'master' of ssh://git.sip-router.org/sip-router
+    
+    * 'master' of ssh://git.sip-router.org/sip-router:
+      registrar(k): set found if lookup for uri branch is successful
 
-2006-02-14 18:41  andrei
+commit 2b62b73f8d966d2418c765839ab43b3dbc57545f
+Author: Peter Dunkley <[email protected]>
+Date:   Tue Sep 11 13:59:55 2012 +0100
 
-	* Makefile, Makefile.rules:
-	  - better utils handling: make utils  will compile them, make
-	  install-utils  will install them, as well as make install. They
-	  also also properly cleaned  on make proper.
+    lib/srdb1/schema: Updated indices for presence tables based on results of latest performance testing
+    
+    - By Hugh Waite @ Crocodile RCS Ltd and Peter Dunkley @ Crocodile RCS Ltd
 
-2006-02-13 20:57  hscholz
+commit 5ac76c501c87da24443ec56b7cf4ac93b8318f49
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Tue Sep 11 14:46:03 2012 +0200
 
-	* modules/ratelimit/ratelimit.c:
-	  - add GPL license - remove parser/parse_methods.[ch] includes
+    registrar(k): set found if lookup for uri branch is successful
+    
+    - the additional branches can hit all not found, but still a found on
+      r-uri can happen
 
-	  suggested by andrei@
+commit b0d642016cca83c519ea9aa0e04aa9bf353e07e4
+Author: Peter Dunkley <[email protected]>
+Date:   Tue Sep 11 13:23:23 2012 +0100
 
-2006-02-13 14:12  janakj
+    modules_k/pua: Adjusted locking for dialog insertion.  Candidate fix for "temporary dialog" error reported by Juha
 
-	* modules/cpl-c/cpl_sig.c: - aligned to the latest changes in the
-	  structure of routing lists
+commit 6924912be955b9f7ba47fd57b22ffe0c01eb68b2
+Author: Peter Dunkley <[email protected]>
+Date:   Tue Sep 11 13:10:08 2012 +0100
 
-2006-02-12 19:10  calrissian
+    modules_k/rls: Fixed segmentation fault when uploading new contact lists for a logged in subscriber
+    
+    - Found and fixed by Hugh Waite @ Crocodile RCS Ltd
 
-	* modules/sanity/: mod_sanity.h, sanity.c, doc/params.xml,
-	  doc/sanity.xml: enabled ruri scheme check
+commit af8230b1ac6a88dfb10d567e784a3c39a8f1b863
+Author: Peter Dunkley <[email protected]>
+Date:   Tue Sep 11 13:09:22 2012 +0100
 
-2006-02-11 11:34  andrei
+    modules_k/rls: Improved check for expired subscriptions in DB only mode
 
-	* COPYING: - small fix/clarification
+commit 7b64e538b350ebd520b80f668045b9f3c7d68fb9
+Author: Peter Dunkley <[email protected]>
+Date:   Tue Sep 11 13:08:38 2012 +0100
 
-2006-02-11 11:13  andrei
+    modules_k/rls: Fixed issues with for() loops in DB only mode
+    
+    - Found and fixed by Hugh Waite @ Crocodile RCS Ltd
 
-	* Makefile:
-	  - unixsock not compiled by default (work in progress)
+commit 5235a1d6218e0bb16f6c9998789864635f54d03e
+Author: Peter Dunkley <[email protected]>
+Date:   Tue Sep 11 13:06:54 2012 +0100
 
-2006-02-11 11:07  andrei
+    modules_k/rls: core_hash() not used correctly to distribute notifier traffic
+    
+    - Found and fixed by Hugh Waite @ Crocodile RCS Ltd
 
-	* Makefile.defs, mem/shm_mem.c:
-	  darwin/mac os x fixes:  - no sigwaitinfo => use sigwait (in libc)
-	  - warning fix
+commit 6eccc8b61e848977012d6efa1fb5aae61f8d441e
+Author: Peter Dunkley <[email protected]>
+Date:   Tue Sep 11 13:05:15 2012 +0100
 
-2006-02-10 22:01  andrei
+    modules_k/rls: Fixed issues to do with expiry and rls_expires_offset
+    
+    - These cause particular problems on multi-server systems.
+    - Found and fixed by Hugh Waite @ Crocodile RCS Ltd
 
-	* Makefile.defs, timer.c:
-	  - openbsd fixes from	Hendrik Scholz <[email protected]>:	 -
-	  sigwaitinfo is not available on openbsd => s/sigwaitinfo/sigwait/
-	  - sigwait requires linking with libpthread (on openbsd)   -
-	  openbsd requires netinet/in_systm.h
+commit 725020f91493d33c5fa86828a421ed465731658e
+Author: Peter Dunkley <[email protected]>
+Date:   Tue Sep 11 13:03:32 2012 +0100
 
-2006-02-10 20:39  hscholz
+    modules_k/rls: Added missing lock_release()
+    
+    - Found and fixed by Hugh Waite @ Crocodile RCS Ltd
 
-	* cfg.y:
-	  - fix missing semicolon leading to compilation error on FreeBSD
-	  and OpenBSD	(introducted in 1.113)
+commit 20475258957cbf3183e5e771e9fd41dc69336096
+Author: Peter Dunkley <[email protected]>
+Date:   Tue Sep 11 12:59:08 2012 +0100
 
-2006-02-10 19:21  andrei
+    modules_k/pua_db: If PUA finds more than one matching dialog (when there should only be one) delete them all
+    
+    - A timing difference on multiple-servers can sometimes cause this,
+      and (if it happens, it doesn't when the clocks are synced) you can
+      end up with the same error coming out lots because the DB is not
+      cleaned up.
 
-	* core_cmd.c, tcp_info.h, tcp_main.c:
-	  - removed some exported information: inactive_connection and
-	  number of requests (it was bogus anyway)
+commit ef7d43fc614276b75c560660c7e4368fd18d574d
+Author: Peter Dunkley <[email protected]>
+Date:   Tue Sep 11 12:58:13 2012 +0100
 
-2006-02-08 22:11  tma0
+    modules_k/pua: Fixed incorrect check/use of update_period modparam
 
-	* modparam.c: -changed strdup to pkg_malloc, valgrind disliked
-	  strlen(strdup'ed memory)
+commit d9087dbbf411f71486a4ce765aa5d6dfeb531f9c
+Author: Peter Dunkley <[email protected]>
+Date:   Tue Sep 11 12:56:52 2012 +0100
 
-2006-02-08 17:44  andrei
+    modules_k/presence: Improved check for expired dialogs in DB only mode with notifier tasks
 
-	* flags.c: - fixed flag hash bug, reported by Tomas Mandys - fixed
-	  MAX_FLAG usage (flags no = MAX_FLAG+1 and not MAX_FLAG)
+commit cd6415240ff243842b4e11b095103f00fd64d0d9
+Author: Peter Dunkley <[email protected]>
+Date:   Tue Sep 11 12:55:49 2012 +0100
 
-2006-02-08 13:20  tma0
+    modules_k/presence: Fixed some problems with for() loops in DB only mode
+    
+    - Found and fixed by Hugh Waite @ Crocodile RCS Ltd
 
-	* modules/registrar/: lookup.c, reg_mod.c, reg_mod.h: - merged
-	  registrar.received_to_uri from svn
+commit 3635a0d920f0d03e85b8b97a44d878f0f8d13931
+Author: Peter Dunkley <[email protected]>
+Date:   Tue Sep 11 12:54:51 2012 +0100
 
-2006-02-08 11:57  mma
+    modules_k/presence: Fixed level of a diagnostic message
 
-	* action.c: [Closes SER-95] Corrected AVP assignment producing
-	  wrong name. Thanks to Miklos.
+commit 4b9aa7f144b8cf3e6da775563528913ed79e0553
+Author: Peter Dunkley <[email protected]>
+Date:   Tue Sep 11 12:53:58 2012 +0100
 
-2006-02-07 22:51  tma0
+    modules_k/presence: core_hash not used correctly to distribute notifier traffic
+    
+    - Found and fixed by Hugh Waite @ Crocodile RCS Ltd
 
-	* modules/avp/avp.c: - new function avp_delete() added, supports
-	  regex
+commit a29a2a81bc541af020955dbda0d352445fef5788
+Author: Peter Dunkley <[email protected]>
+Date:   Tue Sep 11 12:51:33 2012 +0100
 
-2006-02-07 20:52  andrei
+    modules_k/presence: Fixed inconsistencies in use of expires_offset for removing subcriptions
+    
+    - These caused particular problems on mulit-server, DB only, systems
+    - Found and fixed by Hugh Waite @ Crocodile RCS Ltd.
 
-	* Makefile, Makefile.defs, cfg.y, modules/flatstore/flatstore.c,
-	  modules/sanity/mod_sanity.c, modules/sanity/sanity.c,
-	  modules/tm/t_reply.c, modules/tm/t_stats.c:  - various warning
-	  fixes
+commit bb7bc779da5910a3d22cb5631b532ac3a3eb6b1a
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Tue Sep 11 13:01:13 2012 +0200
 
-2006-02-07 20:17  andrei
+    registrar(k): documented lookup_branches(...) function
 
-	* config.h, flags.c, sr_module.c, sr_module.h,
-	  modules/acc_db/acc_db.c, modules/acc_radius/acc_radius.c,
-	  modules/acc_syslog/acc_syslog.c, modules/registrar/reg_mod.c:
-	  - modules named flag support in modparams (registrar, acc_*)
-	  E.g.:
+commit 2ac602d3de1330705ecfdede660d43c02e4b4334
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Tue Sep 11 12:52:45 2012 +0200
 
-	  flags foo, bar, nat; modparam("registrar", "nat_flag", "nat")
+    registrar(k): new function lookup_branches(domain)
+    
+    - lookup the contacts for r-uri and additional branches
+    - only branches that are clean (i.e., have only r-uri set) are used
+    - useful for group dialing, to lookup all AoR in the group, without a
+      need to loop back
 
-	  or modparam("registrar", "nat_flag", "f:9") # uses flag 9 and
-	  "names" it f
+commit 0724528964f8ea74049cd2d2e08082025b5c5377
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Tue Sep 11 12:45:25 2012 +0200
 
-2006-02-07 02:14  andrei
+    core: whitespace identation fixes
 
-	* action.c, cfg.y, hashes.h, main.c, onsend.h, receive.c, route.c,
-	  route.h, ut.h, modules/tm/t_fwd.c, modules/tm/t_reply.c,
-	  modules/tm/tm.c:
-	  - named routes support in core and tm (t_on_*).  e.g.: route{
-	  route(bar);	  t_on_reply("reply_route");	  route(1); # ==
-	  route("1")	   ...	}   route[foo]{     ...   }   route["bar"]{
-	      ...   }	route[1]{   ...  }   onreply_route[reply_route]{
-	  ...	}
+commit f252606e41e00595cdaace7491af3d8daa138272
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Tue Sep 11 09:02:51 2012 +0200
 
-	   route(bar);
+    kamctl: regenerated the db creation scripts
+    
+    - there were changes in presence tables not propagated to scripts
+    - it includes the updates for location tables
 
-2006-02-06 17:47  andrei
+commit fd911bbfdc82fc41312e2b4466e71ccd24bc5ee2
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Tue Sep 11 09:02:34 2012 +0200
 
-	* core_cmd.c, tcp_info.h, tcp_main.c:  - fixed some tcp connections
-	  accounting bugs
-	   - tcp info available via fifo/rpc
+    lib/srdb1: added unique constraint on ruid for aliases table
 
-2006-02-06 17:20  ramona
+commit 2c1a857f08512e7008cbd15c23716e149204a06d
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Tue Sep 11 09:00:10 2012 +0200
 
-	* modules/uac/from.c: applied patch provided by Phil D'Amore
+    lib/srdb1: added unique constraint on ruid for location table
 
-2006-02-05 21:01  calrissian
+commit 6b7a27e81cc838de6af9a1c55edb937d1094ce98
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Tue Sep 11 08:52:53 2012 +0200
 
-	* modules/sanity/doc/: functions.xml, params.xml, sanity.xml: added
-	  some important details to the documentation
+    kex: documented mi statistics commands
+    
+    - reported by David at lublink
 
-2006-02-05 20:00  calrissian
+commit 59cc9a44ef0c603503eac70d4b3367b47a610176
+Author: Andrew Mortensen <[email protected]>
+Date:   Tue Sep 11 00:10:32 2012 -0400
 
-	* modules/sanity/: Makefile, mod_sanity.c, mod_sanity.h, sanity.c,
-	  sanity.h, doc/Makefile, doc/functions.xml, doc/params.xml: Intial
-	  checkin of the new sanity check module.  This module aims to
-	  implement several sanity checks which are currently not done or
-	  available from SER. Currently this module implements the
-	  following checks:  - R-URI SIP version  - Proxy-Require header  -
-	  minimum required headers  - Content-Length  - CSeq validity  -
-	  Expires validity
+    Re-enabled usrloc bindings so deleting subscriptions on unREGISTER works.
 
-2006-02-05 17:27  tma0
+commit e82a63d6874fa609d7588323500e5560b3ebe963
+Author: Andrew Mortensen <[email protected]>
+Date:   Tue Sep 11 00:09:05 2012 -0400
 
-	* modules/xlog/xl_lib.c: - improved parsing of %$avp when
-	  terminating with non space.e.g "cxx %$avp2%$avp3 blabla" - new
-	  parameter "% " or "%|" enabling spaceless concatanating avp and
-	  "text", e.g. "aaa%$avp%|xxx" printed as  "aaaavp_valuexxx"
+    Add sca_update.c & sca_update.h to send UPDATEs to both legs after pickup.
 
-2006-02-03 22:56  andrei
+commit bedb7fdc6d02e92fbf52ad4acb6dfcbb49f0bc49
+Author: Juha Heinanen <[email protected]>
+Date:   Fri Sep 7 19:16:37 2012 +0300
 
-	* tcp_main.c, tcp_read.c, tsend.c:
-	  - tcp children number is not anymore limited (was limited to 100)
-	  - tcp connection are	passed to the tcp reader processes after
-	  some data is received on them and not immediately after accept().
-	  This speeds up accepting lots of new connections. Old behaviour
-	  can be select by undef-ing TCP_PASS_NEW_CONNECTION_ON_DATA in
-	  tcp_main.c - lots of cleanups and small fixes - tsend_stream now
-	  support waiting forever (timeout==-1)
+    db schema: removed unique requirement from pua expires_idx
+    
+    - TODO: change also other than mysql table structures
 
-	  Orientative test results:  - 50k connections to ser opened, 1
-	  packet sent of them and then closed in 9.5s  - 50-65Mb data rate
-	  on 50k connections (with 20 ser tcp processes)  - 200-240Mb data
-	  rate on 1 connection
+commit 08cb1ca64b7259b6cb82751eaedda238fd902ac2
+Merge: 9717357 9329c7d
+Author: Henning Westerholt <[email protected]>
+Date:   Fri Sep 7 13:52:36 2012 +0200
 
-2006-02-03 22:06  andrei
+    Merge branch 'master' of ssh://git.sip-router.org/sip-router
+    
+    * 'master' of ssh://git.sip-router.org/sip-router:
+      Use &long_hf_len; instead of &uri_len; for path column in location table.
 
-	* mem/: f_malloc.c, q_malloc.c: - *_realloc bug fix: on grow, when
-	  out of memory, realloc would free the   original pointer (instead
-	  of leaving it alone and just returning null)
+commit 97173572a81b67dd5165de2948562d5db91168d5
+Author: Henning Westerholt <[email protected]>
+Date:   Fri Sep 7 12:57:30 2012 +0200
 
-2006-02-03 17:25  kubartv
+    db scheme: move usrloc and alias expire time 10 years to the future, to 2030
 
-	* modules/pa/auth.c, modules/pa/pa_mod.c, lib/cds/cds.c,
-	  lib/cds/logger.h, lib/cds/memory.c, lib/presence/qsa.c,
-	  lib/presence/xpidf.c, lib/xcap/pres_rules.c,
-	  lib/xcap/resource_list.c, lib/xcap/resource_lists_parser.c,
-	  modules/pa/pdomain.c, modules/pa/presentity.c,
-	  modules/pa/qsa_interface.c, modules/pa/subscribe.c: cosmetical
-	  changes (logging)
+commit 9329c7d1522f9692f46210aa72e9e932b97a0178
+Author: Iñaki Baz Castillo <[email protected]>
+Date:   Fri Sep 7 12:53:48 2012 +0200
 
-2006-02-03 17:15  andrei
+    Use &long_hf_len; instead of &uri_len; for path column in location table.
 
-	* pass_fd.c, tcp_conn.h, tcp_main.c, test/gcc_versions.txt:  - tcp
-	  children control fds are now non-blocking
-	   - send fd queue is used when a childs queue is full
+commit 976f801ae2df9597be0fccff89496bde34b22e62
+Author: Henning Westerholt <[email protected]>
+Date:   Fri Sep 7 12:44:33 2012 +0200
 
-2006-02-03 16:34  andrei
+    dialog: use long_hf_len instead of hardcoded value in table defs, no actual schema change
 
-	* tcp_main.c: - tcp connection timeouts are checked at most one
-	  time per second - ticks comparisons are uint overflow safe
+commit 61254d70442144277981f2d866de379413634a4f
+Author: Andrew Mortensen <[email protected]>
+Date:   Wed Sep 5 15:14:18 2012 -0400
 
-2006-02-03 16:33  andrei
+    [SIPR-699]: delete subscription when endpoint's registration ends
+    
+    Detect registration deletion or expiration, and delete endpoint's
+    call-info subscription.
 
-	* usr_avp.c: - minor fix
+commit d1d2494c966d65828d1920296056da840a11efd9
+Author: Vicente Hernando <[email protected]>
+Date:   Wed Sep 5 06:44:39 2012 -0400
 
-2006-02-03 09:45  kubartv
+    sdpops: Fix memory leakage in w_get_sdp function.
 
-	* doc/presence/xcap.xml: added short list of disadvantages of XCAP
-	  simulation into presence handbook
+commit 163f860ef7c0ed9a720207499d054e7f68b139df
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Wed Sep 5 08:58:18 2012 +0200
 
-2006-02-02 20:29  andrei
+    dialog(k): fixed the name of event route
+    
+    - it is 'dialog:failed' instead of 'dialog:failure'
+    - reported by Uri Shacked
 
-	* cfg.lex, cfg.y, clist.h, flags.c, flags.h, hashes.h, main.c:
-	  - more generic hash functions  - named flags support: the flags
-	  can now have names  Example:	flags a, b:6, test_flag; # b is set
-	  to the 6 flag, the rest are				# allocated
-	  automatically  route{       setflag(test_flag);      ...   }
+commit 52f501388c99e992d371d17a78dd36ff373d354c
+Author: Andrew Mortensen <[email protected]>
+Date:   Tue Sep 4 10:25:14 2012 -0400
 
-2006-02-02 19:50  kubartv
+    [SIPR-700]: module should drop subscriber if NOTIFY delivery fails.
+    
+    Module unlinks & deletes subscription if call-info NOTIFY to subscriber fails.
+    Also fix memory leak in the expired purge tick, which was unlinking but not
+    deleting.
 
-	* modules/pa/: ChangeLog, pa_mod.c, doc/functions.xml, doc/pa.xml,
-	  doc/params.xml: improved documentation (storing/dumping offline
-	  winfo, parameters)
+commit 18c5f3fec6b5e4d2e8ad86b13c5b4e62c6c5513c
+Author: Boudewyn Ligthart <[email protected]>
+Date:   Tue Sep 4 16:16:38 2012 +0300
 
-2006-02-02 18:05  kubartv
+    modules/db_cassandra: Added raw query support
+    
+    The raw queries can be performed through avpops module and have to have
+    the CQL syntax.
 
-	* lib/presence/pidf.c, lib/presence/pres_doc.c,
-	  lib/presence/pres_doc.h, modules/pa/pa_mod.c,
-	  modules/pa/pa_mod.h, modules/pa/presentity.c,
-	  modules/pa/presentity.h, modules/pa/publish.c,
-	  modules/pa/qsa_interface.c, modules/pa/rpc.c, db/schema/ser.xml,
-	  scripts/dbtext/ser_db/presentity_persons,
-	  scripts/mysql/my_create.sql, scripts/oracle/or_create.sql,
-	  scripts/postgres/pg_create.sql: added simple handling of <person>
-	  elements (RPID)
+commit 15f5c9f2f7323c5192a7eb550cc7e7c53b20782a
+Author: Carsten Bock <[email protected]>
+Date:   Mon Sep 3 21:31:58 2012 +0200
 
-2006-02-02 13:05  tma0
+    b/f: In case of IPv6 Option in the RTP-Command, the pointers and the length need to be updated.
 
-	* etc/: rules.m4, ser.cfg.m4: - new "declare" m4 macro helper to
-	  define all numbers. Just add rules.m4 and pass to m4 processor.
+commit a6a37ad2ae7dd99deae3ec9d83ab38ab54e2f2af
+Author: Henning Westerholt <[email protected]>
+Date:   Mon Sep 3 13:01:05 2012 +0200
 
-	  Usage:
+    kamdbctl: add some explanation to the variables section and fix path
 
-	  declare(flags, FLAG_1, FLAG_2) declare(route, ...)
+commit a5a58239efb00f25cd51753c984ee4469fd97754
+Author: Elena-Ramona Modroiu <[email protected]>
+Date:   Mon Sep 3 08:53:47 2012 +0200
+
+    xlog: new module parameters log_colors
+    
+    - update the colorscheme for log levels
+
+commit 1c1bdda16c7643b882a437583368d97e33c21e56
+Author: Elena-Ramona Modroiu <[email protected]>
+Date:   Mon Sep 3 08:52:26 2012 +0200
+
+    core: added function to update log level color scheme
+
+commit e09b5bc8f7d17d8d9d9754152d78b0c835e94a9f
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Sun Sep 2 13:36:55 2012 +0200
+
+    kamctl: regenerated db creation scripts
+
+commit dfc98801110554f92aeaa80594e01cad16c9dcd1
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Sun Sep 2 13:29:18 2012 +0200
+
+    prefix_route: new parameter to control the exit from config
+    
+    - 'exit' controls if prefix_route() triggers cfg exit or returns true
+      upon matching a prefix. Default is 1 (on) for backward compatibility
+    - prefix_route() takes an optional parameter that can be used to match
+      the prefix instead of r-uri username
 
-	  setflag(FLAG_1); if (isflagset(FLAG_2))
+commit 886a0659449bc03bd7c5e852fe6ba29a17ad923d
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Sun Sep 2 13:08:53 2012 +0200
 
-	  etc.
+    srdb1: table_name set to unique constraint in version table
 
-2006-02-02 10:10  kubartv
+commit ca57c8631511943e835e8b030dad638f92aff884
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Sun Sep 2 11:59:38 2012 +0200
+
+    tm: new config parameter - remap_503_500
+    
+    - option to disable remapping of 503 response code to 500
+
+commit fe00a3346a2276b25ae26160ce76bf658b5b826e
+Author: Elena-Ramona Modroiu <[email protected]>
+Date:   Sat Sep 1 16:24:02 2012 +0200
 
-	* db/schema/offline_winfo.xml, db/schema/ser.xml,
-	  modules/pa/ChangeLog, modules/pa/notify.c,
-	  modules/pa/offline_winfo.c, modules/pa/offline_winfo.h,
-	  modules/pa/pa_mod.c, modules/pa/pa_mod.h,
-	  modules/pa/status_query.c, modules/pa/winfo_doc.c,
-	  modules/pa/winfo_doc.h, scripts/dbtext/ser_db/offline_winfo,
-	  scripts/mysql/my_create.sql, scripts/oracle/or_create.sql,
-	  scripts/postgres/pg_create.sql: added functions for storing and
-	  dumping offline authorization info via watcherinfo NOTIFY
-	  (documentation will be added soon)
+    core: log_color - new global parameter to enable colorful log messages
+    
+    - enabled only when log_stderr=1
+    - equivalent of -e command parameter
+    - it can be: 0 - disabled (no colors, default); 1 - enabled
 
-2006-02-02 09:09  kubartv
+commit 6bda9c0b7aac195902d2c42123bdde007a9a687f
+Author: Elena-Ramona Modroiu <[email protected]>
+Date:   Sat Sep 1 16:16:21 2012 +0200
 
-	* lib/: cds/hash_table.h, cds/logger.h, cds/sstr.c, cds/sstr.h,
-	  xcap/Makefile: added some hash function implementations
-	  (collection from more sources)
+    core: -e - new cli parameter to enable colorful log messages
+    
+    - used only when log messages are printed to stderr
+    - each log level is printed in different color, using term colors (like
+      $C(xy) variable)
+
+commit 28a7300cd83e135b1c0d5488cb289fc7415fbd8c
+Author: Juha Heinanen <[email protected]>
+Date:   Sat Sep 1 13:32:18 2012 +0300
+
+    modules/dialplan: always set type of attrs pvar value
+    
+    - Type of attrs pvar value was not set when dp_translate didn't result
+      in any change.
+
+commit 494b383edde7a2d193c220f3117506e4cc95932f
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Fri Aug 31 10:29:45 2012 +0200
 
-2006-02-01 17:08  calrissian
+    auth: print return code in log when nonce is invalid
+    
+    - it will give a clue about why nonce is considered invalid
 
-	* parser/: parse_expires.c, parse_expires.h: - parsed expires value
-	  is unsinged as negative values are not allowed - more then 10
-	  characters cant be a valid expires value - set the value length
-	  before checking it to avoid incorrect length for invalid values
+commit e4ecf49add0e62330e1db071106806e35e9b078a
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Thu Aug 30 22:38:11 2012 +0200
 
-2006-02-01 16:53  janakj
+    corex: a new module to collect reimplemented core cfg functions
+    
+    - old core functions for cofiguration file do not take variables in the
+      parameters, working only with static strings or integers
+    - some of them will be reimplemented in corex moduel to add support for
+      variables, making the parameters to be dynamic at runtime
+    - append_branch(...) was reimplemented at this moment, allowing URI and
+      Q parameters to contain variables
+    - there are also brand new features - two RPC commands, one to list the
+      listen sockets and the other to list the hostname aliases
+    - name of the module comes from CORE eXtensions
 
-	* modules/usrloc/ul_rpc.c: - fixed return value type - aling
-	  function name to similar functions in other modules
+commit 41918bca6d6a99f6773a72ab132e75c940ecd79a
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Thu Aug 30 22:36:10 2012 +0200
 
-2006-02-01 16:42  janakj
+    core: removed append_branch() from cfg language structure
+    
+    - cfg append_branch() is no longer implemented by core, being moved to
+      corex module in order to allow variables in the parameters
 
-	* modules/xmlrpc/xmlrpc.c: - libxml2 would return null when
-	  processing empty string element, so we   need to create fake
-	  empty string
+commit eb73f14958ede24928f312fa0e44d171fa7bf373
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Thu Aug 30 22:34:40 2012 +0200
 
-2006-01-31 22:43  janakj
+    kex: removed km_append_branch() cfg funtion
+    
+    - functionalty being replaced by append_branch() from corex module which
+      can take also Q as parameter
 
-	* modules/auth/challenge.c: - fixed a bug in code generating digest
-	  realm
+commit 132df8d61eefcc2dbea08ae70db82393803d9488
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Thu Aug 30 10:16:04 2012 +0200
 
-2006-01-31 00:16  tma0
+    core: exported get_valid_proto_name() via headers
 
-	* modules/rr/: avp_cookie.c, loose.c, doc/functions.xml: - Cpp
-	  comments changed to C ones - AVP_FLAG_DIALOG support for cookies
-	  (uncommented) - avp_add_cookie only marks AVP (no copy)
+commit 21583d47751fc7f684dac41a3bfbfc3b2c0bf3a3
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Thu Aug 30 10:15:26 2012 +0200
 
-2006-01-30 20:24  andrei
+    db_cluster: safety check for existence of several DB API members
 
-	* tcp_main.c:
-	   - high connection number deadlock fix (tested with 50k open tcp
-	  connections)
-	   - experimental queue send fd ops code
-	   WARNING: lightly tested
+commit 82bb7a8b67e488e7089d194fa5f96e9ae61dfb03
+Author: Anca Vamanu <[email protected]>
+Date:   Thu Aug 30 17:39:47 2012 +0300
 
-2006-01-30 17:56  kubartv
+    modules/db_cassandra Updated in doc location table schema
 
-	* modules/msilo/: README, msilo.c, doc/functions.xml,
-	  doc/msilo.cfg: added parameter to store/dump functions for
-	  sending messages through an outgoing proxy
+commit 0f8f21e390e8442cf1f527d3654dedc5a40bfcea
+Author: Anca Vamanu <[email protected]>
+Date:   Thu Aug 30 17:21:29 2012 +0300
 
-2006-01-30 17:49  janakj
+    modules/db_cassandra: Fixed segmentation fault in case of bad table schema
+    
+    Reported by Boudewyn Ligthart.
 
-	* modules/mysql/my_con.c: - enable reconnection explicitly
-	  Closes: SER-80
+commit 8d70484116e48b15681589f70c650a082614396c
+Author: Vicente Hernando <[email protected]>
+Date:   Thu Aug 30 05:20:25 2012 -0400
 
-2006-01-30 17:34  kubartv
+    ndb_redis: argument checking in redisc_free_reply
 
-	* modules/pa/status_query.c: removed debug note in target_online
-	  function
+commit 512013f324dd6faa37e26302a267afb07252812a
+Author: Anca Vamanu <[email protected]>
+Date:   Thu Aug 30 12:24:24 2012 +0300
 
-2006-01-30 17:26  kubartv
+    modules/db_cassandra: Updated replace function to the new signature
 
-	* modules/pa/: status_query.c, status_query.h: forgotten files for
-	  previous commit (implementation of target_online function)
+commit 978ec2fb51751529953eadec653772edd5dc1ccd
+Author: Richard Fuchs <[email protected]>
+Date:   Wed Aug 29 15:47:10 2012 -0400
 
-2006-01-30 17:25  kubartv
+    modules_k/nathelper: fix a= lines inserted out of order
+    
+    RFC 4566 dictates a particular order of fields in the SDP body, in particular
+    media-specific a= lines must be last fields within an m= block. Inserting
+    them right after the m= lines violates this order if other fields (such as
+    c=) are present, causing parse errors in some clients. So instead, insert
+    them at the end of each m= block.
 
-	* modules/pa/: ChangeLog, pa_mod.c, pa_mod.h, pdomain.c,
-	  presentity.c, publish.c, rpc.c, rpc.h: added features:  -
-	  function target_online returning 1 if user is online	- added
-	  parameter use_callbacks for control if use callbacks to usrloc or
-	  not corrected bugs:  - handle_publish returns 4xx in the case of
-	  unsupported event package
+commit b7a1ba89ce9d8a310b9b0151f6535d612dbc9057
+Author: Vicente Hernando <[email protected]>
+Date:   Wed Aug 29 12:45:40 2012 -0400
 
-2006-01-30 17:20  janakj
+    ndb_redis: redisc_exec_argv function
 
-	* modules/rr/: avp_cookie.c, avp_cookie.h, rr_mod.c: - fixed crash
-	  in regcomp   Closes: SER-92
+commit ae7047e05a7ff05a1707446286e2837fa49671dc
+Author: Anca Vamanu <[email protected]>
+Date:   Wed Aug 29 19:33:51 2012 +0300
 
-2006-01-30 17:05  janakj
+    kamctl/dbcassandra: Updated schema for cassandra location table
 
-	* modules/tls/tls_select.c: - fixed @tls.cipher.bits - noisy error
-	  turned into debugging message
+commit 4b60f510b3fe4ac8ff8fa2721cc40b18b93ed5d1
+Author: Vicente Hernando <[email protected]>
+Date:   Mon Aug 27 16:22:35 2012 -0400
 
-2006-01-30 16:59  kubartv
+    ndb_redis: add some error checks in redisc_exec function.
 
-	* modules/: jabber/xjab_worker.c, nathelper/natping.c,
-	  sms/sms_funcs.c: added parameter next_hop of t_request calls
+commit 57b5efa329ee50cfee361fe10204b37ca8a8e039
+Author: Vicente Hernando <[email protected]>
+Date:   Mon Aug 27 07:01:18 2012 -0400
 
-2006-01-30 16:56  kubartv
+    ndb_redis: add goto error_exec instead of return
 
-	* modules/tm/: dlg.c, tm.c, tm_load.c, tm_load.h, uac.c, uac.h:
-	  added features:  - possibility of automatical tag generation when
-	  creating dialog  - exported uac_t function (will be used from
-	  dialog module)  - added parameter next_hop to t_request for
-	  sending request through "proxy"
+commit 2bd8309a9e1af15dc3b5dafdfc84b97fc8338c98
+Author: Jon Bonilla <[email protected]>
+Date:   Mon Aug 27 12:49:07 2012 +0200
 
-2006-01-30 14:09  andrei
+    pkg/deb Set Standards version to 3.9.3
 
-	* route.c: - eval_expr too many expressions bug (reported by
-	  Michal), fixed by removing the expr. recursions checks (they were
-	  a parser debugging remainder, you can't  have expr. loops without
-	  having actions loops and the actions loops are   already
-	  handled).  Closes SER-91.
+commit e8c7708bed7081e74ee43370ab63031daac6fb8b
+Author: Jon Bonilla <[email protected]>
+Date:   Mon Aug 27 11:35:50 2012 +0200
 
-2006-01-30 13:59  kubartv
+    pkg/deb: Don't conflict with -dbg any more
 
-	* modules/msilo/msilo.c: corrected storage of time values (was
-	  stored as int, but the column in DB was DATETIME, what didn't
-	  work)
+commit b53ca97379e1b4aeae80b794f23e25e9150a0e58
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Mon Aug 27 10:37:50 2012 +0200
 
-2006-01-30 11:34  kubartv
+    db_cluster: more verbosity when building cluster structures
 
-	* modules/msilo/msilo.c: corrected table version test (was used
-	  direct number 3 instead of defined constant S_TABLE_VERSION)
+commit 11bc9210cd6665087ef79f7b6af9e9e478ea7923
+Author: Andrew Mortensen <[email protected]>
+Date:   Fri Aug 24 23:12:19 2012 -0400
 
-2006-01-30 10:44  ullstar
+    Display owner and dialog in sca.all_appearances output.
 
-	* modules/rr/avp_cookie.c: hopefully fixed the right thing here. RR
-	  module did not compile, it used some avp_value, but the only
-	  int_str defined was a avp_val. Please review.
+commit 205c18d3697367fcbc0d93cc243fcb9f751e83df
+Author: Andrew Mortensen <[email protected]>
+Date:   Fri Aug 24 23:10:56 2012 -0400
+
+    Add routine to update callee. Add two convenience lock-if-SCA routines.
+    
+    Extend appearance struct to store previous owner, callee & dialog.
+
+commit 94cf6005b264fecd888c8141ebf4247b2a02855f
+Author: Andrew Mortensen <[email protected]>
+Date:   Fri Aug 24 15:20:23 2012 -0400
+
+    Notes on use of To-URI during pickup of held call.
+
+commit 75b304538f4094340ab7471487cac687fbd1c769
+Author: Andrew Mortensen <[email protected]>
+Date:   Fri Aug 24 13:38:31 2012 -0400
+
+    Add sca_uri_build_aor().
+
+commit fbc6ce9c0792408877166a3e35b1c6cc2dc645e3
+Author: Jason Penton <[email protected]>
+Date:   Fri Aug 24 09:51:06 2012 +0200
+
+    xmlrpc: more correct re XMLRPC spec re. no type specified, defaults to string
+    - This will allow you to receive docs like <value>mystringvalue</value>
+    - instead of only allowing <value><string>mystringvalue</string></value>
+    - according to spec if no type specified, assume string
+    - allows kamailio to receive messages from apache ws-xmlrpc which doesnt specify string type
+
+commit 881ee61c85f66767e0e8988e0a98205abbc7f9e9
+Author: Jason Penton <[email protected]>
+Date:   Fri Aug 24 09:48:46 2012 +0200
+
+    Revert "xmlrpc: more correct re XMLRPC spec re. no type specified, defaults to string"
+    
+    This reverts commit 35e5e50c8f624ab70ef095bdbc729861b4a0a749.
+
+commit 35e5e50c8f624ab70ef095bdbc729861b4a0a749
+Author: Jason Penton <[email protected]>
+Date:   Fri Aug 24 09:21:40 2012 +0200
+
+    xmlrpc: more correct re XMLRPC spec re. no type specified, defaults to string
+    - This will allow you to receive docs like <value>mystringvalue</value>
+    - instead of only allowing <value><string>mystringvalue</string></value>
+    - according to spec if no type specified, assume string
+    - allows kamailio to receive messages from apache ws-xmlrpc which doesnt specify string type
+
+commit 4d15ba97bab58108cfedc45158d90583f67cdadf
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Fri Aug 24 09:14:28 2012 +0200
+
+    db_cluster: use connection from write structure for db updates
+    
+    - could be related to an issue reported by Øyvind Kolbu
+
+commit 10327c61d35e034f31c49a27f11f81ec82c22055
+Author: Peter Dunkley <[email protected]>
+Date:   Tue Aug 21 15:41:27 2012 +0100
+
+    modules_k/rls: Use database row/table locking where supported in DB only mode
+    
+    - Under load there are lots of DB deadlocks when using
+      (start|end)_transaction() with multiple presence processes and/or
+      servers.
+    - Without using (start|end)_transaction() multiple processes/servers
+      overwrite each others changes.
+    - Using row locking (where possible) and table locking (where
+      required) fixes these problems.
+    - IMPORTANT NOTE: DB only, multi-process/multi-server, presence will
+      only work properly under high-load when using a database driver that
+      supports transactions and locking (currently just db_postgres).
+
+commit 92aedbb83f5d6cbfc7c4b5e68f260f7ecccc992e
+Author: Peter Dunkley <[email protected]>
+Date:   Tue Aug 21 15:40:56 2012 +0100
+
+    modules_k/pua: Use database row/table locking where supported in DB only mode
+    
+    - Under load there are lots of DB deadlocks when using
+      (start|end)_transaction() with multiple presence processes and/or
+      servers.
+    - Without using (start|end)_transaction() multiple processes/servers
+      overwrite each others changes.
+    - Using row locking (where possible) and table locking (where
+      required) fixes these problems.
+    - IMPORTANT NOTE: DB only, multi-process/multi-server, presence will
+      only work properly under high-load when using a database driver that
+      supports transactions and locking (currently just db_postgres).
+
+commit 34cd2acb5370f36238f8765765cee6d97fd18209
+Author: Peter Dunkley <[email protected]>
+Date:   Tue Aug 21 15:36:34 2012 +0100
+
+    modules_k/presence: Use database row/table locking where supported in DB only mode
+    
+    - Under load there are lots of DB deadlocks when using
+      (start|end)_transaction() with multiple presence processes and/or
+      servers.
+    - Without using (start|end)_transaction() multiple processes/servers
+      overwrite each others changes.
+    - Using row locking (where possible) and table locking (where
+      required) fixes these problems.
+    - IMPORTANT NOTE: DB only, multi-process/multi-server, presence will
+      only work properly under high-load when using a database driver that
+      supports transactions and locking (currently just db_postgres).
+
+commit f1f39db4f8a73f16497c4cc2658e9b4e68bac0fc
+Author: Peter Dunkley <[email protected]>
+Date:   Tue Aug 21 15:27:29 2012 +0100
+
+    modules/db_postgres: Added support for database row and table locking to PostgreSQL database module
+    
+    - start_transaction() now takes an argument allowing the type of locking
+      (none, read, or full) to be specified.
+    - new query_lock() API will use a SELECT ... FOR UPDATE query instead of
+      just a SELECT ...
+
+commit 6c39a678a5b1bf00e0a138daa90ac6401b017d94
+Author: Peter Dunkley <[email protected]>
+Date:   Tue Aug 21 15:26:44 2012 +0100
+
+    lib/srdb1: Added support for database row and table locking to SRDB1
+    
+    - Requires support within the database module
+
+commit 9b77e69de0953f9f6f48d4c1cf06f7e593469912
+Author: Peter Dunkley <[email protected]>
+Date:   Tue Aug 21 15:21:54 2012 +0100
+
+    modules_k/rls: Some incorrect pkg_free() calls in DB only code
+    
+    - Found and fixed by Hugh Waite @ Crocodile RCS
+
+commit b9e77beaee850303ffa736cb4043d21a1806fa4f
+Author: Peter Dunkley <[email protected]>
+Date:   Tue Aug 21 15:21:03 2012 +0100
+
+    modules_k/pua: transaction not ended before calling send_publish() from TM call-back
+    
+    - Found by Hugh Waite @ Crocodile RCS and fixed by Peter Dunkley
+      @ Crocodile RCS
+
+commit f20713462410211370e762abb463f0ceafd36d8d
+Author: Peter Dunkley <[email protected]>
+Date:   Tue Aug 21 15:19:51 2012 +0100
+
+    modules/db_postgres: libpq requires null terminated string, but Kamailio internal str type is not (necessarily) null-terminated
+    
+    - Found and fixed by Paul Pankhurst @ Crocodile RCS
+
+commit 0b247dbdea53bf46fbe222bbf2dea66b030fdd35
+Author: Andrew Mortensen <[email protected]>
+Date:   Mon Aug 20 22:22:44 2012 -0400
+
+    Fix [SIPR-688]: deadlock on BYE.
+
+commit 79f7cbf4d301f90e750d94cceebba6a3a87a293f
+Author: Andrew Mortensen <[email protected]>
+Date:   Mon Aug 20 17:21:41 2012 -0400
+
+    Use new sca_appearance owner and dialog update routines.
+
+commit 8ec690991cd04bd8e2a343e16cd951e19ed60eac
+Author: Andrew Mortensen <[email protected]>
+Date:   Mon Aug 20 17:17:49 2012 -0400
+
+    Add sca_appearance_update_owner_unsafe & sca_appearance_update_dialog_unsafe
+
+commit a03b6671398707c0f1f8fe4c0b187109b8a4b1bd
+Author: Andrew Mortensen <[email protected]>
+Date:   Mon Aug 20 17:13:17 2012 -0400
+
+    Replace dialog in appearance on held call pickup.
+    
+    Known bugs: [SIPR-689]
+
+commit c7f7971fca82f2267cfff732c3d525af1af15938
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Mon Aug 20 09:30:53 2012 +0200
+
+    nathelper(k): documented keepalive_timeout parameter
+
+commit 962fbef66a67c8c4ddf815e492b1f192a50339e7
+Merge: af16e04 ac45478
+Author: Peter Dunkley <[email protected]>
+Date:   Sun Aug 19 22:38:13 2012 +0100
+
+    Merge branch 'master' into outbound
+    
+    Conflicts:
+    	pkg/kamailio/fedora/16/kamailio.spec
+
+commit ac45478f8bc32a806edb80874bf8c5e3d5342707
+Author: Peter Dunkley <[email protected]>
+Date:   Sun Aug 19 22:30:49 2012 +0100
+
+    pkg/kamailio/fedora: Updated rel in .spec to dev3
+
+commit af16e04d837008e5158f3f0bc9f175b0fc02a08a
+Author: Peter Dunkley <[email protected]>
+Date:   Sun Aug 19 22:15:58 2012 +0100
+
+    modules_k/outbound: Renamed nat_uac_test() in this module to ob_nat_uac_test()
+    
+    - That way it shouldn't conflict with nathelper:nat_uac_test() if both modules
+      are loaded.
+
+commit 61674b59c6b14aded58fcd9801370b3648f9d21c
+Author: Peter Dunkley <[email protected]>
+Date:   Sun Aug 19 20:47:43 2012 +0100
+
+    modules_k/outbound: Started to fill in function that determines whether Outbound is required
+
+commit 8bc7114c6a915985ca2f4e9ab50ea608437c7256
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Sun Aug 19 21:29:06 2012 +0200
 
-2006-01-30 09:54  andrei
+    core: rephrased debug message about no 2nd via in reply
 
-	* error.c:  - E_CANCELED again (it seems I keep forgetting all the
-	  files I've changed :-))
+commit 23e3258e3cb3c025c79570bcfe8395e92645fb16
+Author: Peter Dunkley <[email protected]>
+Date:   Sun Aug 19 20:20:54 2012 +0100
 
-2006-01-30 09:51  andrei
+    modules_k/outbound: Added nat_uac_outbound and tidied up module stub
 
-	* error.h:  - added missing E_CANCELED def
+commit 7376222d183d8122ef64467eae2d8d8dfdc6bc47
+Author: Peter Dunkley <[email protected]>
+Date:   Sun Aug 19 20:18:51 2012 +0100
 
-2006-01-29 13:31  tma0
+    modules_k/nathelper: Moved code for nat_uac_test into header files
+    
+    - This is to enable the code to be directly included into other modules and
+      used without requiring nathelper to be loaded.
+    - Specifically, this will be used with Outbound where the nat_uac_test()
+      will be helpful for Outbound-based NAT traversal, but there should be no
+      need to load nathelper too.
 
-	* modules/flatstore/flatstore_mod.c: - "strlen(flat_escape) > 1"
-	  fix
+commit 36845cc575f36a62d88b0e10826c04d63edbd536
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Sun Aug 19 13:01:36 2012 +0200
 
-2006-01-28 15:34  mma
+    usrloc(k): keep time of the last keepalive for natted UDP contacts
+    
+    - new field in the contact structure to keep the timestamp when that
+      conctact was refreshed by keepalive or registration update
+    - it is taken in cosideration to remove contacts that don't reply to nat
+      ping requests, so it works only together with nathelper module
+    - when an UDP contact is not resposive for an interval of time, the
+      contact is set to expire is 10 seconds. This process takes place in
+      the function that fetches the list of contacts for nat pinging
+    - last_modified and last_keepalive are exported to mi and rpc list
+      commands
 
-	* modules/rr/avp_cookie.c: uninitialized variable used
+commit a308226ced8b9807ee91f8e24c72d778e5a62e86
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Sun Aug 19 12:56:24 2012 +0200
 
-2006-01-28 14:37  janakj
+    nathelper(k): hanlde sip ping replies
+    
+    - new parameter 'keepalive_timeout' to detect if a contact does not
+      reply to sip ping requests
+    - default is 0 (feature disabled) - it should be few times more than
+      natping_interval
 
-	* modules/cpl-c/: cpl_rpc.c, cpl_loader.h: - fixed gcc warning
+commit c8421620772184d28fd5b08d09b1e64cf0a8866a
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Sun Aug 19 12:52:51 2012 +0200
 
-2006-01-28 14:12  janakj
+    core: added q_memrchr(...)
+    
+    - reverse search for char in a buffer
 
-	* Makefile: - excluded tls module from compilation by default
+commit 98301c7e11d4bef786abbd3329287144df02184f
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Sun Aug 19 09:48:42 2012 +0200
 
-2006-01-28 14:11  janakj
+    core: typedef'ed enum request_method to request_method_t
+
+commit a2b8e55aa3f5d939d396270d47c3182bc840070d
+Author: Andrew Mortensen <[email protected]>
+Date:   Thu Aug 16 16:27:57 2012 -0400
+
+    Fix [SIPR-683]: append appearance-uri to call-info NOTIFYs
+
+commit dbc44c00534b8c34dc8a39dd2d9d931a2cd2d4ff
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Thu Aug 16 22:26:17 2012 +0200
+
+    tm: removed inexistent function from docs
+    
+    - append_branch()/t_fork() does not exist in tm anymore
 
-	* modules/fifo/: fifo.c, fifo_server.c: - removed unused variables
-	  and fixed compiler warnings - added missing mod_destroy
+commit e159eb090c9355431aa1e69a9d1dc622eb94cd89
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Thu Aug 16 20:24:28 2012 +0200
+
+    pv: new pv class $version(key)
+    
+    - return attributes of the software version
+    - key can be:
+    	- num - return version number
+    	- full - return all version string
+    	- hash - return git hash code and status
+
+commit 5a9340a2309e7689da4d34eeeef12b0bed2f6e09
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Thu Aug 16 20:24:02 2012 +0200
+
+    core: added pv_get_strzval(...) helper function for pv
+
+commit e5b1b1ec11406cb91eb809d618b132bf8a5f808a
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Thu Aug 16 18:18:04 2012 +0200
+
+    Makefile.defs: version set to 3.4.0-dev3
+
+commit 8a7a06f4d9c78f6da0558806d988c817fd6d0018
+Author: Iñaki Baz Castillo <[email protected]>
+Date:   Thu Aug 16 16:17:51 2012 +0200
+
+    Process CANCEL before in-dialog requests. This prevents issues with some devices sending buggy CANCEL with To-tag when cancelling an initial INVITE.
+
+commit d661028060369e702f5882b6492040bd71fb900a
+Author: Iñaki Baz Castillo <[email protected]>
+Date:   Thu Aug 16 16:13:50 2012 +0200
+
+    Add Record-Route for in-dialog NOTIFY as per RFC 6665.
+
+commit 776dcfd081910b9fabbee7cbe0c483e25d1dcfc8
+Author: Andrew Mortensen <[email protected]>
+Date:   Thu Aug 16 01:37:13 2012 -0400
+
+    Call hold + pickup from another handset is now working.
+    
+    A bunch of changes (with a lot of redundancy) for this:
+        sca_call_info_is_line_seize_reinvite()
+        sca_call_info_seize_held_call()
+        sca_call_info_header_remove() now working
+        RURI rewrite, drop branches
+        lots of debugging messages that can be removed later
+
+commit 80f5d1e048363a4a2d05bb561fdd5c9706135c47
+Author: Andrew Mortensen <[email protected]>
+Date:   Thu Aug 16 01:29:13 2012 -0400
+
+    Add dset.h for branch manipulation and ruri_mark_new()
 
-2006-01-28 14:11  janakj
+commit 4a0acc450620fefad49e679131790339e4ffbea7
+Author: Andrew Mortensen <[email protected]>
+Date:   Thu Aug 16 01:28:21 2012 -0400
 
-	* modules/usrloc/ul_rpc.c: - removed unused variables
+    Add sca_dialog_create_replaces_header.
 
-2006-01-28 14:11  janakj
+commit 22fd70a90607d90ebdabab65e6da3d5d7e0f5aeb
+Author: Andrew Mortensen <[email protected]>
+Date:   Thu Aug 16 01:27:09 2012 -0400
 
-	* modules/pike/pike.c: - removed unused label
+    sca_appearance_update_unsafe now updates index owner and callee.
+    
+    Add missing check for failed pkg_malloc, too.
 
-2006-01-28 14:10  janakj
+commit e1149b05868b918d0bc52b2d46bb02f7799358db
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Wed Aug 15 13:01:43 2012 +0200
 
-	* modules/ratelimit/ratelimit.c: - fixed function definition
-	  conflict
+    dispatcher(k): corrected setid_pvname parameter name
+    
+    - readme listed it as setid_pvar, the source code expected setid_pvname
+    - reported by Dan B.
 
-2006-01-28 13:34  janakj
+commit be05dfc0f4af62f9c368960fe75a810548be8b87
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Wed Aug 15 12:48:32 2012 +0200
 
-	* modules/tls/: Makefile, README.TLS, fixed_c_zlib.h, tls_domain.c,
-	  tls_domain.h, tls_init.c, tls_init.h, tls_mod.c, tls_mod.h,
-	  tls_select.c, tls_select.h, tls_server.c, tls_server.h,
-	  tls_util.h, tls_verify.c, tls_verify.h: Preliminary TLS module
-	  (requires core patch which is attached), the module contains: -
-	  Many bugfixes and better implementation of tls_write and tls_read
-	  by Andrei - openssl compression fix by Andrei - extended tls
-	  multi-domain support (most parameters can be configured   to
-	  different values in different domains) - support for outgoing
-	  domains (not complete) - support for certificate based
-	  authentication through selects   ( if @tls.peer == "Bob") ...  -
-	  the tls code is merge of experimental/tls and Andrei's tls to get
-	  best of both
+    dispatcher(k): corrected the variable which is set by ds_is_from_list()
+    
+    - setid_pvar is used instead of grp_avp
+    - reported by Dan B.
 
-2006-01-27 20:24  janakj
+commit 91d6d3c8a1484b23ff74f0cfd6356447985455a5
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Tue Aug 14 22:18:50 2012 +0200
 
-	* modules/: acc_db/acc_db.c, acc_radius/acc_radius.c,
-	  acc_syslog/acc_syslog.c, acc_syslog/attrs.h: - added missing
-	  attribute handling
+    acc(k): added notes about dynamic table name for db acc to docs
 
-2006-01-27 19:47  andrei
+commit 95ee0a3ee75556a25f3a9286837a57decf6c3c91
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Tue Oct 12 14:52:07 2010 +0200
 
-	* Makefile.defs, modules/tm/h_table.h, modules/tm/t_fwd.c,
-	  modules/tm/t_lookup.c, modules/tm/t_lookup.h:
-	  - cancel before invite fix attempt (experimental, treat with
-	  care)  This fix should handle delayed INVITEs (due to network or
-	  script), that arrive	 after the CANCEL. The INV transaction will
-	  be created (it's needed for the    reply) but immediately
-	  canceled.
+    acc(k): table name for db acc can be dynamic
+    
+    - you can include variables in table name and will be evaluated at
+      runtime:
+        modparam("acc", "db_table_acc", "acc_$time(year)_$time(mon)")
+      will write now to table acc_2010_10
+    - same can be done for missed_calls table name
+    - second parameter of acc_db_request() supports as well config variables
+    (cherry picked from commit e8f6a95d43b6a4340cf7e97213af5c71fa2a69e9)
 
-2006-01-27 19:33  andrei
+commit cff481736a3d62cd633077653ba52c00112b2333
+Author: Andrew Mortensen <[email protected]>
+Date:   Tue Aug 14 13:07:30 2012 -0400
 
-	* route.c:  - fixed comp_avp returning values != 0 , 1 or -1
-	  (error)
+    Add sca_get_msg_method.
+    
+    Simplify method checks for requests/responses.
 
-2006-01-27 19:18  mma
+commit e22e5f83115d9f1e33c27ae437d93d7701330a8c
+Author: Peter Dunkley <[email protected]>
+Date:   Tue Aug 14 15:53:07 2012 +0100
 
-	* modules/avp/avp.c: avp_subst introduced  - usage:
-	  avp_subst("avpname", "/match/replace/flags");  - uses subst_str
-	  from the core (re.c)
+    modules_k/rls: Fixed incorrect table version check
+    
+    - Found by Hugh Waite @ Crocodile RCS
 
-2006-01-27 14:09  janakj
+commit de8b241ea39284cce4c7e1850fcf3cef4c4c4a0a
+Author: Peter Dunkley <[email protected]>
+Date:   Tue Aug 14 15:52:37 2012 +0100
 
-	* modules/auth/: auth_mod.c, challenge.c, challenge.h: -
-	  www_challenge and proxy_challenge with only one parameter (qop)
-	  realm is taken either from an avp or sip message
+    modules_k/rls: Fixed memory leak in rls under some error conditions
+    
+    - Found and fixed by Hugh Waite @ Crocodile RCS
 
-2006-01-27 10:53  janakj
+commit f9c5c389b2412d23f1fdd35c6e97dfe7dbe44811
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Tue Aug 14 11:19:08 2012 +0200
 
-	* modules/xmlrpc/xmlrpc.c: - support for @xmlrpc.method
+    pkg/kamailio/rpm: execute 'success' for start operation
+    
+    - reported by Andre
 
-2006-01-27 10:52  janakj
+commit b215201ca00712ef3cf1af9e2d46111ac39cd671
+Author: Peter Dunkley <[email protected]>
+Date:   Tue Aug 14 09:19:49 2012 +0100
 
-	* globals.h, main.c, tcp_main.c: - child_rank variable introduced
-	  to make parameter value to init_child more   predictable (needed
-	  especially in no fork mode)
+    pkg/kamailio/(centos|fedora): updated CentOS/Fedora build to add Outbound module stub
 
-2006-01-25 19:08  andrei
+commit c9b45176a1e3a55820c98f4907927ee217007e2e
+Author: Peter Dunkley <[email protected]>
+Date:   Tue Aug 14 09:17:16 2012 +0100
 
-	* Makefile:  - ser_mysql.sh path fixed
+    Makefile: added Outbound stub module
 
-2006-01-25 10:46  hscholz
+commit 82de81e6becd747f84f67b360c510e3edbeeedf3
+Author: Peter Dunkley <[email protected]>
+Date:   Tue Aug 14 09:15:51 2012 +0100
 
-	* modules/ratelimit/: Makefile, README, ratelimit.c, doc/Makefile,
-	  doc/fifo.xml, doc/functions.xml, doc/params.xml,
-	  doc/ratelimit.xml: initial import of the ratelimit module
+    modules_k/outbound: added stub module for Outbound
 
-	  The ratelimit module implements rate limiting for SIP requests.
-	  In contrast to the PIKE module this limits the flow based on a
-	  per SIP request type basis and not per source IP. The XML-RPC
-	  interface can be used to change tunables while running SER.
-	  Currently supported requests are INVITE, REGISTER and SUBSCRIBE.
+commit 7d80fd2b6f4eb5b5edff2a6c580010760cc07747
+Author: Andrew Mortensen <[email protected]>
+Date:   Tue Aug 14 00:26:50 2012 -0400
 
-2006-01-24 19:28  andrei
+    Fix [SIPR-677]: NOTIFYs go to answering SCA group too early.
+    
+    Register a callback for ACKs following 200 OK replies to INVITE (TMCB_E2EACK_IN).
+    Check to see if the To-URI is a shared appearance AoR, and NOTIFY if it is.
 
-	* modules/nathelper/nathelper.c: - crash fix for rtp proxy goes
-	  down during rtpp_test  VF query
+commit bf6addd45db22b038fd698ab538416b0b18b16cb
+Author: Andrew Mortensen <[email protected]>
+Date:   Tue Aug 14 00:19:15 2012 -0400
 
-2006-01-20 19:27  sobomax
+    Add tm_load.h for tm module API.
 
-	* modules/usrloc/ucontact.c: When inserting/updating contacts in
-	  the DB make sure to not overflow column limit for user_agent,
-	  contact and callid columns. Otherwise the UA can cause DoS by
-	  sending (intentionally or not) value exceeding column limit in
-	  any of the corresponding header fields. It is also probably an
-	  issue with error-handling (or lack of thereof) in particular DB
-	  backends, but on 0.9.3 with postgresql backend such unchecked
-	  insert causes segfault.
+commit cf6f490058a24f228dc72b82166cdda52d36488b
+Author: Andrew Mortensen <[email protected]>
+Date:   Tue Aug 14 00:18:26 2012 -0400
 
-2006-01-20 16:24  janakj
+    Invoke sca_appearance_register when saving a subscription.
+    
+    Ensures an sca_appearance_list for the subscribing AoR exists in the
+    appearances hash table.
 
-	* cfg.y: - accidental commit of local unfinished changes reverted
+commit e6cbeaf209fec63a6b677e192547710825c5f964
+Author: Andrew Mortensen <[email protected]>
+Date:   Tue Aug 14 00:17:40 2012 -0400
 
-2006-01-20 12:19  janakj
+    Added sca_appearance_register.
+    
+    Ensures an sca_appearance_list for SUBSCRIBE-ing AoRs exists in the
+    appearances table.
 
-	* parser/: msg_parser.h, parse_fline.c, parse_fline.h: - support
-	  for REGISTER,SUBSCRIBE, and NOTIFY - removed code not being used
-	  (cvs history should be enough)
+commit f43e4c36cf67635c697af88ef510d26454298951
+Author: Andrew Mortensen <[email protected]>
+Date:   Tue Aug 14 00:17:09 2012 -0400
 
-2006-01-20 11:44  janakj
+    Moved tm_load.h header to sca_common.h
 
-	* modules/auth_db/authdb_mod.c: - keep www_authorize and
-	  proxy_authorize for backward compatibility
+commit 4f243623e1c379f3ea5d0aa76396cd7b8c3610a9
+Author: Andrew Mortensen <[email protected]>
+Date:   Tue Aug 14 00:16:23 2012 -0400
 
-2006-01-20 11:42  janakj
+    Notes on moving entirely to using tm module callbacks.
 
-	* cfg.y: - Added missing ;, reported by Hendrik Scholz
+commit dfbb0af56aec99e3c76476bba16c54cf0d7d928f
+Author: Peter Dunkley <[email protected]>
+Date:   Mon Aug 13 22:46:49 2012 +0100
 
-2006-01-19 20:44  mma
+    modules/websocket: removed another magic number
 
-	* cfg.y, select.c, select.h, select_core.c, select_core.h: -
-	  multiple nested calls allowed - default MAX_NESTED_CALLS set to 4
-	  (select was supposed to be fast :-) - IS_ALIAS renamed to NESTED
-	  flag - DIVERSION flag is processed at resolve_select
+commit 8d3eec4f8fbfb2d037e09b80c5d45b5fc400f729
+Author: Peter Dunkley <[email protected]>
+Date:   Mon Aug 13 21:55:37 2012 +0100
 
-2006-01-19 11:29  tma0
+    modules/websocket: Replaced magic number
 
-	* route_struct.h: -changed "str str" declaration to "struct _str
-	  str" to make gcc happy when compiling with "-x c++" options
-	  (required when a module uses c++ .h files)
+commit d7fc85a606d4d2ab79f0afce99e30eff1144f9f1
+Author: Andrew Mortensen <[email protected]>
+Date:   Mon Aug 13 14:57:25 2012 -0400
 
-2006-01-19 07:56  kubartv
+    Notes regarding use of tm module callbacks to handle ACKs
 
-	* lib/presence/pidf.c: Corrected BUG in PIDF document parsing - now
-	  it allows documents without <basic> status element. Such
-	  documents will be parsed as if the basic status is closed.
-	  (reported by Yi Zheng)
+commit 8ae135a34433054a3871cdebaeb79c5c62290761
+Author: Andrew Mortensen <[email protected]>
+Date:   Mon Aug 13 14:26:00 2012 -0400
 
-2006-01-18 15:00  janakj
+    Split INVITE handler into dedicated functions, myriad other changes.
+    
+    Implement SLCB_REPLY_READY callback function to catch proxy-generated
+    errors from e.g. sl_reply, which doesn't hit the onreply_route.
+    
+    Fixes for [SIPR-665], [SIPR-668], [SIPR-669], [SIPR-670] and [SIPR-673].
 
-	* modules/xmlrpc/xmlrpc.c: - xmlrpc_reply script command
+commit 57905957db810e6b2a2cdb6279d0840c1ab9363c
+Author: Andrew Mortensen <[email protected]>
+Date:   Mon Aug 13 14:24:35 2012 -0400
 
-2006-01-13 00:05  janakj
+    Hook sl module's SLCB_REPLY_READY to detect proxy-generated errors.
 
-	* modules/cpl-c/cpl.c: - missing parameter added
+commit 9f1d0920e7f370f655007818e9fc8d97a2505849
+Author: Andrew Mortensen <[email protected]>
+Date:   Mon Aug 13 14:22:46 2012 -0400
 
-2006-01-11 16:09  janakj
+    Extend sca_subscription_terminate to take options.
+    
+    Allows caller to unsubscribe, or unsubscribe and drop released line.
 
-	* doc/stylesheets/dbschema/xsl/postgres.xsl,
-	  scripts/postgres/pg_create.sql, scripts/postgres/ser_postgres.sh:
-	  - fixed missing parts in ser_postgres.sh
+commit 87742f9cd82a7da2da2cab59ea4e6338c76fa3c0
+Author: Richard Fuchs <[email protected]>
+Date:   Mon Aug 13 13:10:37 2012 -0400
 
-2006-01-11 16:07  janakj
+    modules/lcr, modules_k/regex: Fix stack overflow from pcre_fullinfo(PCRE_INFO_SIZE)
+    
+    Fix instances where pcre_fullinfo(PCRE_INFO_SIZE) was given only an "int"
+    argument, which results in stack overflow on some 64-bit platforms where
+    an "int" is only 32 bits long. It expects a "size_t" argument, which is
+    64 bits long.
 
-	* modules/domain/domain_rpc.c: - fixed bug in management functions
-	  in db_mode 0 (reported by Karel Kozlik)
+commit 65dcb2d0e72757d51b0ee51c457c5440278444bc
+Author: Peter Dunkley <[email protected]>
+Date:   Mon Aug 13 15:50:05 2012 +0100
 
-2006-01-11 13:53  kozlik
+    modules_k/rls: Added DB transaction code around rls_presentity insert/replace
 
-	* db/schema/attr_types.xml, scripts/dbtext/ser_db/attr_types,
-	  scripts/mysql/my_create.sql, scripts/oracle/or_create.sql,
-	  scripts/postgres/pg_create.sql: added attribute "sw_require_conf"
+commit c9628aa038ad7099a72af67f9284e5d0a9b78173
+Author: Peter Dunkley <[email protected]>
+Date:   Mon Aug 13 15:49:09 2012 +0100
 
-2006-01-11 12:54  janakj
+    modules_k/rls: Fixed memory leak in rls
+    
+    - Issue fixed by Paul Pankhurst and Peter Dunkley @ Crocodile RCS
 
-	* parser/hf.h: - comment fixed
+commit 5387288eac896a0710fb1c55cc4837e973e04946
+Author: Peter Dunkley <[email protected]>
+Date:   Mon Aug 13 15:48:18 2012 +0100
 
-2006-01-11 12:53  janakj
+    modules_k/pua: Fixed double-free in pua
 
-	* modules/: fifo/fifo.c, sl/sl.c, tm/tm.c: - use process no. 1
-	  instead of PROC_MAIN
+commit b5132f217f521872fb0a6a4ab215443a700bab6f
+Author: Peter Dunkley <[email protected]>
+Date:   Mon Aug 13 15:45:20 2012 +0100
 
-2006-01-11 00:17  janakj
+    modules_k/usrloc: Downgraded a WARN to INFO
+    
+    - When Kamailio loads a contact binding whose socket is not local a
+      warning is printed.  Unfortunately, this happens a lot on multi-server
+      systems and it is not something to worry about.
+    - The end result is a huge number of warnings that swamps log messages
+      relating to real problems.
+    - So downgrading to INFO.
 
-	* modules/tm/sip_msg.c: - fixed problem with diversion cloning
-	  reported by Adrian Georgescu and   Dan Pascu - added support for
-	  HDR_SIPIFMATCH_T - enumerated all header field types and removed
-	  default case, this will   force the compiler to generate warning
-	  for new header field types not   added to tm module message
-	  cloner
+commit f3123f3a567d16ed84635bf1bb3cb7df900e4a66
+Author: Andrew Mortensen <[email protected]>
+Date:   Fri Aug 10 01:56:24 2012 -0400
 
-2006-01-10 23:25  janakj
+    Removed sca_unsubscribe_line_seize export.
 
-	* modules/usrloc/: ucontact.c, ul_mod.c, ul_mod.h, urecord.c,
-	  doc/params.xml: - added READONLY mode support by   Hendrik Scholz
-	  <[email protected]>
+commit ed1c6f28cfddcebb2afe7dc983afaffe401ab6b6
+Author: Andrew Mortensen <[email protected]>
+Date:   Fri Aug 10 01:55:46 2012 -0400
+
+    Removed unusued exported sca_unsubscribe_line_seize function.
+
+commit 1eb761515c6abb5cda4771c297401e62b81c5d12
+Author: Andrew Mortensen <[email protected]>
+Date:   Fri Aug 10 01:39:37 2012 -0400
+
+    sca_subscription_terminate doesn't care if a subscription exists.
+    
+    It now returns early if there's no subscription to terminate.
+    Increment NOTIFY Cseq for line-seize subscription before sending
+    terminating packet.
+
+commit b36730323a3f8d7c7973fb9438abe29508597233
+Author: Andrew Mortensen <[email protected]>
+Date:   Fri Aug 10 01:35:36 2012 -0400
+
+    Add sca_appearance_seize_next_available_unsafe.
+    
+    Used in INVITE 200 reply handler to seize and make active the SCA
+    callee's appearance-state.
+
+commit 2a840c67a35c4e06bc5c362e2e28cb42de216552
+Author: Andrew Mortensen <[email protected]>
+Date:   Fri Aug 10 01:30:44 2012 -0400
+
+    Fix [SIPR-663]: handle Contact-less BYEs. Add sca_uri_extract_aor.
+    
+    The raw URI from the To header body frequently contains a parameter
+    list. We only use AoRs to do lookups.
+
+commit e32fdffcdeedf1e0d0399d883e2029e4ef093844
+Author: Andrew Mortensen <[email protected]>
+Date:   Thu Aug 9 16:37:16 2012 -0400
+
+    Updated NOTES re: seizing held line from another handset.
+
+commit f61295a91bb92645ea46dea5f6101232afeb720d
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Thu Aug 9 16:14:43 2012 +0200
+
+    usrloc(k): safety check for raw_query
+    
+    - db get all contacts functions requires raw_query, but not all db
+      modules implement it
+
+commit e154b2fb9f02d56d9c6a4b2d285791151ae0c8a3
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Thu Aug 9 08:50:20 2012 +0200
+
+    rr(k): fixed offset in building new route header
+    
+    - related to the previous fix done to strict routing intermediary hop
+
+commit e009f06789c73860428a42c92ee3d8e1f3079831
+Author: Andrew Mortensen <[email protected]>
+Date:   Wed Aug 8 23:22:10 2012 -0400
+
+    Add sca_uri_is_shared_appearance.
+    
+    Remove a few debugging lines.
+
+commit 94534adda00e8c47a45f01ba824b9bd238293274
+Author: Jon Bonilla <[email protected]>
+Date:   Thu Aug 9 00:20:57 2012 +0200
+
+    pkg/deb wrap and sort debian control
+    
+    This makes it easier to track the dependency
+    changes for version control systems and diff logs
+    
+    Credits to Michael Prokop [email protected]
+
+commit ae8f15dcdea73156dbc704bc46908b76ba174393
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Wed Aug 8 20:27:17 2012 +0200
+
+    nathelper(k): use usrloc ruid and aorhash to build from tag of SIP keepalives
+    
+    - update due to last change in usrloc get all records API function
+    - these values can be used to identify the usrloc records (e.g., upon
+      handling the SIP keepalive reply)
+
+commit 7b863271880a643d72b506975faa0669d2ca268a
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Wed Aug 8 20:24:09 2012 +0200
+
+    usrloc(k): return ruid and aor hash in get all contacts API functions
+    
+    - these records are used to send NAT keepalives
+    - aor hash is set to 0 if db_mode is DB_ONLY, it is not stored in
+      database
+
+commit c1240aa21a534f1c1a5bdaaebd9c29fe4984a4bb
+Author: Peter Dunkley <[email protected]>
+Date:   Wed Aug 8 12:05:44 2012 +0100
+
+    modules_k/rls: Fixed memory leak in RLS
+    
+    - Leak only happens when there is more than one Record-Route: header
+    - Fixed by Hugh Waite @ Crocodile RCS
+
+commit 58b22e62ea360c38574ad5ef2a031bb9413807fa
+Author: Peter Dunkley <[email protected]>
+Date:   Wed Aug 8 10:14:57 2012 +0100
+
+    modules_k/snmpstats: Added defines for WebSocket transport
+    
+    - There are no specific stats for WebSocket connections here (just
+      as there are none for SCTP), but the defines are there as place-
+      holders.
+
+commit 6eb7414bc7e6f2027d49d5b01462e565ae4a93a1
+Author: Peter Dunkley <[email protected]>
+Date:   Wed Aug 8 10:10:42 2012 +0100
+
+    modules_k/seas: Added WebSocket transport support
+    
+    - Note: seas doesn't seem to compile at the moment, but I think the
+      four lines added for WebSockets are OK...
+
+commit e1848d9c7fcaa04e785fe39365abd90b3c075f2f
+Author: Peter Dunkley <[email protected]>
+Date:   Wed Aug 8 10:08:33 2012 +0100
+
+    modules_k/nat_traversal: Added WebSocket transport support
+
+commit f96e6005eb5a071ec25c9ab3174c4150223448cd
+Author: Peter Dunkley <[email protected]>
+Date:   Wed Aug 8 09:59:59 2012 +0100
+
+    modules/lcr: Added WebSocket transport to lcr
+    
+    - LCR won't use a WebSocket gateway (this doesn't make sense), but
+      PROTO_(WS|WSS) has been added to some switch statements to catch
+      misconfiguration and get rid of compiler warnings.
+
+commit c7a9b1ed48631952f286d312721e8c45dde05ca1
+Author: Peter Dunkley <[email protected]>
+Date:   Wed Aug 8 09:49:13 2012 +0100
+
+    modules_k/path: Added WebSocket transport support to Path module
+
+commit 6f928a54d137e2e08ccc1a278afb04b40e34307f
+Author: Peter Dunkley <[email protected]>
+Date:   Tue Aug 7 23:38:18 2012 +0100
+
+    modules/websocket: Added new event_route[websocket:closed] which is run when a WebSocket connection is closed
+    
+    - Also changed ws_handle_handshake() to return 1 on success (still 0 on all
+      errors as they are handled - and the correct responses sent - within the
+      function).
+
+commit eaf81de37baac269135cac55ab4fd42d3b72e045
+Author: Andrew Mortensen <[email protected]>
+Date:   Tue Aug 7 16:46:52 2012 -0400
+
+    Detect call hold INVITEs & update state. Handle Call-Info in BYE replies.
+    
+    Blinking lights on hold! Consultative & blind xfers work!
+
+commit 68a3cbd66187460aafa84c8ce6a1f2190aa27a62
+Author: Andrew Mortensen <[email protected]>
+Date:   Tue Aug 7 16:26:33 2012 -0400
+
+    Add sca_appearance_state_for_index.
+    
+    Convenient for looking up appearance based on line-seize subscription info.
+
+commit 9347715a2f5ac4f847e45d1412bab48cacbf0b17
+Author: Andrew Mortensen <[email protected]>
+Date:   Tue Aug 7 16:25:43 2012 -0400
+
+    Only NOTIFY on line-seize subscription expiration if state is "seized"
+
+commit d8bcf925501f883ebab79d45e75aee5ef9042cca
+Author: Andrew Mortensen <[email protected]>
+Date:   Tue Aug 7 16:23:28 2012 -0400
+
+    Add sca_call_is_held to detect whether call is on hold.
+    
+    Uses parser/sdp/sdp.h; very similar to modules_k/textops's is_audio_on_hold.
+
+commit aacd6d6cc854d995c26080687d2e97e17ea04d10
+Author: Victor <[email protected]>
+Date:   Mon Aug 6 09:25:32 2012 +0200
+
+    fix typo errors on binaries.
+
+commit b9d082fbbaf16faadccb45dcf89f05c910d93b61
+Author: Andrew Mortensen <[email protected]>
+Date:   Mon Aug 6 16:27:35 2012 -0400
+
+    Fix reply handling, add CANCEL handler, handle BYEs from non-SCA lines
+    
+    Add some debugging messages.
 
-2006-01-10 23:16  janakj
+commit f728283da3473a80e65a9d32c36d0a5dc580a3cb
+Author: Andrew Mortensen <[email protected]>
+Date:   Mon Aug 6 16:26:06 2012 -0400
 
-	* doc/stylesheets/dbschema/xsl/postgres.xsl: - support for grant
-	  statement
+    Fix implementation by pointing dialog members to correct offsets.
+
+commit e94074a009c275dacb5d9c0aee03ae04ce4c7d25
+Author: Andrew Mortensen <[email protected]>
+Date:   Mon Aug 6 16:24:14 2012 -0400
+
+    Add sca_appearance_unlink_by_tags.
+    
+    Allow unlinking from appearance list by dialog. Useful when handling
+    requests/responses from non-SCA lines to SCA lines. sca_appearance
+    struct is now aware of its appearance list to make this possible.
 
-2006-01-10 23:16  janakj
+commit a66be990168739acfa9dd7e2b99f22fed61fc2ec
+Author: Peter Dunkley <[email protected]>
+Date:   Sun Aug 5 16:45:04 2012 +0100
 
-	* modules/dbtext/dbt_api.c, modules/dbtext/dbt_file.c,
-	  modules/dbtext/dbt_res.c, modules/dbtext/dbt_tb.c,
-	  modules/dbtext/dbtex/dbtex.c, modules/flatstore/flatstore.c,
-	  modules/mysql/res.c, modules/mysql/val.c,
-	  modules/postgres/db_mod.c, modules/postgres/dbase.c,
-	  modules/postgres/res.c, modules/usrloc/ucontact.c, db/db_val.h: -
-	  DB_FLOAT support - fixed error in params_add in postgres module
+    pkg/kamailio/fedora/17: Fixed problem with appliances
 
-2006-01-10 23:14  janakj
+commit 9fc34aad6328a92b7572ae077d9ff4d2699dbb48
+Author: Alex Balashov <[email protected]>
+Date:   Sun Aug 5 08:22:12 2012 -0400
 
-	* scripts/mysql/my_create.sql, scripts/oracle/or_create.sql,
-	  scripts/postgres/pg_create.sql, scripts/postgres/pg_drop.sql,
-	  scripts/postgres/ser_postgres.sh, db/schema/acc.xml,
-	  db/schema/credentials.xml, db/schema/missed_calls.xml,
-	  db/schema/sd_attrs.xml: - make index name unique - added missing
-	  index name
+    core: Added null pointer check to parser/msg_parser.c:get_hdr_field().
+    
+    Encountered crash bug in which 'buf' pointer passed to get_hdr_field()
+    was null.  There is no null check, so attempts to dereference it lead to
+    a crash:
+    
+    Core was generated by `/usr/local/sbin/kamailio -P /var/run/kamailio.pid -m 1024 -u root -g root -f /r'.
+    Program terminated with signal 11, Segmentation fault.
+        at parser/msg_parser.c:102
+    102		if ((*buf)=='\n' || (*buf)=='\r'){
+    
+    Fixed by adding a check for buf == NULL to top of function.
+
+commit 49f25c402871a619404b61e29ff496c71daad8be
+Author: Peter Dunkley <[email protected]>
+Date:   Fri Aug 3 14:39:49 2012 +0100
+
+    modules_k/rls: Fixed segmentation fault in RLS
+    
+    - Fix by Paul Pankhurst @ Crocodile RCS
+
+commit 5c83492470e8d1a706933915fcfbf6cfe2e0fd55
+Author: Peter Dunkley <[email protected]>
+Date:   Fri Aug 3 14:38:49 2012 +0100
+
+    modules_k/dispatcher: Dispatcher reload MI command not returning errors correctly
+    
+    - Fix by Hugh Waite @ Crocodile RCS
+
+commit 19aafcfc262c16f98793ef135900cd65fca44522
+Author: Peter Dunkley <[email protected]>
+Date:   Fri Aug 3 14:37:20 2012 +0100
+
+    modules/tm: Enhanced t_replicate so that if a NULL string is used it replicates to $du
+    
+    - Added by Hugh Waite @ Crocodile RCS
+
+commit 79a614ced2283264e3746cfcfd32fe4245f6496b
+Author: Peter Dunkley <[email protected]>
+Date:   Fri Aug 3 11:32:28 2012 +0100
+
+    pkg/kamailio/fedora/17: Fixed typo in appliance files
+
+commit 090be2532da73f51043f9ba5f4b221fe338d60fa
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Fri Aug 3 09:20:03 2012 +0200
+
+    rr(k): add missing '<' in Route header for strict routing
+    
+    - if next hop is strict router after loose routing, moving the r-uri to
+      last Route header was missing '<' in front of the address
+    - reported by Varsha Venkatraramani
+
+commit 0f0e2f0092beca6dc1e8eddaf5aaf85ebe839f3b
+Author: Andrew Mortensen <[email protected]>
+Date:   Thu Aug 2 15:59:54 2012 -0400
+
+    Add sca_get_msg_cseq_method
+
+commit b483b96c9b5519e20720a08132ead94dd56ee47e
+Author: Andrew Mortensen <[email protected]>
+Date:   Thu Aug 2 15:09:28 2012 -0400
+
+    Make Call-Info header detection case-insensitive.
+    
+    Net::SIP lowercases's initial character after hyphen in headers.
+
+commit 7a5c91b8b79c7599d8e81fe3a50a3c778f88592b
+Author: Andrew Mortensen <[email protected]>
+Date:   Thu Aug 2 12:18:15 2012 -0400
+
+    Update sca_appearance_update_unsafe call to match new prototype.
+
+commit baf11d677e14317385e7a63072d16d14efb04406
+Author: Andrew Mortensen <[email protected]>
+Date:   Thu Aug 2 12:16:16 2012 -0400
+
+    Initial (unsafe) non-locking appearance update routine.
+    
+    Only updates index, state, uri & dialog. TODO: owner, callee.
+
+commit ee464091c3506c6c977cba49fe5a310656d7e310
+Author: Andrew Mortensen <[email protected]>
+Date:   Thu Aug 2 12:03:40 2012 -0400
+
+    Initial work looking up SCA appearance by dialog, not Call-Info header.
+    
+    Required to process responses/requests from non-SCA lines.
+
+commit bcff862df5b937e3a6ff87e4415e0039fd989908
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Thu Aug 2 10:16:31 2012 +0200
+
+    core: added md5 wrapper functions to build with Colin Plumb's md5 code
+    
+    Author: Tzafrir Cohen <[email protected]>
+
+commit e6d912ad036aa92604ba3f2bf65cc4c4ba3e4d2f
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Thu Aug 2 10:13:00 2012 +0200
+
+    core: Use Colin Plumb's MD5 implementation
+    
+    Origin: http://anonscm.debian.org/gitweb/?p=dpkg/dpkg.git;a=summary
+    Author: Tzafrir Cohen <[email protected]>
+    
+    Borrowed the md5 code from dpkg instead of the existing md5.[ch]
+    
+    This makes the code compatible with Debian packing rules and
+    restrictions regarding license for distribution
 
-2006-01-10 16:41  tma0
+commit efa3099252ca5d200bef6ce71df33f33b55f9941
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Mon Jul 30 12:57:09 2012 +0200
 
-	* core_cmd.c: - core.shmmem command added
+    register(k): pack contact info based on header for searching existing ul records
+    
+    - not using the contact header resulted in omitting instance and reg-id
+      parameters, not following gruu/ob extensions, ending in duplicate
+      records for same +sip.instance
+    - reported by José Luis Millán
 
-2006-01-10 16:27  janakj
+commit a7cad776a514b0ec73a5c40b7971af8e0f0da92b
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Mon Jul 30 12:55:36 2012 +0200
 
-	* modules/sl/: sl.c, sl_stats.c, sl_stats.h: - make sl_stat
-	  initialization code aware of possible changes in   process_count
-	  value during the mod_init stage
+    usrloc(k): on ul update, re-clone uri and callid if instance is set
+    
+    - changes can happen when gruu/ob is enabled as the UA can get different
+      address for same instance
 
-2006-01-10 15:59  janakj
+commit 72942d8441e04c6f92c8072a373e1f0a9dcc0e61
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Mon Jul 30 11:18:28 2012 +0200
 
-	* modules/tm/: t_stats.c, t_stats.h, tm.c: - make tm_stat
-	  initialization code aware of possible changes in   process_count
-	  value during the mod_init stage
+    db_sqlite: added notes about usage in readme
+    
+    - based on content by Meftah Tayeb
 
-2006-01-10 01:28  tma0
+commit a4e2c43cd66a86bef2d8bda1b0ca0c6f93517a8d
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Fri Jul 27 13:14:53 2012 +0200
 
-	* main.c: - command line options have higher priority than
-	  configuration script (-m -f ,etc.) - -h options recognized even
-	  in "-f -h" construction
+    rtpproxy: allow pv as parameter to set_rtpproxy_set() function
 
-2006-01-09 20:42  tma0
+commit 9a1450d99accef8e473cf2324412fdfc09a7cd11
+Author: Juha Heinanen <[email protected]>
+Date:   Fri Jul 27 13:08:21 2012 +0300
 
-	* action.c, cfg.y, modparam.c, route.c, route_struct.c,
-	  route_struct.h, sr_module.c, sr_module.h,
-	  modules/avpops/avpops_impl.c, modules/cpl-c/cpl_sig.c,
-	  modules/exec/exec.c, modules/lcr/lcr_mod.c, modules/pdt/pdt.c,
-	  modules/permissions/trusted.c, modules/print/print.c,
-	  modules/textops/textops.c, modules/tm/tm.c: - rewritten module
-	  function parsing and call processing (mk_action, struct action,
-	  action_u_t) - API to get other fixup params from fixup - full
-	  function overloading - optional NUMBER/STRING param in config for
-	  module functions - added oveloaded functions to print_stdout
-	  (demostrates overloading)
+    modules/lcr:  improved documentation of lcr_count module param
 
-2006-01-09 11:24  ullstar
+commit 1c2cb66a8c9a4482ac278604f32bd772973a787f
+Author: Richard Fuchs <[email protected]>
+Date:   Thu Jul 26 09:41:26 2012 -0400
 
-	* modules/nathelper/nathelper.c: fixed: wrong fixup functions were
-	  used (str instead of int param).  caused unpredictable results.
+    modules/lcr: Fix printing of IPv4 addresses in lcr.dump_gws
+    
+    IPv4 addresses were printed incorrectly. Also add special handling for
+    null gw addresses and print them as 0.0.0.0 for backwards compatibility.
 
-2006-01-09 11:23  ullstar
+commit 4a61c692e69fad0e6788725a1e0b2c844607ed7e
+Author: Andrew Mortensen <[email protected]>
+Date:   Wed Jul 25 14:47:48 2012 -0400
 
-	* modules/uri_db/uridb_mod.c: uri_db now set's
-	  ('ruri_canonical','1') avp when loolup_user is called for
-	  Request-URI and the current uri is the canonical URI.
+    Implement sca_call_info_update and handler functions.
 
-2006-01-09 11:20  ullstar
+commit e278397916e0b31d7510a3ef324631fd0c0d7d97
+Author: Andrew Mortensen <[email protected]>
+Date:   Wed Jul 25 11:47:13 2012 -0400
 
-	* modules/uri_db/uridb_mod.c: fixed memory leak, make sure db
-	  result is freed
+    Improve subscription termination handling. Track appearance indexes.
+    
+    Release seized lines on subscription termination. Use updated constant.
+
+commit a2f99b96bebf7def0c9bc65f1d635679671c1798
+Author: Andrew Mortensen <[email protected]>
+Date:   Wed Jul 25 11:33:22 2012 -0400
+
+    Add unsafe (i.e., use only when locked) find and unlink functions.
+    
+    Reduce amount of locking done oer operation by acquiring lock once,
+    then using "unsafe" hash table functions.
+
+commit 1c0166538f51c94ee357df82a5c7b24f7a34fca5
+Author: Andrew Mortensen <[email protected]>
+Date:   Wed Jul 25 11:28:42 2012 -0400
+
+    Add sca_appearance_for_index_unsafe, sca_appearance_for_dialog.
+    
+    sca_appearance_update_index now updates dialog, too.
+
+commit 6d96f924f9888b7f432ba3f3e1cc5b6b294f0f9b
+Author: Andrew Mortensen <[email protected]>
+Date:   Wed Jul 25 11:22:42 2012 -0400
+
+    Use updated sca_appearance_update_index, constant name.
+
+commit 7adbb3bb212f20426ccdf8cfd10ef91359fbc87f
+Author: Andrew Mortensen <[email protected]>
+Date:   Wed Jul 25 11:20:24 2012 -0400
+
+    Export sca_call_info_update.
+    
+    Temporarily export sca_unsubscribe_line_seize.
+
+commit f8ca7820635567052d9c5b202fac11134ab0db3e
+Author: Andrew Mortensen <[email protected]>
+Date:   Wed Jul 25 11:07:52 2012 -0400
 
-2006-01-09 10:56  janakj
+    Use updated constants, add comment about hooking failed replies.
 
-	* modparam.c: - removed // comments, minor estetical changes
+commit 058b0aa803d66f0fb9b3ae87435a6cd3924e3043
+Author: Andrew Mortensen <[email protected]>
+Date:   Wed Jul 25 11:05:23 2012 -0400
+
+    Add prototype for sca_dialog_build_from_headers, SCA_DIALOG_EMPTY
+
+commit 4cdfefd8a47a2bea10d279ad20579b056c4e49d1
+Author: Andrew Mortensen <[email protected]>
+Date:   Wed Jul 25 11:03:44 2012 -0400
 
-2006-01-09 10:25  rco
+    include data_lump.h for del_lump Call-Info header removal.
 
-	* modparam.c: fixed parameter type expression in the call to
-	  find_param_export.  it fixes the use of integer parameters.
+commit a0b59cd0c5d4d86e0d553d81d70fb2adb0d8b643
+Author: Andrew Mortensen <[email protected]>
+Date:   Wed Jul 25 11:01:53 2012 -0400
 
-2006-01-09 00:53  mma
+    New notes on dialog tracking, removing header, sdp parsing
 
-	* modules/rr/: loose.c, rr_mod.c, rr_mod.h, doc/params.xml:
-	  /tmp/cvsQUKKab
+commit b9e5fb0de5757551866738db3892c1b9adce4a58
+Author: Andrew Mortensen <[email protected]>
+Date:   Wed Jul 25 10:59:57 2012 -0400
 
-2006-01-09 00:51  tma0
+    Add util functions, sca_dialog_build_from_tags.
 
-	* cfg.y, modparam.c, modules/rr/rr_mod.c: - set_mod_param uses
-	  set_mod_param_regex - set_mod_param_regex str/string type casting
-	  - rr_mod ignore_user removed, i_user as str param
+commit f492b41bd12904e3132260562073e79d76a003a5
+Author: Alex Balashov <[email protected]>
+Date:   Mon Jul 23 22:23:36 2012 -0400
 
-2006-01-08 23:43  tma0
+    mqueue: Added mq_size() function to get runtime size of mqueue in script.
 
-	* Makefile, Makefile.modules, cfg.lex, usr_avp.h,
-	  modules/acc_db/acc_db.c, modules/acc_radius/acc_radius.c,
-	  modules/acc_syslog/acc_syslog.c, modules/auth/auth_mod.c,
-	  modules/auth_db/authdb_mod.c, modules/auth_radius/authrad_mod.c,
-	  modules/avp/avp.c, modules/avp_db/avp_db.c,
-	  modules/avp_radius/avp_radius.c, modules/avpops/avpops.c,
-	  modules/cpl-c/cpl.c, modules/dialog/dlg_mod.c,
-	  modules/dispatcher/dispatcher.c, modules/diversion/diversion.c,
-	  modules/domain/domain_mod.c, modules/enum/enum_mod.c,
-	  modules/exec/exec_mod.c, modules/fifo/fifo.c,
-	  modules/flatstore/flatstore_mod.c, modules/gflags/gflags.c,
-	  modules/jabber/jabber.c, modules/lcr/lcr_mod.c,
-	  modules/maxfwd/maxfwd.c, modules/mediaproxy/mediaproxy.c,
-	  modules/msilo/msilo.c, modules/mysql/db_mod.c,
-	  modules/nathelper/nathelper.c, modules/options/mod_options.c,
-	  modules/osp/osp_mod.c, modules/pa/pa_mod.c, modules/pdt/pdt.c,
-	  modules/permissions/permissions.c, modules/permissions/trusted.h,
-	  modules/pike/pike.c, modules/postgres/db_mod.c,
-	  modules/print/print.c, modules/registrar/reg_mod.c,
-	  modules/rls/rls_mod.c, modules/rr/avp_cookie.c,
-	  modules/rr/rr_mod.c, modules/sms/sms.c,
-	  modules/speeddial/speeddial.c, modules/tm/tm.c,
-	  modules/uac/uac.c, modules/unixsock/unixsock.c,
-	  modules/uri_db/uridb_mod.c, modules/uri_radius/urirad_mod.c,
-	  modules/usrloc/ul_mod.c, modules/xlog/xlog.c,
-	  modules/xmlrpc/xmlrpc.c: - export param types adjusted to
-	  PARAM_STR/STRING & PARAM_INT - removed corresponding obsolete
-	  strlen(str_param) in init
+commit 41f77159c5851bb36ad12abecc2faf58602d6935
+Author: Alex Balashov <[email protected]>
+Date:   Mon Jul 23 19:53:41 2012 -0400
 
-2006-01-08 19:54  mma
+    mqueue: Added MI command to get current size of mqueue.
+    
+    There is currently no runtime visibility into the size of a given mqueue.
+    To address this, added an MI command 'mq_get_size' that can return the size
+    of an mqueue by name.  Example:
+    
+       diminuendo-1:~/sip-router/modules/mqueue# kamctl fifo mq_get_size r_write
+       mqueue::  name=r_write size=1
 
-	* modules/avp/avp.c: non-obsolete functions updated to expect AVP
-	  identifier instead of AVP name as their parameter
+commit b26f862322ad311e3c42d899f72eaa1fb665b755
+Author: Anca Vamanu <[email protected]>
+Date:   Fri Jul 20 16:59:52 2012 +0300
 
-2006-01-08 19:52  mma
+    modules/matrix Fixed MI command not exported
+    
+    Added missing register_mi_mod() call in mod_init.
 
-	* modules/rr/avp_cookie.c: Conflicting avp_flags_t definition
-	  removed
+commit 9a4b9061387ac88c9c0db7945b41c8a24986b7bc
+Author: Dragos Dinu <[email protected]>
+Date:   Fri Jul 20 10:48:48 2012 +0300
 
-2006-01-08 19:52  mma
+    modules/sipcapture: Extended sipcapture to support multiple tables
+    
+    The sipcapture module can support storing the information to multiple sql tables.
+    Tests have shown that a major bottleneck against scalability on multi core CPU of
+    the capture node instance was caused by using a single MySQL Table.
+    The frontend (HOMER) will be soon patched to support retrieval of data from multiple
+    sources.
+    
+    The decision to select witch table is written to, can be configured from random,
+    round robin or hashing via username or callid.
 
-	* usr_avp.c, usr_avp.h: AVPs' types purification usr_avp declares
-	  type for each part (avp_flags_t, avp_name_t, avp_value_t,
-	  avp_index_t) and one compund type avp_ident_t.
+commit 0f702f6e236eb0cbb238bf83a0c4ae94d7b3cad8
+Author: Anca Vamanu <[email protected]>
+Date:   Thu Jul 19 17:49:13 2012 +0300
 
-	  Rest of the source code needs to be updated to new types usage
-	  before we would be able to smoothly change internal structure
-	  without breaking anything else. (e.g. flags  unsigned short ->
-	  unsigned long)
+    modules_k/uac: uac_replace_from/to AUTO mode with dialog module
+    
+    Added a implementation for uac_replace_from/to() that uses the dialog
+    module for AUTO mode. In this mode the URIs are stored as dialog
+    variables.
+    
+    The change in tm module fixes a bug: if uac_replace_to() was called, the
+    URI was not changed accordingly in Cancel.
 
-2006-01-08 15:12  greger
+commit 04041593c08959a640b23d16ba944300f2c320c8
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Thu Jul 19 10:28:13 2012 +0200
 
-	* doc/stylesheets/README: Updated with stylesheet description for
-	  xhtml.chunked.xsl and html.chunked.xsl
+    permissions(k): added new cfg function allow_address_group(addr, port)
+    
+    - return group of matching address and port record in address table
 
-2006-01-08 13:54  tma0
+commit 21fe4ed3496de3094d12f941310df605e492a713
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Thu Jul 19 10:23:20 2012 +0200
 
-	* Makefile.defs, Makefile.modules, Makefile.rules: - support for
-	  apart modules taken from svn, fixed bug for dependency files *.d
-	  - new config param INCLUDES (all includes -I goes here, CFLAGS
-	  was not good for MAKDEP)
+    core: fixup helper function for spve - igp parameters
 
-2006-01-08 10:51  tma0
+commit 0615826fe602c5183fbc7be7c51de5eb5eb7223c
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Wed Jul 18 19:00:38 2012 +0200
 
-	* modules/rr/: avp_cookie.c, avp_cookie.h, loose.c, rr_mod.c: -
-	  adjusted to new AVP aip - global cookie_filter to filter AVPs
-	  restored in loose_route()
+    tls: set function to return the id
+    
+    - starting with v1.0.0 openssl does not use anymore getpid(), but address
+      of errno which can point to same virtual address in a multi-process
+      application
+    - for refrence http://www.openssl.org/docs/crypto/threads.html
+    - credits to Jijo on sr-dev mailing list
 
-2006-01-08 00:24  tma0
+commit e35e16efbbc6c746a7a4dfeddfc241c2c78d30bc
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Wed Jul 18 18:51:54 2012 +0200
 
-	* cfg.y, modparam.c, sr_module.c, sr_module.h,
-	  doc/serdev/modiface.xml, doc/serdev/module_exports.xml,
-	  doc/serdev/startup.xml: - support for str param type
-	  (xxx_PARAM->PARAM_xxx, PARAM_STRING)
+    kamdbctl: mtree tables were not in the list for db creation
 
-2006-01-07 22:58  mma
+commit 3bcff044593687f7f0e71cb7f084b071dd09bff0
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Wed Jul 18 08:54:56 2012 +0200
 
-	* usr_avp.c, modules/xlog/xl_lib.c: Log level of two debug messages
-	  was changed from ERR to DBG.
+    kamctl: stats command can print a single group of statistics
+    
+    - groupid can be given as command parameter
 
-2006-01-07 22:28  mma
+commit bb4925540d241eb91cc8b68712bec20f1970b086
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Wed Jul 18 08:27:52 2012 +0200
 
-	* action.c, cfg.lex, cfg.y, route.c, usr_avp.c, usr_avp.h, ut.h,
-	  modules/avp/avp.c, modules/tm/t_fifo.c, modules/tm/t_funcs.c,
-	  modules/xlog/xl_lib.c, modules/xlog/xl_lib.h,
-	  modules/xlog/xlog.c: =AVP core extended to be aware of multiple
-	  AVPs with the same name exist in the list. There are three
-	  possibilities of correct script syntax...
+    kamailio.cfg: removed sample db_mode parameter for domain module
+    
+    - no longer exists since 3.3 domain update
+
+commit 58502f3fa92b6ea2dd50c8b2274b17fc0b5bc083
+Author: Andrew Mortensen <[email protected]>
+Date:   Tue Jul 17 16:49:40 2012 -0400
+
+    Fixes for line-seize reSUBSCRIBEs, line-seize expire time.
+
+commit 7062904cba4c36e2f296b782fd9175914cc9b348
+Author: Andrew Mortensen <[email protected]>
+Date:   Tue Jul 17 16:47:46 2012 -0400
+
+    Fix sca_call_info_header_append_appearances.
+    
+    Loop wasn't incrementing buffer pointer.
+
+commit 342d4cee957ef3944419197a58f28354dec0945b
+Author: Andrew Mortensen <[email protected]>
+Date:   Tue Jul 17 10:44:53 2012 -0400
+
+    Add parser/hf.h. Required for Call-Info header parsing.
 
-	  $prefix.name - it MUST be only one AVP with that name to match
-	  binary operators or on the right side of assignment
+commit a93b2c5c007e05c6027643e2b9f09a6775bbce4b
+Author: Andrew Mortensen <[email protected]>
+Date:   Tue Jul 17 10:44:12 2012 -0400
 
-	  $prefix.name[] - allowed on both sides of assignment on left side
-	  means - enable more AVPS with the same name on the right side -
-	  all AVPs with the name are added (correctly ordered)
+    Release seized appearances when line-seize subscriber hangs up.
 
-	  $prefix.name[index] - allowed on right side of assignment and as
-	  binary operand, corresponds to value of index-th AVP in the list
-	  (if such exists)
+commit eecb3b1830903c3e42c80ceb1e458cc631c3a495
+Author: Andrew Mortensen <[email protected]>
+Date:   Tue Jul 17 10:43:22 2012 -0400
 
-	  1 means the AVP, which was added FIRST to the list (this
-	  unfortunatelly means, that the AVP name is scanned through the
-	  whole list) -1 means the AVP, which was added LAST to the list
+    Fix leak: Call sca_appearance_free after unlinking appearance.
 
-	  prefix is one of following f - FROM USER t - TO USER fd- FROM
-	  DOMAIN td- TO DOMAIN g - GLOBAL
+commit 7e4aa668d1fa5c6cc34d6e5350c64649a005c641
+Author: Andrew Mortensen <[email protected]>
+Date:   Tue Jul 17 10:42:16 2012 -0400
 
-	  and if ommited, the default FROM USER is used
+    Implement sca_call_info_header_find and sca_call_info_body_parse.
 
-	  =new function parse_avp_name, needs to be enhanced (does not
-	  accept whitespace as the script parser does)
+commit da5a8008460bc03c6cb6d32740cf09425c0ed067
+Author: Andrew Mortensen <[email protected]>
+Date:   Tue Jul 17 10:39:30 2012 -0400
 
-	  =new function search_avp_by_index, usable even for variant
-	  without the brackets (then it checks the name exclusivity)
+    Implement sca_appearance_release_index.
+    
+    Correct sca_appearance_free prototype.
 
-	  =xlog module uses new avp parse and search_by_index function
-	  format string is %avp_syntax, e.g. %$MyAVP[1]
+commit 31d651479c210e4b1d181fc34b10aae67e716bb7
+Author: Carsten Bock <[email protected]>
+Date:   Tue Jul 17 10:15:46 2012 -0400
 
-	  =avp module merged functions from another branch, not updated to
-	  new AVP syntax fully
+    Remove duplicate entry of "default_domain" in docs.
+    Remove double occurance of the CSeq Attribute in the XML.
+    (closes FS#246 - pua_reginfo adds duplicate cseq field in XML body on the Bugtracker)
+    
+    Thanks to Andrew Pogrebennyk ([email protected]) for pointing this out.
 
-	  =script parser updated to new syntax
+commit d694cebab5b2e2849059fb0376a38e074646c703
+Author: Andrew Mortensen <[email protected]>
+Date:   Mon Jul 16 09:25:00 2012 -0400
 
-2006-01-07 17:29  mma
+    Shared Call Appearance module for sip-router.
+    
+    Move to repo.net.isc.upenn.edu.
 
-	* cfg.y, select.c, select.h, select_core.c, select_core.h:
-	  PARAM_xxx changed into SEL_PARAM_xxx to avoid conflict with
-	  global definitions
+commit f003344fce108600c966dd3b79c5c89cb364afe5
+Author: Peter Dunkley <[email protected]>
+Date:   Sat Jul 14 22:15:00 2012 +0100
 
-2006-01-07 00:55  tma0
+    pkg/kamailio/fedora/17: Updated appliances
 
-	* modules/flatstore/: flat_con.c, flatstore.c, flatstore_mod.c,
-	  flatstore_mod.h: - added record delimiter and escape char params
-	  - escaping of delimiters in text - zero delimiter supported via
-	  empty string delimiter param
+commit 60f0665348e80f056f2a0de5263de95f898e4583
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Fri Jul 13 18:03:46 2012 +0200
 
-2006-01-06 14:29  janakj
+    cdp_avp: fixed small typo in readme
 
-	* modules/unixsock/: Makefile, unixsock.c, unixsock_server.c,
-	  unixsock_server.h: - unixsock module skeleton
+commit f3ff581dbd0a53c4c5eafdf829bef0c25e8e8f28
+Author: Anca Vamanu <[email protected]>
+Date:   Fri Jul 13 16:50:07 2012 +0300
 
-2006-01-06 14:21  janakj
+    lib/srdb1 : put pooling constans into separate header file to reduce
+    include dependancy
 
-	* modules/postgres/: db_con.c, db_mod.c, dbase.c, dbase.h,
-	  pg_con.c, pg_con.h, res.c, res.h: - safer public function names -
-	  short test code added - fixed module name in comments - support
-	  for NULL values in where clause - LOG(L_ERR, -> ERR -
-	  PQserverVersion compiled conditionaly
+commit 1f6bfa0b3ba15201c2ca3e2387a9f9e81e989643
+Author: Pawel Kuzak <[email protected]>
+Date:   Fri Jul 13 16:06:48 2012 +0300
 
-2006-01-06 12:49  janakj
+    Ported gruu and outbound changes to p_usrloc module
 
-	* modules/auth_db/authorize.c: - fixed bug in realm paramter
+commit e570709eeb0bf874f8a825efe982bdff794c22b3
+Merge: 2b77f22 8328637
+Author: Peter Dunkley <[email protected]>
+Date:   Fri Jul 13 10:37:08 2012 +0100
 
-2006-01-05 20:53  calrissian
+    Merge branch 'master' of ssh://git.sip-router.org/sip-router
+    
+    * 'master' of ssh://git.sip-router.org/sip-router:
+      Makefile.defs: version set 3.4.0-dev2
+      parser/sdp: more suggestive debug message
+      parser/sdp: prevent manipulation with freed structure
+      core: Removed unused enum (crept in during WebSocket implementation)
+      modules/ipops: Corrected is_in_subnet() exported function and added is_ip to module C API
+      modules/sl: Fixed segmentation fault and corrected log messages
+      modules_k/registrar: Fixed some errors in module documentation
+      core: update printing of socket lists to show the advertised address if set for the socket
+      modules_k/presence: Added missing use_table() call
 
-	* Makefile: added osp module to exclude list as it required
-	  additional software
+commit 2b77f22f159bf14a9e08d339bd69f8d1c35f541d
+Author: Peter Dunkley <[email protected]>
+Date:   Fri Jul 13 10:36:31 2012 +0100
 
-2006-01-05 20:49  calrissian
+    pkg/kamailio/fedora/16: Updated rel in .spec to dev2
 
-	* CREDITS: added Hendrik Scholz
+commit 832863723365ffd6f071a31415cca6b0f4cde391
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Fri Jul 13 09:49:40 2012 +0200
 
-2006-01-05 20:48  calrissian
+    Makefile.defs: version set 3.4.0-dev2
 
-	* modules/maxfwd/maxfwd.c: applied patch by Hendrik Scholz which
-	  adds the mf_lowlimit function
+commit faf7806b7488143f0637b9db896d849249eb059a
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Fri Jul 13 09:49:16 2012 +0200
 
-2006-01-05 16:59  kubartv
+    parser/sdp: more suggestive debug message
 
-	* modules/pa/: reply.c, subscribe.c: corrected a new BUG found
-	  during testing BUG-89:    supported package with unsupported
-	  document format returned OK, but subscription was not established
+commit f529cdb8b818017c20b73ba5be89309745ea95c5
+Author: Michal Karas <[email protected]>
+Date:   Thu Jul 12 17:38:15 2012 +0200
 
-	  solution:    returns 415 now
+    parser/sdp: prevent manipulation with freed structure
+    
+    - FS#244
 
-2006-01-05 15:56  kubartv
+commit e3cadfd261d2d4b88e288e893a1e6171b14f4218
+Author: Peter Dunkley <[email protected]>
+Date:   Thu Jul 12 22:45:32 2012 +0100
 
-	* modules/domain/domain_mod.c: added parsing To header field into
-	  get_to_host function called by lookup_domain
+    core: Removed unused enum (crept in during WebSocket implementation)
 
-2006-01-05 15:31  kubartv
+commit 8ab4daa7f13a70f1fb77d7a98f11f7290a42c321
+Author: Peter Dunkley <[email protected]>
+Date:   Thu Jul 12 21:50:00 2012 +0100
 
-	* modules/pa/: presentity.c, publish.c, publish.h, rpc.c: added
-	  presence status publication using XML RPC
+    modules/ipops: Corrected is_in_subnet() exported function and added is_ip to module C API
+    
+    - Fixes and enhancements by Hugh Waite @ Crocodile RCS
 
-2006-01-05 14:05  kubartv
+commit e78ff34f1ecfe9a60a52996126032ea04fb490ab
+Author: Peter Dunkley <[email protected]>
+Date:   Thu Jul 12 21:48:08 2012 +0100
 
-	* db/schema/rls_vs.xml, scripts/dbtext/ser_db/rls_vs,
-	  scripts/mysql/my_create.sql, scripts/oracle/or_create.sql,
-	  scripts/postgres/pg_create.sql: modified key parameters (removed
-	  null) for rls_vs table
+    modules/sl: Fixed segmentation fault and corrected log messages
+    
+    - Fixes by Hugh Waite @ Crocodile RCS
 
-2006-01-05 12:01  mma
+commit 6d040935f31be0098a09f4621874268164f3926a
+Author: Peter Dunkley <[email protected]>
+Date:   Thu Jul 12 21:46:58 2012 +0100
 
-	* AUTHORS: self-signed :-)
+    modules_k/registrar: Fixed some errors in module documentation
+    
+    - Fix by Hugh Waite @ Crocodile RCS
 
-2006-01-05 11:59  mma
+commit 274969bcca2301c96dbbcc17c5b1d411073c8277
+Author: Peter Dunkley <[email protected]>
+Date:   Thu Jul 12 21:44:45 2012 +0100
 
-	* cfg.lex, cfg.y: AVP CLASS & TRACK specification in the script
-	  changed to following options:
+    core: update printing of socket lists to show the advertised address if set for the socket
+    
+    - useful for diagnosing what is going on with advertised address
+    - Enhancement added by Hugh Waite @ Crocodile RCS
 
-	  -f. (or none) FROM USER -t.  TO USER -fd. FROM DOMAIN -td. TO
-	  DOMAIN -g.  GLOBAL (FROM by default)
+commit 0de5e17770cd5dcfcdd64174eb24f0bcaccef021
+Author: Peter Dunkley <[email protected]>
+Date:   Thu Jul 12 21:20:49 2012 +0100
 
-2006-01-05 11:52  janakj
+    modules_k/presence: Added missing use_table() call
 
-	* modules/mysql/dbase.c: - support for null values in where
-	  statements
+commit f2f8ff72137a39702d284dfe6deb9ef4442e4e78
+Author: Peter Dunkley <[email protected]>
+Date:   Thu Jul 12 16:26:38 2012 +0100
 
-2006-01-05 10:36  kubartv
+    Makefile: SCTP library check doesn't look in /usr/lib64
+    
+    - This means you can't build Kamailio for a 64-bit OS like CentOS or
+      Fedora.
 
-	* lib/cds/Makefile.ser, lib/presence/Makefile.ser,
-	  lib/xcap/Makefile.ser, modules/dialog/Makefile,
-	  modules/pa/Makefile, modules/rls/Makefile: modified names of
-	  shared libraries if compiled with ser (useful for those who use
-	  them without ser too)
+commit 3bf1b0472df3be94f6ec1d5ce7573d96dbd88a7a
+Author: Jon Bonilla <[email protected]>
+Date:   Thu Jul 12 09:27:56 2012 +0200
 
-2006-01-05 10:36  janakj
+    Revert 008c92bece290aed3b8e6439be71c2c37526901d
+    
+    We'll readd the dependency once the websocket
+     module is enabled for build
 
-	* parser/parse_from.h: - comment fixed
+commit 699526ddb3b02cb5766bc7ad6f1c7a1861006d4c
+Author: Klaus Darilion <[email protected]>
+Date:   Wed Jul 11 12:30:51 2012 +0000
 
-2006-01-05 10:36  janakj
+    kamdbctl: add domain_attrs table to standard tables
 
-	* modules/xmlrpc/xmlrpc.c: - removed XML_PARSE_COMPACT flag (not
-	  present in older libxml versions)
+commit 40b37899aaadd1518d812c4a32aeab330b864cb4
+Author: Andreas Granig <[email protected]>
+Date:   Wed Jul 11 12:52:38 2012 +0200
 
-2006-01-04 14:35  kubartv
+    modules_k/uac: fix handling of empty display-part.
+    
+    This re-enables the feature to strip the display name by setting
+    an empty string, like uac_replace_from("", "$var(from)");
 
-	* db/schema/presentity.xml, lib/presence/xpidf.c,
-	  modules/pa/notify.c, modules/pa/pa_mod.c, modules/pa/pdomain.c,
-	  modules/pa/pdomain.h, modules/pa/presentity.c,
-	  modules/pa/presentity.h, modules/pa/publish.c,
-	  modules/pa/qsa_interface.c, modules/pa/rpc.c,
-	  modules/pa/subscribe.c, modules/rls/virtual_subscription.c,
-	  scripts/dbtext/ser_db/presentity, scripts/mysql/my_create.sql,
-	  scripts/oracle/or_create.sql, scripts/postgres/pg_create.sql:
-	  corrected work with UIDs in PA module
+commit 9485cfac5e1e6f4bb53407d3382f7dc725598f8a
+Author: Vicente Hernando <[email protected]>
+Date:   Tue Jul 10 12:05:02 2012 +0200
 
-2006-01-04 11:40  kozlik
+    ndb_redis: README file update. redis_cmd variadic function.
 
-	* db/schema/attr_types.xml, scripts/dbtext/ser_db/attr_types,
-	  scripts/mysql/my_create.sql, scripts/oracle/or_create.sql,
-	  scripts/postgres/pg_create.sql: Changed type of attribute "lang"
-	  from "string" to "lang"
+commit 1010594cf1d7df4753a61142dc86d7d04f6c4be3
+Author: Vicente Hernando <[email protected]>
+Date:   Tue Jul 10 05:54:00 2012 -0400
 
-2006-01-04 04:11  isakdim
+    ndb_redis: redis_cmd variadic function documentation.
 
-	* modules/osp/sipheader.c: o Fixed getFromUserpart, getToUserpart
-	  and getCallid to parse   their respective headers if they have
-	  not already been parsed.  o Based on the new parse_header api,
-	  changed HDR_EOH_T to HDR_EOH_F o Implemented append_hf function o
-	  Fixed signed / unsigned type warning o Switched from LOG(L_ERR to
-	  ERR
+commit ca5e3d93e3f117651d2152dccdfd4c299bf7f508
+Author: Vicente Hernando <[email protected]>
+Date:   Tue Jul 10 05:48:45 2012 -0400
 
-2006-01-04 04:04  isakdim
+    ndb_redis: redis_cmd changed into a variadic function.
+    
+    - command string can be split into several strings.
 
-	* modules/osp/destination.c: o Updated calls to add_avp,
-	  search_first_avp and search_next_avp to   use the new interface.
-	  o Changed initialization of str structures to use
-	  STR_STATIC_INIT.  o Switched from LOG(L_ERR to ERR
+commit 008c92bece290aed3b8e6439be71c2c37526901d
+Author: Juha Heinanen <[email protected]>
+Date:   Sun Jul 8 21:20:35 2012 +0300
 
-2006-01-04 03:58  isakdim
+    pkg/kamailio/deb/wheezy: Added build dependency on libunistring-dev.
 
-	* modules/osp/orig_transaction.c: o Fixed signed / unsigned type
-	  warning o Downgraded info messages to debug o Switched from
-	  LOG(L_ERR to ERR
+commit b705c4c8bbbd36dce28b8d9e2344e7544f4e5fdc
+Author: Peter Dunkley <[email protected]>
+Date:   Sun Jul 8 02:06:05 2012 +0100
 
-2006-01-04 03:56  isakdim
+    pkg/kamailio/fedora/17: Added @Base group to BoxGrinder appliances
+    
+    - This groups is required to get the network to come up automatically for
+      Fedora 17 (it wasn't needed for Fedora 16 or CentOS 6).
 
-	* modules/osp/osp_mod.c: o Stopped exporting append_hf from the
-	  textops module.  The function is now implemented in sipheader.c o
-	  Added function name aliases where words are separated by
-	  underscores. The original function names are preserved.  o
-	  Switched from LOG(L_INFO|WARN to INFO and WARN
+commit 7a3ce731e73d4b47646f2562e588886137cc8e85
+Merge: f64fda6 acb0ae8
+Author: Peter Dunkley <[email protected]>
+Date:   Sat Jul 7 17:52:20 2012 +0100
 
-2006-01-04 03:49  isakdim
+    Merge branch 'master' into websocket
 
-	* modules/osp/osp_mod.h: Removed function pointer for append_hf.
-	  The function is now implemented in sipheader.c instead of being
-	  exported from the textops module.
+commit acb0ae899ca7341f06fa4418c88f3b42d3460f49
+Author: Vicente Hernando <[email protected]>
+Date:   Fri Jul 6 18:23:09 2012 +0200
 
-2006-01-04 03:46  isakdim
+    ndb_redis: update README file
 
-	* modules/osp/osptoolkit.c: o Downgraded info messages to debug o
-	  Switched from LOG(L_ERR to ERR o Fixed signed / unsigned type
-	  warning
+commit b237db588f4de8eb3e1f8bf321e010ce5f9cded3
+Author: Vicente Hernando <[email protected]>
+Date:   Fri Jul 6 12:12:36 2012 -0400
 
-2006-01-04 03:42  isakdim
+    ndb_redis: redisc_free_reply only frees redisReply structure.
+    
+    - freeing whole redisc_reply_t structure causes a bug, so better remove only inner data.
 
-	* modules/osp/provider.c: o Downgraded info messages to debug o
-	  Switched from LOG(L_ERR to ERR o Fixed signed / unsigned type
-	  warning
+commit f64fda60da151e2672e5eade99eee636ace25695
+Author: Peter Dunkley <[email protected]>
+Date:   Thu Jul 5 22:58:24 2012 +0100
 
-2006-01-04 03:40  isakdim
+    pkg/kamailio/fedora/16: tidied up kamailio.spec
 
-	* modules/osp/usage.h: Fixed a typo
+commit 380ab4c742c4060d7601e4b0491ebdb9eb0bb157
+Merge: a4db0a0 ef6da28
+Author: Peter Dunkley <[email protected]>
+Date:   Thu Jul 5 22:55:44 2012 +0100
 
-2006-01-04 03:37  isakdim
+    Merge branch 'master' into websocket
+    
+    Conflicts:
+    	pkg/kamailio/fedora/16/kamailio.spec
 
-	* modules/osp/usage.c: o Updated to the new interface for
-	  search_first_avp and search_next_avp o Downgraded info messages
-	  to debug o Switched from LOG(L_Type to ERR, WARN and DBG o Typos
+commit ef6da283105197eda608cc3571cfc6772c343aa6
+Author: Henning Westerholt <[email protected]>
+Date:   Thu Jul 5 23:39:51 2012 +0200
 
-2006-01-04 03:28  isakdim
+    parser: remove old $Id$ docs header from subversion times, not usable anymore
 
-	* modules/osp/tm.c: o Switched from LOG(L_INFO|L_ERR to INFO and
-	  ERR o Replaced // comments
+commit fa441a9cdb28fb6336805f45aa65de13c9bcc139
+Author: Henning Westerholt <[email protected]>
+Date:   Thu Jul 5 23:35:27 2012 +0200
 
-2006-01-04 03:23  isakdim
+    parser: add missing copyright statement to files, this part was contributed
+    in commit 3c736126b097137ec943b5931f867bc7e9d82e76 Author: Jamey Hicks,
+    jamey dot hicks at hp dot com, Date: Fri Dec 3 13:37:57 2004 +0000
 
-	* modules/osp/term_transaction.c: o Downgraded info log messages to
-	  debug o Fixed signed/unsigned type warnings o Switched from
-	  LOG(L_ERR to ERR
+commit f358aa1b6983a7e1a17745658c4c7f8efa08966c
+Author: Henning Westerholt <[email protected]>
+Date:   Thu Jul 5 23:30:15 2012 +0200
 
-2006-01-03 16:14  kubartv
+    parser: add missing copyright statement to files, this part was contributed from
+    Vaclav Kubart, vaclav dot kubart at iptel dot org in commit
+    488624056c4651fd57fdffd1cbfdd2a07928fdab, Date: Wed Jun 21 13:33:01 2006 +0000
 
-	* lib/cds/logger.h, lib/presence/lpidf.c, lib/presence/lpidf.h,
-	  lib/presence/pidf.c, lib/presence/xpidf.c, lib/presence/xpidf.h,
-	  lib/xcap/xcap_client.c, modules/pa/dlist.c, modules/pa/dlist.h,
-	  modules/pa/notify.c, modules/pa/pa_mod.c, modules/pa/pdomain.c,
-	  modules/pa/pdomain.h, modules/pa/presentity.c,
-	  modules/pa/presentity.h, modules/pa/publish.c, modules/pa/rpc.c,
-	  modules/pa/subscribe.c, modules/pa/subscribe.h,
-	  modules/pa/watcher.c, modules/pa/watcher.h,
-	  modules/pa/winfo_doc.c, modules/pa/winfo_doc.h: PA clarification:
-	  - removed unused print_xxx (presentity, ...) functions  -
-	  statical buffers for presence documents and headers changed to
-	  dynamical  - FIFO pa.trace command working with new FIFO
-	  interface (fifo module)  - XCAP queries automaticaly process
-	  redirect (libcurl feature) - useful for usage of Apache2 with
-	  mod_speling as XCAP server  - corrected bug in parsing PIDF
-	  (contact is not required now as PUBLISHed by gaim)  - other
-	  cosmetical changes
+commit 8361d5921557630576d6f542603f769bff420887
+Author: Henning Westerholt <[email protected]>
+Date:   Thu Jul 5 23:26:45 2012 +0200
 
-2005-12-28 11:53  kozlik
+    parser: add missing copyright statement to files, this part was contributed
+    in commit 3c736126b097137ec943b5931f867bc7e9d82e76
+    Author: Jamey Hicks, jamey dot hicks at hp dot com, Date: Fri Dec 3 13:37:57 2004 +0000
 
-	* db/schema/attr_types.xml, scripts/dbtext/ser_db/attr_types,
-	  scripts/mysql/my_create.sql, scripts/oracle/or_create.sql,
-	  scripts/postgres/pg_create.sql: removed duplicated entry for
-	  digest_realm
+commit 6742b34bb385742aa80cd23d9dedbd366a243650
+Author: Henning Westerholt <[email protected]>
+Date:   Thu Jul 5 23:14:42 2012 +0200
 
-2005-12-28 11:50  kozlik
+    parser: const-correctness for some module utility functions
 
-	* db/schema/attr_types.xml, scripts/dbtext/ser_db/attr_types,
-	  scripts/mysql/my_create.sql, scripts/oracle/or_create.sql,
-	  scripts/postgres/pg_create.sql: - internationalized description
-	  of attributes - maked index unique
+commit a8e108ec68f6117c33669e35bccaf9b779858e25
+Author: Henning Westerholt <[email protected]>
+Date:   Thu Jul 5 23:04:43 2012 +0200
 
-2005-12-27 16:03  kozlik
+    parser: some more const-correctness for the other functions in msg_parser.[c,h]
 
-	* db/schema/customers.xml, db/schema/ser.xml,
-	  db/schema/version.xml, scripts/dbtext/ser_db/customers,
-	  scripts/dbtext/ser_db/version, scripts/mysql/my_create.sql,
-	  scripts/oracle/or_create.sql, scripts/postgres/pg_create.sql:
-	  Added table 'customers'
+commit 8f0f3fb39695ba52938c42ea58519485299f2fa4
+Author: Henning Westerholt <[email protected]>
+Date:   Thu Jul 5 22:40:45 2012 +0200
 
-2005-12-27 15:37  kozlik
+    parser: remove two blocks of old code, commented some years ago
 
-	* scripts/: dbtext/ser_db/attr_types, dbtext/ser_db/version,
-	  mysql/my_create.sql, oracle/or_create.sql,
-	  postgres/pg_create.sql: updated table attr_types
+commit f7b97e8a8329f23aef74be87f9ff18c3206e811a
+Author: Henning Westerholt <[email protected]>
+Date:   Thu Jul 5 22:35:22 2012 +0200
 
-2005-12-25 19:47  janakj
+    parser: make get_hdr_field(..) and necessary called functions const-correct
 
-	* modules/acc_radius/acc_radius.c: - swap_dir parameter support
-	  (when enabled acc_radius will keep   Calling-Station-ID and
-	  Called-Station-ID attributes same regardless	 of the direction
-	  of BYE)
+commit 1c4e782f33f3c12747a4e8d9b9f67bf035007658
+Author: Peter Dunkley <[email protected]>
+Date:   Thu Jul 5 21:16:43 2012 +0100
 
-2005-12-25 19:43  janakj
+    pkg/kamailio/fedora/16: fixed typo in .spec
 
-	* parser/: parse_param.c, parse_param.h: - ftag parameter support
+commit a4db0a0f9577477a15f90e3e4674a941aa306730
+Merge: 6af91d1 2b392e4
+Author: Peter Dunkley <[email protected]>
+Date:   Thu Jul 5 21:15:22 2012 +0100
 
-2005-12-24 00:46  sobomax
+    Merge branch 'master' into websocket
+    
+    Conflicts:
+    	Makefile
+    	pkg/kamailio/centos/6/kamailio-build.appl
+    	pkg/kamailio/centos/6/kamailio.appl
+    	pkg/kamailio/fedora/16/kamailio-build.appl
+    	pkg/kamailio/fedora/16/kamailio.appl
+    	pkg/kamailio/fedora/16/kamailio.spec
+    	pkg/kamailio/fedora/17/kamailio-build.appl
+    	pkg/kamailio/fedora/17/kamailio.appl
 
-	* modules/nathelper/nathelper.c: Add support for selecting
-	  particular RTP proxy node has been added.  In force_rtp_proxy()
-	  it can be done via new N modifier, followed by the index
-	  (starting at 0) of the node in the rtpproxy_sock parameter. For
-	  example, in the example above force_rtp_proxy("N1") will will
-	  select node udp:1.2.3.4:3456. In unforce_rtp_proxy(), the same
-	  can be done by specifying index as an argument directly, i.e.
-	  unforce_rtp_proxy(1).
+commit 2b392e46054bfe5f6ab475a53ba3212d548f2c7f
+Author: Peter Dunkley <[email protected]>
+Date:   Thu Jul 5 20:41:36 2012 +0100
 
-	  Since nathelper is not transaction or call stateful, care should
-	  be taken to ensure that force_rtp_proxy() in request path matches
-	  force_rtp_proxy() in reply path, that is the same node is
-	  selected.
+    pkg/kamailio/(centos|fedora): Updated .spec and .appl files to build RPM for cdp and cdp_avp modules
 
-	  Also allow spaces between force_rtp_proxy() modifiers while I am
-	  here.
+commit 6af91d1fb3839fd02cd2739d9c8c784497e1d6e9
+Author: Peter Dunkley <[email protected]>
+Date:   Thu Jul 5 15:23:19 2012 +0100
 
-	  Sponsored by:   Ricardo Villa, Telesip Networks
+    modules/websocket: More tidy-up of example configuration file
 
-2005-12-22 16:06  kozlik
+commit ac40abf75710281049ec424061d94cdc5f45aa10
+Author: Peter Dunkley <[email protected]>
+Date:   Thu Jul 5 12:16:31 2012 +0100
 
-	* db/schema/attr_types.xml: - added new columns for serweb - added
-	  rows with attributes used by serweb
+    pkg/kamailio/(centos|fedora): Added git to the build appliances
 
-2005-12-22 02:13  isakdim
+commit 324e8f36443f15af0ee5e7d96323c7e394202ea8
+Author: Peter Dunkley <[email protected]>
+Date:   Thu Jul 5 12:08:40 2012 +0100
 
-	* modules/osp/destination.c: Bug EXP-2: Changed the length of AVP
-	  keys to be a multiple of 8.
+    modules/websocket: Tidied up example kamailio.cfg
 
-2005-12-21 19:20  janakj
+commit 840d829149961d79fe9c84e59c14b8f72de4c44d
+Author: Peter Dunkley <[email protected]>
+Date:   Wed Jul 4 23:46:46 2012 +0100
 
-	* AUTHORS: - Added Jan Halla, new maintainer of serctl tools.
+    pkg/kamailio/(centos|fedora): Added instructions on using BoxGrinder appliances to build Kamailio RPMs
 
-2005-12-21 19:20  janakj
+commit 2685b26f7587172ad95f0e1e21114ebd483e6e5f
+Author: Henning Westerholt <[email protected]>
+Date:   Wed Jul 4 22:24:33 2012 +0200
 
-	* .cvsignore: - ignore *.pyc and *.pyo files
+    remove one redundant inclusion of casandra module in excluded modules
 
-2005-12-21 18:27  janakj
+commit 754853be86112f52f2b7f1d4ea0a0317d6c1e324
+Author: Henning Westerholt <[email protected]>
+Date:   Wed Jul 4 22:22:26 2012 +0200
 
-	* ser.8: - remove fifo and unixsock related description
+    add cdp module to excluded modules, as its depends on libxml
 
-2005-12-21 18:27  janakj
+commit 1792586578d9680d45d52af37ddf2786b8b30ca8
+Merge: 86362e5 1382c30
+Author: Peter Dunkley <[email protected]>
+Date:   Wed Jul 4 18:08:02 2012 +0100
 
-	* main.c, cfg.lex, cfg.y, config.h, globals.h: - removed
-	  implementation of fifo and unixsocket servers from core   (it
-	  will be implemented in modules instead)
+    Merge branch 'master' into websocket
+    
+    * master:
+      modules/lcr: Fixed to/from_gw tests when proto parameter is 0 (ANY)
+      cdp_avp: added README file
+      CDP: Fixed README
+      CDP: A few fixes to docs and location of image files - cleaner organisation
+      new modules: CDP (C Diameter Peer) and CDP_AVP 	- These modules were originally written by Fraunhofer and have been 	  ported to Kamailio, with some minor additions and improvements. Examples 	  on using the modules to come shortly - diameter_rx, diameter_ro, etc
 
-2005-12-21 18:25  janakj
+commit 86362e52c17858bfb81bda33cc6ae46e0f75517f
+Author: Peter Dunkley <[email protected]>
+Date:   Wed Jul 4 16:15:29 2012 +0100
 
-	* modules/tm/: tm.c, h_table.c, h_table.h, t_cancel.c, t_cancel.h,
-	  t_reply.c, t_reply.h, t_stats.c, t_stats.h: - updated to the new
-	  management interface (not complete yet)
+    modules/websocket: Fixes to WS and WSS message sending
 
-2005-12-20 22:47  janakj
+commit d1d9d63984fed14fc2912c31e7abc30e0500bbb8
+Author: Peter Dunkley <[email protected]>
+Date:   Wed Jul 4 16:13:40 2012 +0100
 
-	* sr_module.h: - PROC_MIN macro
+    modules_k/pv: Added missing break;s
 
-2005-12-20 22:46  janakj
+commit 1ccd1f68cff759a2a54b8f441ca8c53647f845a4
+Author: Peter Dunkley <[email protected]>
+Date:   Wed Jul 4 16:12:53 2012 +0100
 
-	* db/schema/pdt.xml, db/schema/ser.xml, db/schema/version.xml,
-	  scripts/dbtext/ser_db/pdt, scripts/dbtext/ser_db/tuple_notes,
-	  scripts/dbtext/ser_db/version, scripts/mysql/my_create.sql,
-	  scripts/oracle/or_create.sql, scripts/postgres/pg_create.sql: -
-	  pdt table added
+    core: Fixes for WSS (secure WebSocket) transport and Via:s
 
-2005-12-20 22:43  janakj
+commit 1382c30da7ffd8831479affafde4d8e038a41240
+Author: Juha Heinanen <[email protected]>
+Date:   Wed Jul 4 17:15:43 2012 +0300
 
-	* modules/: sl/sl.c, sl/sl_funcs.c, sl/sl_stats.c, sl/sl_stats.h,
-	  usrloc/ul_mod.c, usrloc/ul_rpc.c, usrloc/ul_rpc.h: - new
-	  management interface
+    modules/lcr: Fixed to/from_gw tests when proto parameter is 0 (ANY)
+    
+    - Also, updated README regarding handling of NULL value in lcr_gw
+      transport column.
 
-2005-12-20 22:42  janakj
+commit c39580925bebdb6506e106295119fb72f861e76f
+Author: Peter Dunkley <[email protected]>
+Date:   Tue Jul 3 23:59:22 2012 +0100
 
-	* modules/: pike/pike.c, rls/rls_mod.c: - removed dependency on
-	  core fifo
+    modules/websocket and pkg/kamailio/fedora: Added websocket module documentation
 
-2005-12-20 22:41  janakj
+commit 6d751215160cddb96dd16b33bd668d573a61b3d8
+Author: Peter Dunkley <[email protected]>
+Date:   Tue Jul 3 16:57:50 2012 +0100
 
-	* modules/permissions/: permissions.c, trusted.c, trusted_rpc.c,
-	  trusted_rpc.h: - updated to the new namagement interface
+    pkg/kamailio/(centos|fedora): Tweaked .spec and .appl files to add WebSocket support
 
-2005-12-20 22:40  janakj
+commit b7e7535289dfab413cbc1333ac545f31f3c992c2
+Author: Peter Dunkley <[email protected]>
+Date:   Tue Jul 3 16:57:00 2012 +0100
 
-	* modules/pdt/pdt.c: - updated to the new namagement interface -
-	  fixed minor bug in mod_destroy
+    core: Added websocket module to Makefile
 
-2005-12-20 13:11  janakj
+commit eff18c9ce6de48e6a2f821148cbce586a088512c
+Author: Peter Dunkley <[email protected]>
+Date:   Tue Jul 3 16:56:11 2012 +0100
 
-	* modules/pa/: pa_mod.c, publish.c, publish.h, rpc.c, rpc.h: -
-	  converted to the new management interface
+    modules/websocket: Updated example kamailio.cfg
 
-2005-12-20 12:41  janakj
+commit 12d1977f97023a279d8f72c02c80e0f9dc902047
+Author: Jason Penton <[email protected]>
+Date:   Tue Jul 3 12:50:10 2012 +0200
 
-	* db/schema/gw.xml: - table version corrected
+    cdp_avp: added README file
 
-2005-12-20 12:39  janakj
+commit 85cd6662b7f5e0fee477550088cc4ca546193b36
+Author: Jason Penton <[email protected]>
+Date:   Tue Jul 3 12:40:43 2012 +0200
 
-	* db/schema/version.xml: - removed duplicate gw line
+    CDP: Fixed README
 
-2005-12-20 12:39  janakj
+commit a4a1e5d6b0f5aab70d0395adfc5e10ee8a277b1e
+Author: Jason Penton <[email protected]>
+Date:   Tue Jul 3 12:14:21 2012 +0200
 
-	* rpc.h: - struct_printf added
+    CDP: A few fixes to docs and location of image files - cleaner organisation
 
-2005-12-20 12:36  janakj
+commit 3c085d120d49abec97019103f4c210ebdcaf1ed6
+Author: Jason Penton <[email protected]>
+Date:   Tue Jul 3 11:24:36 2012 +0200
 
-	* modules/: cpl-c/cpl.c, cpl-c/cpl_loader.c, cpl-c/cpl_loader.h,
-	  cpl-c/cpl_rpc.c, cpl-c/cpl_rpc.h, domain/domain_rpc.c,
-	  flatstore/flat_rpc.c, flatstore/flat_rpc.h,
-	  flatstore/flatstore_mod.c, gflags/gflags.c, lcr/lcr_mod.c,
-	  lcr/lcr_mod.h, lcr/lcr_rpc.c, lcr/lcr_rpc.h: - converted to the
-	  new management interface
+    new modules: CDP (C Diameter Peer) and CDP_AVP
+    	- These modules were originally written by Fraunhofer and have been
+    	  ported to Kamailio, with some minor additions and improvements. Examples
+    	  on using the modules to come shortly - diameter_rx, diameter_ro, etc
 
-2005-12-20 12:34  janakj
+commit b66cd6508d9bff106a88fbbd1c649e492b6d742c
+Author: Peter Dunkley <[email protected]>
+Date:   Sun Jul 1 22:21:38 2012 +0100
 
-	* modules/fifo/: Makefile, fifo.c, fifo.h, fifo_server.c,
-	  fifo_server.h: - FIFO server reimplemented as module -
-	  Implementes all functions of the new management interface
+    modules/websockets: Added some extra debug/diagnostics
 
-2005-12-20 12:33  janakj
+commit ba0ff3123a223365c07a0d2ffa85d2d150f86bce
+Author: Peter Dunkley <[email protected]>
+Date:   Sun Jul 1 22:20:36 2012 +0100
 
-	* modules/xmlrpc/xmlrpc.c: - changed the meaning of rpc_scan*
-	  functions, they return the number of	 parameters found, in case
-	  of an error they return the number of parameters   successfuly
-	  converted as negative number - rpc_fault accepts printf-like
-	  formatted strings
+    core: Updated Via and Record-Route generation for WebSockets
 
-2005-12-20 12:32  janakj
+commit 3d4a77d86a879d55f8b39bc2a86bc2f51d0258f9
+Author: Peter Dunkley <[email protected]>
+Date:   Sat Jun 30 22:53:00 2012 +0100
 
-	* core_cmd.c: - changed the meaning of rpc_scan* functions, they
-	  return the number of	 parameters found, in case of an error they
-	  return the number of parameters   successfuly converted as
-	  negative number
+    core: Added more PROTO_WS and PROTO_WSS checks
 
-2005-12-20 02:52  mma
+commit 56767ad8cb445f8475c6372c964c4d57fb40a500
+Author: Peter Dunkley <[email protected]>
+Date:   Sat Jun 30 22:52:26 2012 +0100
 
-	* action.c, cfg.lex, cfg.y, route.c, route_struct.c,
-	  route_struct.h, select.c, select.h, select_core.c, select_core.h:
-	  History rewritten, new files GPLized
+    modules/websocket: Removed SIPp script and HTML file from example directory
 
-2005-12-20 02:00  mma
+commit fd2a237fbac519ad709c5f169cbc3f29b125409f
+Merge: b66e815 8c789cd
+Author: Peter Dunkley <[email protected]>
+Date:   Sat Jun 30 21:13:58 2012 +0100
 
-	* select_core.c, select_core.h: Message core select functions
-	  implemented:
+    Merge branch 'master' into websocket
+    
+    Conflicts:
+    	pkg/kamailio/fedora/16/kamailio.spec
 
-	  (from|f) (from|f).(uri|name|tag) (from|f).params.<name>
+commit 8c789cdeb969af921e74a4ece194ccda5c297e6a
+Author: Peter Dunkley <[email protected]>
+Date:   Sat Jun 30 21:05:40 2012 +0100
 
-	  (to|t) (to|t).(uri|name|tag) (to|t).params.<name>
+    pkg/kamailio/fedora: Updated some packaging related stuff
+    
+    - Updated the rel in the .spec to dev1
+    - Replaced local %{_sharedir} macro in .spec with standard %{_datadir} macro
+    - Tweak/update to Fedora 16 test appliance
+    - Added BoxGrinder appliances for Fedora 17
 
-	  (contact|m)
-	  (contact|m).(uri|name|q|expires|method|received|instance)
-	  (contact|m).params.<name>  - temporarily only the first contact
-	  is used
+commit b66e815ebe9ee9a5035abaf08c6e97a9c3281dcc
+Author: Peter Dunkley <[email protected]>
+Date:   Sat Jun 30 20:36:00 2012 +0100
 
-	  (from|f|to|t|contact|m).uri.(type|user|pwd|host|port|params)
+    modules/websocket: Corrected output of ws.dump MI command
 
-	  (via|v|via[index]|v[index])
-	  (via|v|via[index]|v[index]).(name|version|transport|host|port|comment|branch|received|rport|i|alias)
-	  (via|v|via[index]|v[index]).params.<name>
+commit 6fe3e10b4a17c166f642500748392a9bcb72cabd
+Author: Peter Dunkley <[email protected]>
+Date:   Sat Jun 30 20:35:10 2012 +0100
 
-	  msg.(<header_name>|<header_name>[index])  - index value -1
-	  denotes the last header with such name  - header aliases are not
-	  supported, e.g. msg.t and msg.to will return	  different results
+    core: Fixed segmentation fault
+    
+    - Tiny window for this...  but I hit it when Google Chrome crashed during
+      a WebSocket session
 
-2005-12-20 01:49  mma
+commit 5456e4e90c6330877e0d25d14fba143f2f98f8c6
+Author: Peter Dunkley <[email protected]>
+Date:   Sat Jun 30 00:46:20 2012 +0100
 
-	* action.c, cfg.lex, cfg.y, route.c, route_struct.c,
-	  route_struct.h, select.c, select.h, select_core.c, select_core.h:
-	  New script element, Jan's select function framework (@xxx),
-	  extended for modular use. In the script it can be used as value
-	  assigned to AVP and in the string comparision, RE matching, like:
-	  [email protected][1]; if (@via.protocol=="UDP")...
+    modules/websocket: Updated connection reuse and closing flags for WebSocket handshake.
+    
+    - Updated the sample kamailio.cfg to match too.
 
-	  The name to called function conversion is implemented as tree in
-	  a table, modules can register their own tables in module
-	  initialization function.
+commit dc7fa93f2e60efd2f7d428762590fa313e3fe91f
+Author: Peter Dunkley <[email protected]>
+Date:   Sat Jun 30 00:02:29 2012 +0100
 
-	  Description of the construction of the table expected to follow
-	  soon in the documentation files...
+    modules/websocket: improved sample kamailio.cfg for WebSockets
 
-2005-12-19 16:22  greger
+commit 1e2f18da2f2c8791f804b33e96dea043f18642bf
+Author: Peter Dunkley <[email protected]>
+Date:   Sat Jun 30 00:01:07 2012 +0100
 
-	* Makefile.doc, doc/stylesheets/html.chunked.xsl: Added support for
-	  target html for documentation build system.
+    everything: shotgun attempt to put PROTO_WS and PROTO_WSS across core and in modules I use
+    
+    - Bound to have missed something and lots of testing required.
 
-2005-12-19 15:10  greger
+commit 9349870abc5eb0688cf0fd50c0fa54098158fa79
+Author: Peter Dunkley <[email protected]>
+Date:   Fri Jun 29 23:11:15 2012 +0100
 
-	* Makefile.doc: Fixed a type preventing proper build of pdf with
-	  xep.
+    core: rolled back changes to receive.c
+    
+    - Not actually needed because the recent change to ws_frame.c covers it all
+      (I think)
 
-2005-12-19 13:58  andrei
+commit 636a6dabd14e08f2255e52a58353822642deda10
+Author: Peter Dunkley <[email protected]>
+Date:   Fri Jun 29 23:08:19 2012 +0100
 
-	* Makefile.defs:  - added a SER_VER define which contains the
-	  numerical ser version
-	   (0.10.99 = 0*1000000 + 10*1000 +99 = 10099). It can be used to
-	  compile code
-	   conditionally (#if SER_VER > x...). If SER_VER is not defined =>
-	  older ser
-	    version (0.9.x).
+    modules/websocket: Make sure that all WebSocket messages are sent on connections that already exist
+    
+    - This is the same as using set_forward_no_connect() and
+      set_reply_no_connect() in kamailio.cfg.  But this means it will
+      always happen automatically for WebSocket messages.
+    - This is important as a WebSocket server cannot create connections -
+      so we always have to use one that already exists.
 
-2005-12-19 09:26  kubartv
+commit 242920ec30af3a954f8a193d417c671a29d383b4
+Author: Peter Dunkley <[email protected]>
+Date:   Fri Jun 29 23:05:48 2012 +0100
 
-	* lib/presence/notifier_domain.c: corrected bug in internal status
-	  notification mechanism
+    core: Make sure that responses to requests received on a WebSocket are sent on existing connections
+    
+    - WebSocket servers cannot create connections to WebSocket clients - so
+      this setting is essential.
+    - It does exactly the same thing as using set_reply_no_connect() in
+      kamailio.cfg - but this way it is always on (as it must be) for
+      WebSockets.
 
-2005-12-16 14:09  andrei
+commit 915894b15d9096388a0136d2d2bdf48ef65b4c4a
+Author: Peter Dunkley <[email protected]>
+Date:   Fri Jun 29 23:03:15 2012 +0100
+
+    modules_k/nathelper: Added nat_uac_test() check for WebSockets
+    
+    - At the moment (and until Kamailio and _all_ WebSocket clients support
+      outbound) we want to treat WebSocket UAs as behind NATs (even when they
+      are not).
+    - This is so that the aliasing (which is good for TCP/TLS connection reuse
+      as well as NAT traversal) can be used to make sure messages to WebSocket
+      UAs are routed correctly.
+
+commit 353ad95af22d7a4c7d20aebbed291fef085867ba
+Author: Peter Dunkley <[email protected]>
+Date:   Fri Jun 29 17:47:22 2012 +0100
+
+    modules/websockets: Changes WS to be a protocol in its own right instead of a flag on TCP/TLS connections
 
-	* Makefile.defs, modules/tm/uac.c: - fixed t_uac 0 fr_timer
-	  (reported by Stefan Sayer) : all the fifo created  transaction
-	  will have the default tm timer (fr_inv_timer, fr_timer). They
-	  will	 not be affected by t_set_fr or the fr_timer avps.
+commit 8c4d2e7379e783ac22b63266c3a63a2579100d87
+Author: Peter Dunkley <[email protected]>
+Date:   Fri Jun 29 17:47:06 2012 +0100
 
-2005-12-16 01:40  janakj
+    modules_k/nathelper: Added PROTO_WS support
 
-	* modules/domain/: domain.c, domain.h, domain_mod.c, domain_rpc.c,
-	  domain_rpc.h: - bug in shm_realloc fixed - converted to the new
-	  rpc interface
+commit d08c4dc3341d2f2ac497a81fed9aef522ce16ed9
+Author: Peter Dunkley <[email protected]>
+Date:   Fri Jun 29 17:46:36 2012 +0100
 
-2005-12-16 00:37  janakj
+    modules/tm: Added PROTO_WS support
+
+commit 8393efff31843b04b45e6bf728469b32625e86b0
+Author: Peter Dunkley <[email protected]>
+Date:   Fri Jun 29 17:44:15 2012 +0100
+
+    core: Changed WS from being a flag on a TCP/TLS connection to a protocol in its own right
+    
+    - Also added ;transport=ws parameter parsing for URIs
+
+commit 9d720b83c9dd27e927627132ec052b15efeba518
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Fri Jun 29 16:06:42 2012 +0200
+
+    kamailio.cfg: use add_contact_alias()/handle_uri_alias() for NATed calls
+
+commit 6cfc7ccda69803e8767cfd125a263e9fcafb895d
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Fri Jun 29 12:34:08 2012 +0200
+
+    Makefile.defs: version set to 3.4.0-dev1
+
+commit bd346c4d541a87b2fed17261eaf6f10b29443574
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Fri Jun 29 12:28:07 2012 +0200
+
+    kamailio.cfg: set version to 3.4 in the top comments
+
+commit 6da3e961d7f0d302b8f275aec07abfd411bcf875
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Fri Jun 29 12:25:24 2012 +0200
+
+    tm: added t_is_set("target") function
+    
+    - returns true if the attribute specified by the target parameter is set
+      for current transaction (e.g., failure_route, branch_route,
+      onreply_route)
+    - on_negative was replaced with on_failure internally to be consistent
+      with config file naming
+
+commit 8c6f700b4213552789fa97c4edf0ff4bb4b61f90
+Author: Peter Dunkley <[email protected]>
+Date:   Thu Jun 28 17:57:44 2012 +0100
+
+    core: added support for WS keyword for use in conditionals with proto and snd_proto
+
+commit d07a57f6849e94764302939541157c71d73eae6a
+Author: Peter Dunkley <[email protected]>
+Date:   Thu Jun 28 17:55:53 2012 +0100
+
+    core: fixed an issue where big websocket requests (single WS frame but across multiple packets) weren't handled
+
+commit 3269116331b5161cd08aba390a0e3804dafdf668
+Author: Peter Dunkley <[email protected]>
+Date:   Thu Jun 28 17:54:45 2012 +0100
+
+    core: Fix to msg_send() so that requests destined for a WebSocket connection go through the websocket module
+    
+    - responses already worked
+
+commit d6f89300f70a8b511a1454eb1742561547b69a52
+Author: Peter Dunkley <[email protected]>
+Date:   Thu Jun 28 17:53:55 2012 +0100
+
+    modules/websockets: tidied up a bit of the code
+
+commit f030b2f274b69526f256e66098de72a074000ed1
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Thu Jun 28 16:24:47 2012 +0200
 
-	* receive.c: - skip via test for HTTP requests
+    p_usrloc: added missing usrloc API members
+    
+    - they are set to NULL to get a clean crash, they have to be implemented
+    - the missing API members are the functions introduced in 3.3 for
+      handling SIP GRUU and Outbound extensions
+    - a proper fix to follow
+    - reported by Dan Bogos
 
-2005-12-16 00:36  janakj
+commit ccfc9a41d453b05d25396a42aee641a2558e478c
+Author: Jon Bonilla <[email protected]>
+Date:   Thu Jun 28 02:13:54 2012 +0200
 
-	* msg_translator.c: - take protocol version from the request, as
-	  opposed to hardcoded	 value
+    pkg/deb Fix lsb init file
+    
+    We depend on $remote_fs as required_[start|stop]
 
-2005-12-16 00:31  janakj
+commit 79e99ae5cbe7016f22454faf4f9e9f5a463a4f7d
+Author: Jon Bonilla <[email protected]>
+Date:   Thu Jun 28 02:01:11 2012 +0200
 
-	* modules/xmlrpc/xmlrpc.c: - removed unused variables - compiler
-	  warnings fixed
+    pkg/deb Build kamailio-dbg package
 
-2005-12-16 00:31  janakj
+commit 8d649d042d43c4dc29b2cb747ba87c1f75590713
+Author: Anca Vamanu <[email protected]>
+Date:   Wed Jun 27 18:34:55 2012 +0300
 
-	* modules/avpops/avpops.c: - added rpc initialization to exports
-	  structure
+    modules_k/presence_xml Xcap auth reason when user deleted from list
+    
+    The reason in Subscription-Status header in Notify when a user is
+    deleted from the contact list can be decided by the admin by setting
+    presence_xml module parameter xcapauth_usedel_reason. Default value is
+    "probation".
+    (cherry picked from commit 3abf967f61a1bd95c28d4e8a929a8bd5df00671d)
 
-2005-12-16 00:31  janakj
+commit 3a2e929c63c656fe2db78e746546af05c66740ea
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Mon Jun 25 18:36:18 2012 +0200
 
-	* core_cmd.c: - removed unused variables
+    dialog(k): proper unlock of profile for mi list command
+    
+    - the profile was unlocked in a wrong place, before finishing listing
+      the its content and could cause a race in accessing it
+    - reported by Ricardo Martinez
 
-2005-12-16 00:30  janakj
+commit 2664cb9aa8ffd5d26ef6a0841318ccbcdefbf69b
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Mon Jun 25 10:36:31 2012 +0200
 
-	* Makefile: - do not compile xmlrpc module by default (requires
-	  libxml2)
+    dispatcher(k): allow set id 0 for OPTIONS callback
+    
+    - set id is provided in param pointer address, 0 being equivalent to
+      NULL
+    - reported by Avi Brender
 
-2005-12-16 00:19  janakj
+commit c270ac0e54ada9cc2599b21f8c87b5a0704093af
+Author: Peter Dunkley <[email protected]>
+Date:   Sun Jun 24 00:40:24 2012 +0100
 
-	* modules/avpops/: avpops.c, avpops_db.c, avpops_db.h,
-	  avpops_impl.c, avpops_parse.c, doc/functions.xml, doc/params.xml:
-	  - updated to the latest core APIs
+    modules/websocket: improvements to ws.dump MI command
 
-2005-12-16 00:19  janakj
+commit 6dfd1476bee55dd6287652b1f9ee9a8cf4d809f0
+Author: Peter Dunkley <[email protected]>
+Date:   Sat Jun 23 22:13:35 2012 +0100
 
-	* modules/mysql/utils.c: - _timegm removed
+    pkg/kamailio/fedora: added WebSocket module to .spec file
 
-2005-12-16 00:17  janakj
+commit 4611d052b9e73f9b301a043da632e28b7ec65bf4
+Author: Peter Dunkley <[email protected]>
+Date:   Sat Jun 23 21:57:37 2012 +0100
 
-	* ut.c, ut.h: - _timegm added to utils
+    modules/websocket: now using libunistring:u8_check() to work out whether to send text or binary websocket frames
+    
+    - There is no straight-forward (or practical) way to be sure that a SIP request
+      only contains UTF-8 characters and therefore should be sent as text instead
+      of binary.  However, you can sometimes tell whether the request definitely
+      isn't UTF-8 by checking for invalid byte sequences - and when it is definitely
+      not UTF-8 frames _MUST_ be sent as binary.
 
-2005-12-16 00:16  janakj
+commit 7cd27114725b49864b6be812658aa00003c54e99
+Author: Peter Dunkley <[email protected]>
+Date:   Sat Jun 23 21:57:09 2012 +0100
 
-	* core_cmd.c: - core rpc commands
+    parser: Update Via parsing state-machine to support WS and WSS
 
-2005-12-16 00:16  janakj
+commit 64406b209d8b4fd9ed127a6b4b965e3c1863c3d2
+Author: Peter Dunkley <[email protected]>
+Date:   Sat Jun 23 21:55:34 2012 +0100
 
-	* rpc.h: - slightly change function prototypes
+    modules/websocket: updated example configuration and test scripts
+    
+    - Added options_rx.xml SIPp script
+    - kamailio.cfg routes OPTIONS to SIPp
+    - websocket_test.html now using WSS (WS over TLS)
 
-2005-12-16 00:15  janakj
+commit 11a2ad18ea0b263316fe8728aa44b892d7c4fe86
+Author: Peter Dunkley <[email protected]>
+Date:   Sat Jun 23 21:52:15 2012 +0100
 
-	* modules/xmlrpc/: Makefile, http.c, http.h, xmlrpc.c, xmlrpc.h: -
-	  libxml2 base implementation of XML-RPC protocol server
+    core: fixed segmentation fault I had added to forward.h
 
-2005-12-15 15:39  kubartv
+commit 1f139814262a4c5979c5301812f81304d885e92c
+Author: Peter Dunkley <[email protected]>
+Date:   Sat Jun 23 19:10:03 2012 +0100
 
-	* id.c: corrected get_to_uid - added call to
-	  parse_headers(HDR_TO_F)
+    core: added events and data-structures so that Kamailio core can transmit through the WebSocket module
 
-2005-12-15 15:21  kubartv
+commit 50d20ecde5503d11358b86cbd23456e2a302c9be
+Author: Peter Dunkley <[email protected]>
+Date:   Sat Jun 23 19:08:38 2012 +0100
 
-	* db/schema/ser.xml, db/schema/tuple_notes.xml,
-	  lib/presence/pidf.c, modules/pa/notify.c, modules/pa/pa_mod.c,
-	  modules/pa/pa_mod.h, modules/pa/presentity.c,
-	  modules/pa/presentity.h, modules/pa/publish.c,
-	  modules/pa/reply.c, modules/pa/tuple_notes.c,
-	  modules/rls/doc/rls.xml, scripts/mysql/my_create.sql,
-	  scripts/oracle/or_create.sql, scripts/postgres/pg_create.sql:
-	  handling notes for tuples:  - they are processed in PUBLISH
-	  handling - not tested  - they are stored in DB  - they are added
-	  to generated PIDF documents
+    modules/websocket: added generic transmit functions to WebSocket module so Kamailio core can send WebSocket frames
 
-2005-12-15 09:46  tma0
+commit 5c4133c2ba036776a1ea3c1f73c51a7d9d518fbe
+Author: Peter Dunkley <[email protected]>
+Date:   Sat Jun 23 17:37:25 2012 +0100
 
-	* modules/tm/t_hooks.h: added position constants of TMCB_xxxx
+    modules/websocket: Fixed a couple of connection issues and now dropping received SIP requests into receive_msg()
+    
+    - SIP parser not updated for WS and WSS yet
 
-2005-12-14 17:24  andrei
+commit ad7ea60ff5e8e2a8d5b9ddeaca99a2bab7941e70
+Author: Peter Dunkley <[email protected]>
+Date:   Sat Jun 23 16:07:12 2012 +0100
 
-	* mem/f_malloc.c: - DBG_F_MALLOC warning fixes
+    modules/websocket: updated example/test kamailio.cfg to support TLS
+    
+    - Basic WebSocket working over TLS
 
-2005-12-14 17:12  andrei
+commit 5d8239f5da2176938e0c789b9b2caa493725daa1
+Author: Peter Dunkley <[email protected]>
+Date:   Sat Jun 23 15:03:48 2012 +0100
 
-	* mem/f_malloc.c: - fixed DBG_F_MALLOC typo
+    modules/websocket: finished off WebSocket connection management
 
-2005-12-13 13:10  janakj
+commit 3a64dffb99cfe098f90fdd5c79adc938ac230bf6
+Author: Peter Dunkley <[email protected]>
+Date:   Sat Jun 23 11:31:50 2012 +0100
 
-	* modules/avp/avp.c: - forgot to add the rpc methods to exports
-	  structure
+    modules/websocket: tidied up some of the WS connection code
 
-2005-12-13 13:10  janakj
+commit 2f30521ea903b1805c728d60cccda6b2636cacde
+Author: Peter Dunkley <[email protected]>
+Date:   Fri Jun 22 00:34:24 2012 +0100
 
-	* modules/tm/t_stats.c, core_cmd.c, main.c, pt.h, tcp_main.c,
-	  modules/sl/sl_stats.c: - Modules can properly register processes
-	  in SER process table	 - process_count function has been replaced
-	  by process_count variable   - modules can increase the value of
-	  process_count in mod_init,	 this will be used to allocate
-	  process table that will be big enough   - modules can create
-	  processes in child_init with rank PROC_MAIN	  - the index into
-	  process table is in last_process, this is where	information
-	  about the new process should be recorded   - do not forget to
-	  reset is_main in the new process otherwise it     will not be
-	  terminated properly	- modules should increate last_process
-	  before fork	- the new child should set process_no =
-	  last_process
+    modules/websocket: Closing handshake now working
+    
+    - Also completed MI commands which allowed me to test Ping and Pong
 
-2005-12-13 07:48  kubartv
+commit 76f15b97d60b0e1c2c22fabc6c7310b33ad80742
+Author: Peter Dunkley <[email protected]>
+Date:   Thu Jun 21 17:37:08 2012 +0100
 
-	* parser/parse_content.h: forgotten file for previous commit
-	  (thanks Jan)
+    modules/websocket: More tidying up
 
-2005-12-13 02:38  janakj
+commit 2af2b3277a8b9fb46c5fa9a5ce38eea072a22663
+Author: Peter Dunkley <[email protected]>
+Date:   Thu Jun 21 16:58:05 2012 +0100
 
-	* modules/sl/sl.c: - aligned to latest changes in module interface
+    modules/websocket: fixed typo
 
-2005-12-13 02:18  janakj
+commit 857b117c5058200b57501868d5d29dab778fbd94
+Author: Peter Dunkley <[email protected]>
+Date:   Thu Jun 21 16:28:57 2012 +0100
 
-	* doc/stylesheets/fo.xsl: - initial FO stylesheet for documentation
+    modules/websockets: started adding WebSocket connection management to WebSocket module
 
-2005-12-13 02:12  janakj
+commit 7d35945ec66caa286db66cd55ef56c78f29c434c
+Author: Peter Dunkley <[email protected]>
+Date:   Thu Jun 21 13:50:53 2012 +0100
 
-	* core_cmd.c, main.c: - user2uid and group2gid moved to ut.c - typo
-	  fixed in core_cmd.c
+    modules/websocket: Added connection close code and tidied up MI commands
 
-2005-12-13 02:05  janakj
+commit a2f9844c01eb19d42d2a2864213c301c53f9b4ec
+Author: Vicente Hernando <[email protected]>
+Date:   Wed Jun 20 21:08:19 2012 +0200
 
-	* ut.h, ut.c: - user2uid and group2gid made available to modules
+    ndb_redis: README file update for unix domain socket support.
 
-2005-12-13 01:51  janakj
+commit b20f81a4efc43faed2656170f8b4108f897dffee
+Author: Vicente Hernando <[email protected]>
+Date:   Wed Jun 20 14:59:47 2012 -0400
 
-	* scripts/: dbtext/ser_db/missed_calls,
-	  dbtext/ser_db/presentity_notes, mysql/my_create.sql,
-	  oracle/or_create.sql, postgres/pg_create.sql: - updated from
-	  latest schema description
+    ndb_redis: able to connect to redis server via unix domain socket.
+    
+    - added unix atribute in server modparam
+    - unix attribute has higher precedence over address and port
 
-2005-12-13 01:50  janakj
+commit b260b0ad1bb6c687ef00eb084357d337549ae2ec
+Author: Carsten Bock <[email protected]>
+Date:   Wed Jun 20 15:41:02 2012 +0200
 
-	* db/schema/uri.xml: - indexes should not be unique
+    Disable keeping alive of dialog, if the dialog-api does not provide a dlg_flag.
 
-2005-12-13 01:49  janakj
+commit 1835cd92f2475ce12a79d972ca6548fbbb857ce4
+Author: Vicente Hernando <[email protected]>
+Date:   Tue Jun 19 13:31:42 2012 -0400
 
-	* db/schema/: phonebook.xml, acc.xml, aliases.xml, attr_types.xml,
-	  credentials.xml, domain.xml, domain_attrs.xml, global_attrs.xml,
-	  location.xml, missed_calls.xml: - Schema documentation (not yet
-	  complete)
+    ndb_redis: remove warning: implicit declaration of function redisc_free_reply
 
-2005-12-13 01:46  janakj
+commit 06982365e6d361d8fb78e1ece579eb1de87db643
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Tue Jun 19 15:06:03 2012 +0200
 
-	* Makefile.doc: - support for PDF target
+    pv: new variable $cnt(...) to count the number of other array variables
+    
+    - for now it supports counting AVPS - $cnt($avp(x) - returns the number
+      of how many AVPs with name x exist
+    - future plans - count headers with same name, xavps ...
 
-2005-12-13 01:41  janakj
+commit b5af0f6622d592f52f53b8c8572fcfe73fab867f
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Tue Jun 19 15:05:33 2012 +0200
 
-	* parser/parse_fline.h: - HTTP version macro
+    core: typedefed avp search state structure
 
-2005-12-13 01:40  janakj
+commit 95ca295c7db108c688d7f9278d089dcd6660d712
+Author: Vicente Hernando <[email protected]>
+Date:   Tue Jun 19 12:18:30 2012 +0200
 
-	* parser/msg_parser.h: - HTTP test macro
+    ndb_redis: README file update for redis_free function.
 
-2005-12-13 01:21  janakj
+commit 13bbe5ef4575cb9018bea5b1d6871214ab7287d1
+Author: Vicente Hernando <[email protected]>
+Date:   Tue Jun 19 05:56:24 2012 -0400
 
-	* modules/uri_db/uridb_mod.c: - module interface exended with list
-	  of management functions - missing flag added
+    ndb_redis: redis_free function.
+    
+    - Free an unused ndb_redis reply, including also its inner rplRedis
+    structure.
 
-2005-12-13 01:21  janakj
+commit f457ec98c2208d181bb94ace50b82faed6d707e0
+Author: Peter Dunkley <[email protected]>
+Date:   Sun Jun 17 21:31:29 2012 +0100
 
-	* modules/uri_radius/: checks.c, urirad_mod.c: - module interface
-	  exended with list of management functions - fixed badly
-	  initialized parameters
+    modules/websocket: Filled in MI commands to dump WebSocket connection details and Close a WebSocket
 
-2005-12-13 01:19  janakj
+commit 69c264b19f8b42e4700f9f8523912cf29eeadde5
+Author: Peter Dunkley <[email protected]>
+Date:   Sun Jun 17 21:30:33 2012 +0100
 
-	* modules/: xlog/xlog.c, tm/tm.c, uac/uac.c, uri/uri_mod.c,
-	  usrloc/ul_mod.c, speeddial/sdlookup.c, speeddial/speeddial.c,
-	  textops/textops.c, rr/rr_mod.c, sms/sms.c, pdt/pdt.c,
-	  permissions/permissions.c, pike/pike.c, postgres/db_mod.c,
-	  print/print.c, registrar/reg_mod.c, rls/rls_mod.c,
-	  nathelper/nathelper.c, options/mod_options.c, pa/pa_mod.c,
-	  jabber/jabber.c, lcr/lcr_mod.c, maxfwd/maxfwd.c,
-	  mediaproxy/mediaproxy.c, msilo/msilo.c, mysql/db_mod.c,
-	  domain/domain_mod.c, enum/enum_mod.c, exec/exec_mod.c,
-	  flatstore/flatstore_mod.c, gflags/gflags.c, avp_db/avp_db.c,
-	  avp_radius/avp_radius.c, cpl-c/cpl.c, dbtext/dbtext.c,
-	  dialog/dlg_mod.c, dispatcher/dispatcher.c, diversion/diversion.c,
-	  acc_radius/acc_radius.c, acc_syslog/acc_syslog.c,
-	  auth/auth_mod.c, auth_db/authdb_mod.c, auth_radius/authrad_mod.c,
-	  acc_db/acc_db.c: - module interface exended with list of
-	  management functions
+    core: Fixed a problem with receiving WebSocket frames
+    
+    - If two frames were pulled from the buffer at the same time the second
+      wasn't being processed.
 
-2005-12-13 01:02  janakj
+commit d3e770533b908acf73b359ba556a972c1330a118
+Author: Peter Dunkley <[email protected]>
+Date:   Sun Jun 17 14:29:44 2012 +0100
 
-	* sr_module.c, sr_module.h: - Module interface extended, each
-	  module can specify list   of management functions in a common
-	  fashion - added rpc lookup function
+    modules/websocket: more work on WebSocket framing and base-protocol
 
-2005-12-13 00:48  andrei
+commit c04689c5f5017456a9a5c0f6b617e13ee6f7a1d6
+Author: Peter Dunkley <[email protected]>
+Date:   Sun Jun 17 14:28:20 2012 +0100
 
-	* Makefile.defs: - ver. no ++
+    core: added clone buf support for WebSocket connections
 
-2005-12-13 00:47  andrei
+commit d096e24b900856396332ebd61ae854fc044c8971
+Author: Vicente Hernando <[email protected]>
+Date:   Sun Jun 17 15:02:43 2012 +0200
 
-	* NEWS, action.c, action.h, cfg.lex, cfg.y, route.c,
-	  route_struct.h:
-	  - return [val] support (returns from the current route with value
-	  val, by  default 1) - exit [val] support (exits the script with
-	  code val, where 0 means drop,  >0 means do default actions and <0
-	  means error) - drop is now equivalent to exit 0 - drop should be
-	  faster when used to exit deep routes - break is now equivalent
-	  with return 1 - the return code can be checked with $?, e.g.:
-	  if ($?==1) {...} else if ($?==-1){...} else {...}.
+    ndb_redis: free _redisc_rpl_list.
+    
+    - Free pending redis data to close ndb_redis module in a cleaner way.
 
-2005-12-13 00:41  janakj
+commit 68c60fd4156bda792463bd202b82afb2c967dcdd
+Author: Peter Dunkley <[email protected]>
+Date:   Sun Jun 17 00:44:14 2012 +0100
 
-	* core_cmd.c, core_cmd.h: - core commands reimplemented
+    modules/websocket: received frame decoding
 
-2005-12-13 00:40  janakj
+commit 62691a52ffd48e4dc674027cfe9b984620a55b88
+Author: Peter Dunkley <[email protected]>
+Date:   Sun Jun 17 00:43:44 2012 +0100
 
-	* rpc.h: - new management interface
+    core: tidied up websocket frame length code
 
-2005-12-13 00:18  tma0
+commit 1718093cfad0ea8085d20a7b5fd995f93c91a48a
+Author: Peter Dunkley <[email protected]>
+Date:   Sat Jun 16 22:58:36 2012 +0100
 
-	* modules/rr/: avp_cookie.c, avp_cookie.h, loose.c, record.c,
-	  rr_mod.c, doc/functions.xml: - rocord_route/loose_route cookie
-	  support (for AVP_CLASS_DIALOG) - rr_add_avp_cookie
+    core: improved de-buffering for websockets
+    
+    - This should handle the case that the full TCP packet hasn't been received
+      when the read function is called.  Not sure how to explicitly test this
+      though.
 
-2005-12-13 00:00  sobomax
+commit 74a32e90a9c86c40d9497a9543eedba63556e865
+Author: Peter Dunkley <[email protected]>
+Date:   Sat Jun 16 22:58:00 2012 +0100
 
-	* modules/avpops/: avpops.c, avpops_impl.c, avpops_parse.c: Backout
-	  previous change, Jan has a more complete patch waiting for
-	  review.
+    core: make it possible to retrieve TCP connection without updating connection liifetime
 
-2005-12-12 23:39  sobomax
+commit 68686612a5775e6d677becffa0873028b1c766bb
+Author: Peter Dunkley <[email protected]>
+Date:   Sat Jun 16 22:57:34 2012 +0100
 
-	* modules/avpops/: avpops.c, avpops_impl.c, avpops_parse.c: Patch
-	  severe breakage caused by the recent changes in the union
-	  int_str. The module is still broken due to some disappeared APIs,
-	  though.
+    modules/websocket: small tidy up to handshake code
 
-2005-12-12 21:27  andrei
+commit 3ec469611f9f6c57d593c000614f461488b760a3
+Author: Peter Dunkley <[email protected]>
+Date:   Sat Jun 16 17:06:33 2012 +0100
 
-	* timer.c, timer.h, doc/timers.txt, modules/tm/timer.c:  -
-	  shoot-yourself-in-the-foot bug reporting and workarround
-	  (time_del(self) in a timer handle)
-	   - added timer_allow_del() - use with care
-	   - updated timer docs
-	   - tm: uses timer_allow_del() in fr (as a safeguard)
-
-2005-12-12 17:10  andrei
-
-	* modules/tm/timer.c:  - fr timer marked as inactive before
-	  executing final_reponse handler, should
-	   fix slow_timer infinite loop bug, reported by Michal.
-	   (code in the fr handler might want to send a reply and fail due
-	  to low mem.
-	   condition => it will try to clear all timers and put the
-	  transaction on wait
-	   => it will try to self delete the running fr timer, which has an
-	  infinite loop
-	   side effect)
-
-2005-12-12 15:33  kubartv
-
-	* lib/presence/pidf.c, modules/pa/qsa_interface.c,
-	  modules/pa/subscribe.c, modules/pa/watcher.h,
-	  modules/rls/rls_handler.c, modules/rls/rls_handler.h,
-	  modules/rls/rls_mod.c, modules/rls/rls_mod.h,
-	  modules/rls/doc/functions.xml, doc/presence/examples.xml,
-	  modules/rls/doc/params.xml:  - changed handle_rls_subscription
-	  parameters !!! (only one XCAP server for lists supported now)
-	   - improved work with Accept headers in RLS
-	   - cosmetic changes in PA
-
-2005-12-12 13:26  andrei
-
-	* onsend.h: - added missing onsend.h
-
-2005-12-12 13:18  andrei
-
-	* mem/: f_malloc.c, q_malloc.c: - fixed real_used *realloc
-	  accounting - fixed initial size (didn't include overhead => fifo
-	  meminfo free was sometime  negative)
-
-2005-12-11 23:46  andrei
-
-	* Makefile.defs, NEWS, action.c, cfg.lex, cfg.y, config.h,
-	  forward.c, route.c, route.h, route_struct.h, sr_module.h,
-	  modules/textops/textops.c, modules/tm/t_funcs.c,
-	  modules/tm/t_fwd.c:
-	  - tm: t_relay will not stop script execution anymore in case of
-	  send error - added onsend_route: special route executed before
-	  forwarding a message, when  the final destination is known. Only
-	  a limited number of commands are allowed  ( if (expr) {}else{},
-	  drop, flags manipulations, send(), log()).   Usefull to catch
-	  more easily unauthorized attempts to relay/bounce message to
-	  protected destinations (e.g PSTN gateways)  - new onsend checks:
-	  to_{ip,port}, snd_{ip,port,proto,af}. to= to whom the   message
-	  will be sent to. snd=how ser will send it (socket
-	  ip/port,proto,af).  - msg:len in onsend_route will containg the
-	  "new" message len - textops: search() onsend_route support (it
-	  will use the new, freshly   constructed message and not the
-	  original one)
-
-	  Example: onsend_route{     # allow messages from 10.0.0.0/8 to
-	  1.2.3.4 only if flag 10 was set     # from the script     if
-	  (to_ip==1.2.3.4 && src_ip==10.0.0.0/8 && !isflagset(10)){
-	  log("msg dropped\n");        drop;	 }    # drop all messages
-	  that contain banned_user in from     if (search("From|f[
-	  ]*:.*banned_user")) drop; }
-
-2005-12-11 00:44  andrei
-
-	* Makefile.defs, NEWS, tsend.c, modules/tm/t_fifo.c,
-	  modules/tm/doc/params.xml:
-	   - tsend_* functions changed to obey the timeout more accurately
-	  and in all
-	     cases
-	   - unix_tx_timeout changed to milliseconds and its default value
-	  to 500 ms.
-
-2005-12-10 18:06  andrei
-
-	* Makefile, modules/msilo/msilo.c, modules/speeddial/sdlookup.c,
-	  modules/uri_db/uridb_mod.c:  - warning fixes
-	   - s/DEBUG/EXTRA_DEBUG/ in some modules
-	   - excluded more modules from compile by default (depend on
-	  external libs or
-	   are obsolete)
-
-2005-12-10 17:04  andrei
-
-	* Makefile.defs, NEWS, modules/tm/config.h, modules/tm/h_table.c,
-	  modules/tm/h_table.h, modules/tm/lock.c, modules/tm/lock.h,
-	  modules/tm/t_cancel.c, modules/tm/t_funcs.c,
-	  modules/tm/t_funcs.h, modules/tm/t_fwd.c, modules/tm/t_lookup.c,
-	  modules/tm/t_lookup.h, modules/tm/t_reply.c, modules/tm/timer.c,
-	  modules/tm/timer.h, modules/tm/tm.c, modules/tm/uac.c,
-	  modules/tm/doc/functions.xml, modules/tm/doc/params.xml:
-
-	  - tm migrated to the new timers (tm timers completely
-	  re-written).	- tm structures re-ordered & cleaned up for better
-	  "packing" on 64 bit	machines => size reduction (~800 bytes less
-	  per transaction on a 64 bit	machine)  - params: -
-	  retr_timer1p1, retr_timer1p2, retr_timer1p3 removed and replaced
-	    by retr_timer1 and retr_timer2	      - all timer values
-	  are now expressed in milliseconds (they were in
-	  seconds before).  Affected params: fr_timer, fr_inv_timer,
-		wt_timer, delete_timer, retr_timer1, retr_timer2
-	  - retr_timer1 (first retransmission) changed to 500 ms
-	  - delete_timer changed to 200 ms - functions: - new
-	  t_set_fr(timeout_fr_inv, timeout_fr) -- allows changing the
-	  transaction timer from script, even if the transaction was
-	  already created   (see tm docs for more).  -
-	  fr_inv_timer/fr_timer can be changed now without any performance
-	  penalty - more precise retransmissions timing - overall improved
-	  tm speed an memory footprint (e.g. on a 64 bit 2*Xeon 2.8Ghz	 +
-	  HT, optimized ser, NO_DEBUG => ~ 6370 cps new version, ~6000 cps
-	  old	version + rel_0_9_0 tm inser_timer fix; memory usage @
-	  6000cps: 490Mb new   version, 616Mb old version).  - NEWS updated
-
-2005-12-10 16:48  andrei
-
-	* timer.c, ut.h:  - warning message fixed (integer overflow)
-	   - added set_msg_id_val
+    core: Added WS support/events to Kamailio core
 
-2005-12-09 23:38  andrei
+commit 6d93ce1b8a752e2b3fdb0ff7a3cbef0c7bc44787
+Author: Peter Dunkley <[email protected]>
+Date:   Sat Jun 16 17:05:54 2012 +0100
 
-	* modules/tm/doc/functions.xml:  -fixed t_on_failure docs
-	  - added t_on_reply, t_on_branch
+    modules/websocket: WS module registering for WS messages and basic handler implementation
 
-2005-12-09 19:33  mma
+commit 48e7ee701571c127effa3b0ddd06468154ddf139
+Author: Peter Dunkley <[email protected]>
+Date:   Sat Jun 16 14:38:22 2012 +0100
 
-	* route_struct.h, modules/tm/tm.c: Let tm module be relatively
-	  independent on the route action internal structure (resp. its
-	  data size).  When accessing param #1 while fixing param #2 in the
-	  fixup_hostport2proxy function use correct type for pointer
-	  arithemtics.
-
-2005-12-09 19:29  andrei
-
-	* ut.h: - added struct msgid_var and get_msgid_val() macro -
-	  usefull to link some	value to a msg id
-
-2005-12-08 16:39  kubartv
-
-	* lib/presence/pidf.c, lib/presence/pidf.h, modules/pa/notify.c,
-	  modules/pa/pa_mod.c, modules/pa/publish.c,
-	  modules/pa/subscribe.c, modules/pa/watcher.c,
-	  modules/pa/watcher.h, parser/parse_content.c,
-	  parser/parse_content.h: improved handling presence documents in
-	  PA  - added generating of cpim-pidf+xml (draft version 07)  -
-	  improved parsing Accept header fields  - clarified work with
-	  document types
-
-2005-12-07 18:53  kubartv
-
-	* lib/presence/pidf.c, lib/presence/pidf.h, modules/pa/pa_mod.c,
-	  modules/pa/presentity.c, modules/pa/presentity.h,
-	  modules/pa/publish.c, modules/pa/reply.c, parser/parse_content.c,
-	  parser/parse_content.h:  - added parsing mimetype
-	  application/cpim-pidf+xml
-	   - added parsing cpim-pidf+xml document (draft version 07 - the
-	  same as PIDF, but other namespace)
-	   - corrected a little bug in parsing mimetypes
-	   - using default_expires for PUBLISH handling
-
-2005-12-07 10:22  kubartv
-
-	* db/schema/presentity_contact.xml, db/schema/presentity_notes.xml,
-	  db/schema/ser.xml, modules/pa/pa_mod.c, modules/pa/pa_mod.h,
-	  modules/pa/pdomain.c, modules/pa/pres_notes.c,
-	  modules/pa/presentity.c, modules/pa/presentity.h,
-	  modules/pa/publish.c, scripts/mysql/my_create.sql,
-	  scripts/oracle/or_create.sql, scripts/postgres/pg_create.sql:
-	  correct work with notes published for presentities (with
-	  persistence)
-
-2005-12-06 16:57  janakj
+    modules/websocket: more work on module boiler-plate and handshake
+    
+    - Handshake now works with Google Chrome
 
-	* db/db.h: - acc and missed_call table flags
+commit 80c4f4b1d9ff31e79c999b82db35c3b9abc56e22
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Fri Jun 15 17:17:07 2012 +0200
 
-2005-12-06 16:57  janakj
-
-	* modules/cpl-c/: cpl_log.h, cpl_parser.c: - fixed conflict with
-	  new macros in dprint.h
-
-2005-12-06 16:27  janakj
-
-	* modules/avp_radius/avp_radius.c: - removed variables that are not
-	  needed - fixed gcc warning
+    dialog(k): proper local linking of profile before dlg is created
+    
+    - reported by Nick R.
 
-2005-12-06 16:25  janakj
-
-	* modules/auth_radius/sterman.c: - removed variables which are not
-	  needed
+commit 407130579cb10620480e8800558375094aaf07be
+Author: Peter Dunkley <[email protected]>
+Date:   Fri Jun 15 10:17:06 2012 +0100
 
-2005-12-06 16:24  janakj
+    modules/websocket: Improvements to handshake handler
 
-	* modules/auth_db/authorize.c: - fixed gcc warning
+commit 48ba74772c398396e54a3cbb2d6cee9f4065d599
+Author: Peter Dunkley <[email protected]>
+Date:   Fri Jun 15 00:40:28 2012 +0100
 
-2005-12-06 16:14  janakj
+    modules/websocket: First attempt a module for websocket support
+    
+    - So far this is:
+      - Module boiler-plate
+      - WebSocket handshake
+      - Example/test kamailio.cfg
 
-	* cfg.lex, cfg.y: - reverted previous accidental commit
+commit 5ed96d257f2d402597a678e4451fd9011786f4a2
+Author: Peter Dunkley <[email protected]>
+Date:   Thu Jun 14 17:43:54 2012 +0100
 
-2005-12-06 16:09  janakj
+    modules_k/presence: partial NOTIFYs for presence.winfo not correctly formed when using notifier processes
+    
+    - I seem to have broken things when I did a pre-merge re-order/clean-up
+      of the code
+    - Issue found by Hugh Waite @ Crocodile RCS and fixed by Hugh Waite and
+      Peter Dunkley @ Crocodile RCS
 
-	* cfg.lex, cfg.y: - fixed gcc warning
+commit 78da4d35dfceaa3d167d2b5ad66f1a27bc0f4628
+Author: Peter Dunkley <[email protected]>
+Date:   Thu Jun 14 17:41:49 2012 +0100
 
-2005-12-06 15:57  janakj
+    modules_k/pua: send_publish() doesn't work correctly in DB only mode with certain DBs
+    
+    - The pua record wasn't getting inserted in some cases
+    - Looks like I removed a couple of lines I shouldn't have when merging
+      from Crocodile's internal SVN repository to git
+    - Issue found by Hugh Waite @ Crocodile RCS and fixed by Hugh Waite and
+      Peter Dunkley @ Crocodile RCS
 
-	* scripts/: dbtext/ser_db/presentity_contact, mysql/my_create.sql,
-	  oracle/or_create.sql, postgres/pg_create.sql,
-	  dbtext/ser_db/rls_subscription, dbtext/ser_db/rls_vs,
-	  dbtext/ser_db/rls_vs_names: - added missing presence tables
+commit 9dbe8f9fdff1eb5718698cdcdf2357ee1fabd42b
+Author: Peter Dunkley <[email protected]>
+Date:   Thu Jun 14 12:10:35 2012 +0100
 
-2005-12-06 15:54  janakj
+    modules_k/presence: Fixed segmentation fault when uploading pres-rules documents
+    
+    - Found and fixed by Hugh Waite @ Crocodile RCS
 
-	* db/schema/ser.xml: - support for 3rd party extension tables
+commit 1d89d7bea854c2e2c646b5d13ba215795325b50f
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Thu Jun 14 12:24:36 2012 +0200
 
-2005-12-06 14:15  andrei
+    pua: remove wrong free of TM callback param in send_publish()
+    
+    - reported by Charles Chance and Juha Heinanen
 
-	* cfg.lex, cfg.y: - bsd fixes (ADD already defined)
+commit 748b79fdeba12736b109dfbd77a3e9bb04c80b97
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Wed Jun 13 17:29:51 2012 +0200
 
-2005-12-05 19:33  andrei
+    usrloc(k): better safety check for null record access
 
-	* timer_ticks.h:
-	  - forgot it during last commit
+commit 31f404a98b09b5a6270e860574b16c9f9112c305
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Wed Jun 13 16:33:17 2012 +0200
 
-2005-12-05 19:29  andrei
+    usrloc(k): safety check for first record in udomain slot
+    
+    - reported by David Kovarik, FS#234
 
-	* Makefile.defs, clist.h, config.h, error.c, globals.h, main.c,
-	  pt.h, signals.c, signals.h, timer.c, timer.h, timer_funcs.h,
-	  version.h, doc/timers.txt:
-	  New timer interface:	 - allows adding timers dynamically   -
-	  supports one shot and periodic timers   - precise   - allows
-	  timeouts < 0.5 s (depends on the config., by default min. timeout
-	  = 62.5 ms)   - based on a 3 level hierarchical timing wheel
-	  - very fast	- low overhead for timer functions (most of the
-	  time, the excetion is     timer_del which  take can take quite a
-	  long time in special situations)   - supports "slow" timers
-	  (compile option, by default on), "slow" timer = a	timer
-	  handler which is declared as possible taking a long timer to
-	  execute.    - backward compatible: old timer functions are
-	  preserverd => no changes	needed for the existing code
-	  (although migration to the new interface is	   recommended)
-	  For more information read doc/timers.txt.  tm timer update will
-	  follow shortly (this week).
+commit b8201c6dbff5967d1277363d119cbf33590d4112
+Author: Jon Bonilla <[email protected]>
+Date:   Wed Jun 13 15:38:20 2012 +0200
 
-2005-12-05 18:43  kubartv
+    Makefile: Add db_cluster
+    
+    Added to standard group as it has no dependencies
 
-	* db/schema/presentity_contact.xml, lib/Makefile.ser,
-	  lib/Makefile.ser.defs, lib/cds/logger.h, lib/cds/ref_cntr.c,
-	  lib/presence/Makefile, lib/presence/Makefile.ser,
-	  lib/presence/pidf.c, lib/presence/pidf.h,
-	  lib/presence/pres_doc.c, lib/presence/pres_doc.h,
-	  lib/presence/xml_utils.c, lib/presence/xml_utils.h,
-	  lib/xcap/Makefile.ser, lib/xcap/resource_list.c,
-	  modules/pa/notify.c, modules/pa/pa_mod.c,
-	  modules/pa/presentity.c, modules/pa/presentity.h,
-	  modules/pa/publish.c, modules/pa/qsa_interface.c,
-	  modules/pa/qsa_interface.h: - improved PIDF document publishing
-	  (DB data storage not fully finished yet)   partialy solves BUGS:
-	  SER-86, SER-49 - unified PIDF documents creation
+commit 9a310fe940e4b93e13539ccfbd6137ba76dcce87
+Author: Juha Heinanen <[email protected]>
+Date:   Wed Jun 13 16:25:12 2012 +0300
 
-2005-12-05 18:32  andrei
+    modules_k/presence_[dialoginfo|mwi|reginfo]: fixed test of wrong variable
 
-	* action.c, route.c, usr_avp.c, usr_avp.h, modules/tm/t_lookup.c:
-	  - fixed some warnings
-	   - fixed typo in action.c
-	   - fixed dynamic regex not regfreed and backup char not restored
-	  on error in
-	    route.c
+commit b13434ff7f8e8b1b88434e888c26a77874eceeb0
+Author: Peter Dunkley <[email protected]>
+Date:   Wed Jun 13 11:47:07 2012 +0100
 
-2005-12-05 18:14  janakj
+    modules_k/usrloc: Only run timer when timer_interval > 0
+    
+    - This is useful on DB only multi-server systems when the database is
+      cleaned up outside of Kamailio.
+    - This is a re-instatement of something that worked before the
+      addition of GRUU.
 
-	* modules/tm/t_hooks.c: - fixed misplaced set_avp list, courtesy of
-	  [email protected]
+commit c737ff95bb2e742981d81088169baa60d4605b85
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Wed Jun 13 11:51:57 2012 +0200
 
-2005-12-05 18:01  andrei
+    drouting: reset the content of routing tree if root pointer is not freed
+    
+    - reported by Yufei Tao
 
-	* Makefile, Makefile.defs, cfg.lex, cfg.y, dprint.h,
-	  test/gcc_versions.txt: - rls excluded from the compile by default
-	  list (depends on external libs) - added DEBUG(), ERR(), WARN(),
-	  INFO(), BUG() which can be used instead of  LOG(L_*, ). The new
-	  macros will add "DEBUG:", "ERROR:" a.s.o in front of the  message
-	  and also the filename and line number from where they were called
-	  ( DEBUG("x")  in foo.c:23 is equiv. with DBG("DEBUG: foo.c:23:
-	  x"))
+commit 9fda39db41328a47180a7591713323ca00a140a6
+Author: Jon Bonilla <[email protected]>
+Date:   Wed Jun 13 03:16:37 2012 +0200
 
-2005-12-05 13:11  janakj
+    pkg/deb Update debian version to 3.4.0~dev0
 
-	* doc/doc_root.xml: - Processing instructions to generate output in
-	  subdirs - acc removed
+commit e037e9ed2b6f3d840c6e8bf18a3caeaa3274f004
+Author: Peter Dunkley <[email protected]>
+Date:   Tue Jun 12 14:24:48 2012 +0100
 
-2005-12-05 13:10  janakj
+    modules_k/registrar: Fixed merge error in api.c
+    
+    - Issue found and fixed by Hugh Waite @ Crocodile RCS Ltd
 
-	* Makefile.doc, doc/Makefile: - Configurable output directory,
-	  filename, and extension - New variable OUTPUT_DIR which can be
-	  overriden from doc Makefiles - Separate stylesheet for plain-text
-	  documentation
+commit 76d2424a798a1381f51003a9aa4f174ba243ecc0
+Author: Peter Dunkley <[email protected]>
+Date:   Tue Jun 12 02:25:24 2012 +0100
 
-2005-12-05 13:08  janakj
+    modules/ipops: Added new exported function is_in_subnet()
+    
+    - Feature added by Hugh Waite @ Crocodile RCS Ltd
 
-	* doc/stylesheets/: dep.xsl, txt.xsl: - Separate stylesheet to
-	  generate plaintext documentation from docbook
+commit 0aae547c7f18186372f01b07144b64a646b37971
+Author: Peter Dunkley <[email protected]>
+Date:   Tue Jun 12 02:10:30 2012 +0100
 
-2005-12-05 13:08  janakj
+    modules/app_lua: Added registrar:save_uri support
+    
+    - Feature by Hugh Waite @ Crocodile RCS Ltd
 
-	* doc/stylesheets/: xhtml.xsl, xhtml.chunked.xsl, xhtml.common.xsl:
-	  - Added stylesheet to generate chunked XHTML output - Added
-	  stylesheet to generate single file XHTML output - XHTML
-	  stylesheets generate strict and clean XHTML code
+commit b4f3aea40c9588d60fb6643c52860a40b9ed994e
+Author: Peter Dunkley <[email protected]>
+Date:   Tue Jun 12 02:07:42 2012 +0100
 
-2005-12-05 13:06  janakj
+    modules_k/registrar: Exported save_uri
+    
+    - Feature added by Hugh Waite @ Crocodile RCS Ltd
 
-	* doc/stylesheets/ser.css: - CSS file renamed
+commit 3d3b1daf319fe87b880671cd5de9a2a6ace6c64b
+Author: Peter Dunkley <[email protected]>
+Date:   Tue Jun 12 02:01:10 2012 +0100
 
-2005-12-05 13:05  janakj
+    modules/tls: Fixed log level and diagnostic typo
+    
+    - Fix by Hugh Waite @ Crocodile RCS Ltd
 
-	* doc/stylesheets/README: - Description of various stylesheets in
-	  sip_router/doc/stylesheet directory
+commit 74641106779c13fa2f6bf2384293e35dc21f3b5a
+Author: Peter Dunkley <[email protected]>
+Date:   Mon Jun 11 22:39:10 2012 +0100
 
-2005-12-05 11:05  danp
+    pkg/kamailio/fedora/16: Updated ver and rel in .spec to 3.4.0 and dev0
 
-	* modules/mediaproxy/functions.h: allow fixing of contacts
-	  independent of protocol
+commit 0c7b9304efd5954cf53ba13a065b05a277efc91f
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Mon Jun 11 14:32:44 2012 +0200
 
-2005-12-04 12:51  janakj
+    registrar(k): don't access realm_prefix.s if len is <=0
+    
+    - solaris is not happy accessing .s struct field if set to 0
 
-	* modules/msilo/msilo.c: - support for uid - aligned to latest
-	  database schema
+commit d42379da90f2ec87cb5dbb00ebb563c7528ec910
+Author: Daniel-Constantin Mierla <[email protected]>
+Date:   Mon Jun 11 12:32:05 2012 +0200
 
-2005-12-03 19:57  janakj
+    Makefile: version set to 3.4.0-dev0
+    
+    - development for future major version 3.4.0 is open
 
-	* cfg.lex: - removed comments to make the file work with older flex
-	  versions,   reported by Jan Ruzicka <[email protected]>
-
-2005-12-02 14:57  kubartv
-
-	* db/schema/: rls_subscription.xml, rls_vs.xml, rls_vs_names.xml,
-	  ser.xml: added DB tables for RLS module
-
-2005-12-01 23:58  janakj
-
-	* modules/: avp_radius/avp_radius.c, uri_radius/urirad_mod.c,
-	  acc_radius/acc_radius.c: - fixed bug in radius initialization,
-	  credits go to   Hendrik Scholz   closes SER-85
-
-2005-12-01 16:54  kubartv
-
-	* modules/rls/rl_subscription.c: added "expires" parameter to
-	  Subscription-State for pending and active resource list
-	  subscriptions
-
-2005-12-01 16:37  kubartv
-
-	* modules/pa/qsa_interface.c: corrected watcherinfo notifications
-	  for internal subscriptions
-
-2005-12-01 16:22  kubartv
-
-	* modules/pa/: notify.c, pa_mod.c, pdomain.c, presentity.h,
-	  qsa_interface.c, subscribe.c: corrected PA BUGs (thanks Meera -
-	  [email protected]):  - NOTIFY sent "immediately" after
-	  SUBSCRIBE request processed  - "expires" parameter of
-	  Subscription-State set for pending subscriptions too	- corrected
-	  processing of internal subscriptions (from RLS)
-
-2005-12-01 12:25  janakj
-
-	* modules/speeddial/: sdlookup.c, speeddial.c, speeddial.h: -
-	  support for uid and did - updated to the latest db schema
-
-2005-12-01 11:56  janakj
-
-	* modules/tm/: h_table.c, t_fifo.c, t_funcs.c, t_funcs.h,
-	  t_hooks.c, t_lookup.c, t_reply.c, uac.c: - updated to latest avp
-	  api
-
-2005-12-01 11:20  janakj
-
-	* scripts/postgres/pg_create.sql, scripts/dbtext/ser_db/silo,
-	  scripts/mysql/my_create.sql, scripts/oracle/or_create.sql,
-	  db/schema/silo.xml: - fixed conflicting column names
-
-2005-12-01 11:19  janakj
-
-	* modules/uri_db/uridb_mod.c: - Added support for To header field
-	  in lookup_user
-
-2005-12-01 11:18  janakj
-
-	* modules/avp_db/avp_db.c: - fixed wrong return value
-
-2005-12-01 11:18  janakj
-
-	* route.c: - typo fixed
-
-2005-12-01 11:18  janakj
-
-	* id.c: - fixed incorrectly set attribute name
-
-2005-11-30 18:31  janakj
-
-	* config.h: - reverted the default value of shared memory buffer
-
-2005-11-30 18:05  janakj
-
-	* modules/avp_db/: avp_db.c, avp_db.h: - load_attr: functio to load
-	  user preferences - removed unused fifo and unixsocket interface
-
-2005-11-30 18:03  janakj
-
-	* modules/domain/: domain.c, domain_mod.c: - lookup_domain
-	  function, the function can be used to lookup domain id   based on
-	  SIP URI
-
-2005-11-30 18:01  janakj
-
-	* modules/options/mod_options.c: - missing include added
-
-2005-11-30 18:01  janakj
-
-	* modules/uri_db/: checks.c, uridb_mod.c, uridb_mod.h: - format of
-	  uri table changed - new function lookup_user to lookup uid based
-	  on SIP URI
-
-2005-11-30 17:59  janakj
-
-	* modules/sl/sl.c: - sl_reply function alias
-
-2005-11-30 17:59  janakj
-
-	* modules/registrar/: reg_mod.c, save.c: - save_contact and
-	  lookup_contact function name aliases
-
-2005-11-30 17:58  janakj
-
-	* modules/maxfwd/maxfwd.c: - shorter function name
-
-2005-11-30 17:56  janakj
-
-	* modules/gflags/gflags.c: - fixed wrong avp list reset
-
-2005-11-30 17:55  janakj
-
-	* modules/: auth_db/authorize.c, auth_radius/sterman.c,
-	  avp_radius/avp_radius.c, cpl-c/cpl.c, cpl-c/cpl_proxy.h,
-	  lcr/lcr_mod.c, nathelper/nathelper.c, uri_radius/checks.c: -
-	  change in int_str defintion
-
-2005-11-30 17:45  janakj
-
-	* db/schema/entities.xml, db/schema/grp.xml, db/schema/i18n.xml,
-	  db/schema/silo.xml, scripts/dbtext/ser_db/grp,
-	  scripts/dbtext/ser_db/silo, scripts/dbtext/ser_db/version,
-	  scripts/mysql/my_create.sql, scripts/oracle/or_create.sql,
-	  scripts/postgres/pg_create.sql: - Size of avp value increased to
-	  255 - uid-based grp table - explicit string lengths in i18n table
-	  - silo table format updated
-
-2005-11-30 17:26  janakj
-
-	* action.c, cfg.y, config.h, dprint.h, main.c, route.c,
-	  route_struct.c, route_struct.h: - AVPs can be used in place of
-	  strings and integers in expressions	(if (method == %method)) -
-	  Support for AVP assign statements ( %var1 = "value"; %var1 +=
-	  "value2"; ) - Support for binary operators & and | in expressions
-	  - AVPs can be tested in expressions (if (%var1 == 4)) - fixed a
-	  bug in string comparisons in expressions - extended parameters of
-	  expression evaluation functions - fixed possible buffer overflow
-	  vulnerability in log("dfd") script function - default memory
-	  buffers enlarged - length of string is calculated in expression
-	  fixup - fixed bug in function printing route statements
-	  (traversed the list	recursively several times)
-
-2005-11-30 17:14  janakj
-
-	* cfg.lex: - Support for AVP identifiers - Support for binary
-	  operators & and | - Support for binary number notation: 0100b -
-	  Support for negative numbers - Support for assign statements
-
-2005-11-30 17:10  janakj
-
-	* receive.c: - aligned to avp api
-
-2005-11-30 17:10  janakj
-
-	* id.c: - When retrieving from uid - try digest username first,
-	  then proceed to from
-
-2005-11-30 17:09  janakj
-
-	* usr_avp.c, usr_avp.h: - small change in avp lists
-
-2005-11-30 16:43  kubartv
-
-	* modules/pa/: pdomain.c, presentity.c, presentity.h, publish.c,
-	  qsa_interface.c, subscribe.c, watcher.c: more uuid-zation of PA
-	  module
-
-2005-11-30 16:42  kubartv
-
-	* modules/rls/: rl_subscription.c, rlmi_doc.c,
-	  subscription_manager.c, virtual_subscription.c: corrected BUG in
-	  document format for nested resource lists
-
-2005-11-29 20:28  andrei
-
-	* config.h, forward.c, ut.h, modules/tm/t_lookup.c: -
-	  reverse_hex2int/int2reverse_hex switched to unsigned int
-	  (int2reverse_hex returned error for large integers)
-
-2005-11-29 16:48  kubartv
-
-	* lib/cds/logger.h, lib/cds/msg_queue.c, lib/presence/pres_doc.c,
-	  lib/xcap/resource_list.c, lib/xcap/resource_lists_parser.c,
-	  lib/xcap/rls_services_parser.c, modules/rls/db_rls.c,
-	  modules/rls/rl_subscription.c, modules/rls/rls_handler.c,
-	  modules/rls/rls_mod.c, modules/rls/virtual_subscription.c,
-	  modules/pa/pa_mod.c, modules/pa/pdomain.c,
-	  modules/pa/presentity.c, modules/pa/subscribe.c,
-	  modules/pa/watcher.c: corrected BUG in callback (to usrloc)
-	  unregistration
-
-2005-11-29 15:48  rco
-
-	* modules/tm/: t_hooks.h, t_reply.c, tm.c, uac.c, uac.h: added
-	  support for provisional responses while using t_uac_dlg.  added
-	  transaction relevant information on locally generated replies.
-
-2005-11-28 15:53  kubartv
-
-	* lib/xcap/pres_rules.c: corrected BUG in XCAP authorization rules
-	  processing
-
-2005-11-28 13:09  kubartv
-
-	* lib/cds/list.h, lib/presence/notifier.h,
-	  lib/presence/notifier_domain.c, lib/presence/pidf.c,
-	  lib/presence/pres_doc.c, lib/presence/pres_doc.h,
-	  modules/pa/qsa_interface.c, modules/rls/db_rls.c,
-	  modules/rls/rl_subscription.c, modules/rls/rl_subscription.h,
-	  modules/rls/rlmi_doc.c, modules/rls/rls_handler.c,
-	  modules/rls/rls_mod.c, modules/rls/subscription_manager.c,
-	  modules/rls/virtual_subscription.c: first attempt about resource
-	  lists nested in other resource lists
-
-2005-11-25 17:54  ullstar
-
-	* modules/dispatcher/dispatcher.c: fixed dispatcher fixup function.
-	  It used str fixup where int should be used.
-
-2005-11-24 16:34  kubartv
-
-	* lib/Makefile, lib/cds/cds.c, lib/cds/cds.h, lib/cds/logger.h,
-	  lib/cds/msg_queue.c, lib/cds/msg_queue.h, lib/cds/ref_cntr.c,
-	  lib/cds/ref_cntr.h, lib/presence/domain_maintainer.c,
-	  lib/presence/notifier.h, lib/presence/notifier_domain.c,
-	  lib/presence/notifier_domain.h, lib/presence/qsa.c,
-	  modules/pa/auth.c, modules/pa/pa_mod.c,
-	  modules/pa/qsa_interface.c, modules/pa/subscribe.c,
-	  modules/rls/rl_subscription.c, modules/rls/rls_mod.c,
-	  modules/rls/virtual_subscription.c:  - improved cleanup of pa,
-	  rls and libs
-	   - corrected error in watcherinfo authorization
-
-2005-11-24 16:23  janakj
-
-	* modules/avp/: Makefile, avp.c: - aligned to the latest changes in
-	  usr_avp - print_sattr prints all avp values
-
-2005-11-24 16:11  janakj
-
-	* modules/domain/: domain.c, domain.h, domain_mod.c: - changed name
-	  of avp flags - type avp_list_t* added - aligned to the latest
-	  changes in usr_avp
-
-2005-11-24 16:10  janakj
-
-	* modules/gflags/gflags.c: - changed name of avp flags
-
-2005-11-24 16:09  janakj
-
-	* db/db.h: - pending and deleted flags added
-
-2005-11-24 16:09  janakj
-
-	* db/schema/ser.xml, db/schema/version.xml,
-	  scripts/dbtext/ser_db/grp, scripts/dbtext/ser_db/version,
-	  scripts/mysql/my_create.sql, scripts/oracle/or_create.sql,
-	  scripts/postgres/pg_create.sql: - added missing grp table
-
-2005-11-24 16:04  janakj
-
-	* id.c, id.h: - support for from and to attributes
-
-2005-11-24 16:03  janakj
-
-	* usr_avp.c, usr_avp.h: - exported structure avp_spec - Support for
-	  AVP tracks (tracks identify who owns the attributes,	 it can be
-	  either FROM (caller) or TO (CALLEE) - Better support for AVP
-	  classes - function delete_avp added - str* in int_str changed to
-	  str (there is no need to create   temporary str variables)
-
-2005-11-22 14:18  kubartv
-
-	* doc/presence/xcap.xml, lib/xcap/resource_list.c,
-	  modules/pa/pdomain.c, modules/pa/presentity.c,
-	  modules/pa/presentity.h, modules/pa/subscribe.c,
-	  modules/pa/watcher.c, modules/rls/rl_subscription.c,
-	  modules/rls/rls_mod.c, modules/rls/rls_mod.h,
-	  modules/rls/virtual_subscription.c, modules/rls/doc/params.xml:
-	  - presence partialy modified for uuid-zed usrloc callback
-	   - modified documentation about XCAP server simulation
-	   - added RLS module parameter for better work with XCAP
-	  simulation
-
-2005-11-21 17:53  janakj
-
-	* db/schema/i18n-cs.xml, db/schema/i18n-en.xml, db/schema/i18n.xml,
-	  db/schema/ser.xml, db/schema/version.xml,
-	  scripts/dbtext/ser_db/attr_types, scripts/dbtext/ser_db/i18n,
-	  scripts/dbtext/ser_db/version, scripts/mysql/my_create.sql,
-	  scripts/oracle/or_create.sql, scripts/postgres/pg_create.sql: -
-	  database tables for i18n
-
-2005-11-21 17:49  janakj
-
-	* db/schema/attr_types.xml: - gflags (saved value of global flags)
-	  attribute added
-
-2005-11-21 17:43  janakj
-
-	* modules/domain/: domain.c, domain.h, domain_mod.c, domain_mod.h,
-	  hash.c, hash.h: - Support for domain IDs - Support for domain
-	  aliases - Support for domain AVPs - The commit includes fix for
-	  bug reported by   Axel Böger <[email protected]> - new
-	  script commands
-
-2005-11-21 17:41  janakj
-
-	* modules/gflags/gflags.c: - typo fixed
-
-2005-11-21 17:40  janakj
-
-	* usr_avp.h, modules/gflags/gflags.c: - support for global flags
-	  persistence - support for fifo dump_gflags command - support for
-	  fifo flush_gflags command - flush_gflags script command added
-
-2005-11-21 16:54  kubartv
-
-	* doc/presence/xcap.xml, lib/xcap/resource_list.c,
-	  lib/xcap/resource_list.h, lib/xcap/resource_lists_parser.c,
-	  lib/xcap/resource_lists_parser.h, lib/xcap/rls_services_parser.c,
-	  modules/rls/rl_subscription.c, modules/rls/doc/params.xml: RLS
-	  modified to be usable not only with XCAP server, but with
-	  standard web server too, with short description in presence
-	  handbook about how to simulate XCAP server with web server
-
-2005-11-21 01:10  janakj
-
-	* modules/registrar/: common.c, common.h, lookup.c, reg_mod.c,
-	  reg_mod.h, save.c: - Aligned to recent usrloc changes - Support
-	  for uid instead of username,domain - case_sensitive parameter
-	  dropped (not needed anymore) - realm_prefix parameter dropped
-	  (not needed anymore) - use_domain parameter dropped (not needed
-	  anymore)
-
-2005-11-21 01:06  janakj
-
-	* modules/auth_radius/authorize.c: - Aligned to changes in auth
-	  module
-
-2005-11-21 01:04  janakj
-
-	* modules/auth_db/: authdb_mod.c, authdb_mod.h, authorize.c,
-	  authorize.h: - Aligned to the new database schema - Support for
-	  multiple credentials instances - Support for uid (internal user
-	  identity) - Support for credentials flags - always use username
-	  and realm when selecting credentials - support for distinct
-	  digest and serweb credentials
-
-2005-11-21 01:00  janakj
-
-	* modules/auth/: nonce.c, nonce.h, challenge.h, challenge.c,
-	  auth_mod.h, api.c, api.h, auth_mod.c, aaa_avps.h: - Support for
-	  "digest_realm" domain attribute - Minor code cleanup - Rpid
-	  support dropped, it will be implemented using AVPs.  -
-	  protect_contacts parameter added -
-
-2005-11-21 00:56  janakj
-
-	* modules/: acc_db/acc_db.c, acc_radius/acc_radius.c,
-	  acc_syslog/acc_syslog.c: - get to/from uid and save it
-
-2005-11-21 00:55  janakj
-
-	* id.c, id.h: - extract uid from message when not available.
-
-2005-11-21 00:53  janakj
-
-	* scripts/postgres/pg_create.sql, db/schema/credentials.xml,
-	  db/schema/location.xml, scripts/dbtext/ser_db/location,
-	  scripts/mysql/my_create.sql, scripts/oracle/or_create.sql: -
-	  added missing instance column to locatio table - credentials
-	  table index relaxed (not unique, there   can be several instances
-	  of credentials with different   flags).
-
-2005-11-21 00:44  janakj
-
-	* modules/tm/: tm.c, tm_load.c, tm_load.h: - make sure SER does not
-	  crash when modules are not loaded in correct	 order
-
-2005-11-19 20:10  janakj
-
-	* scripts/: oracle/or_create.sql, postgres/pg_create.sql,
-	  postgres/ser_postgres.sh: - oracle db schema (not functional yet)
-	  - postgres db schema - ser_postgres.sh (not functional yet)
-
-2005-11-19 20:08  janakj
-
-	* scripts/mysql/my_create.sql, db/schema/attr_types.xml,
-	  scripts/dbtext/ser_db/attr_types: - well known attribute names
-
-2005-11-19 20:05  janakj
-
-	* modules/usrloc/: urecord.c, urecord.h, usrloc.c, usrloc.h,
-	  notify.c, notify.h, ucontact.c, ucontact.h, udomain.c, udomain.h,
-	  ul_mod.c, ul_mod.h: - uid-zation completed - use_domain dropped,
-	  contacts are per uid, not per username and domain
-
-2005-11-19 19:52  janakj
-
-	* modules/gflags/gflags.c: - support for global attributes
-
-2005-11-19 18:05  janakj
-
-	* id.h, id.c: - uid/did manipulation
-
-2005-11-19 17:57  janakj
-
-	* receive.c: - reset domain avps
-
-2005-11-19 17:55  janakj
-
-	* db/db.h: - common flags in database
-
-2005-11-19 17:51  janakj
-
-	* usr_avp.c, usr_avp.h: - add_avp_list and reset_domain_avps added
-
-2005-11-18 15:58  kubartv
-
-	* lib/xcap/resource_list.c, lib/xcap/resource_list.h,
-	  modules/rls/rl_subscription.c, modules/rls/rls_handler.c,
-	  modules/rls/rls_mod.c, modules/rls/rls_mod.h,
-	  modules/rls/doc/params.xml, modules/rls/doc/rls.xml: added
-	  parametr "mode" to RLS module for control over resource list
-	  handling (see doc):  value of "full" -> behaviour according to
-	  xcap draft (lists read through rls-services document)  value of
-	  "simple" -> read resource-list documents directly (stored under
-	  specific XCAP uri)
-
-2005-11-18 15:19  andrei
-
-	* mem/f_malloc.c:  - log compile-time params at init/startup
-
-2005-11-17 21:47  janakj
-
-	* usr_avp.c: - fixed wrong condition
-
-2005-11-17 14:21  janakj
-
-	* modules/avpops/avpops_impl.c: - Aligned to new prototypes of
-	  functions in usr_avp.h
-
-2005-11-17 14:20  janakj
-
-	* modules/tm/: t_fifo.c, t_funcs.c, t_hooks.c, t_reply.c, uac.c,
-	  h_table.c, sip_msg.c: - Aligned to new prototypes of functions in
-	  usr_avp.h - clone missing attributes in to_body
-
-2005-11-17 13:38  janakj
-
-	* modules/lcr/lcr_mod.c: - Aligned to new prototypes of functions
-	  in usr_avp.h
-
-2005-11-17 13:37  janakj
-
-	* modules/avp_radius/avp_radius.c: - Update of radius attributes (I
-	  forgot to commit changes in this module   while updating RADIUS
-	  dictionary) - Aligned to new prototypes of functions in usr_avp.h
-
-2005-11-17 13:34  janakj
-
-	* modules/: avp/avp.c, avp_db/avp_db.c: - Aligned to new prototypes
-	  of functions in usr_avp.h
-
-2005-11-17 13:31  janakj
-
-	* modules/acc_radius/acc_radius.c: - useless variables removed
-
-2005-11-17 13:28  janakj
-
-	* modules/maxfwd/doc/: Makefile, functions.xml, maxfwd.xml,
-	  params.xml: - documentation ported from stable
-
-2005-11-17 13:10  janakj
-
-	* etc/: reasons-cs_CZ.iso-8859-2.txt, reasons-en_US.ascii.txt: -
-	  reason phrase translation maps
-
-2005-11-17 13:08  janakj
-
-	* doc/doc_root.xml: - updated to include all documentation
-
-2005-11-17 13:07  janakj
-
-	* doc/rpc/: ser_rpc.xml, Makefile, rpc_example.dia,
-	  rpc_example.png: - management interface overview (not commited
-	  yet)
-
-2005-11-17 12:59  janakj
-
-	* usr_avp.h, receive.c, usr_avp.c: - support for AVP classes (user,
-	  domain, global attributes)
-
-2005-11-17 12:55  janakj
-
-	* globals.h: - variables made extern - removed accidental comment
-
-2005-11-17 11:52  janakj
-
-	* lib/xcap/resource_list.c: - Removed initialization which is not
-	  needed (and generates gcc warning)
-
-2005-11-17 04:49  sobomax
-
-	* str.h, modules/acc_db/acc_db.c, modules/acc_syslog/acc_syslog.c,
-	  modules/auth/auth_mod.c, modules/auth_db/authdb_mod.c,
-	  modules/avp_db/avp_db.c, modules/avp_radius/avp_radius.c,
-	  modules/avpops/avpops_impl.c, modules/cpl-c/cpl.c,
-	  modules/cpl-c/cpl_loader.c, modules/cpl-c/cpl_parser.c,
-	  modules/cpl-c/cpl_run.c, modules/cpl-c/cpl_switches.h,
-	  modules/dialog/dlg_mod.c, modules/diversion/diversion.c,
-	  modules/domain/domain_mod.c, modules/jabber/xjab_worker.c,
-	  modules/lcr/lcr_mod.c, modules/msilo/msilo.c,
-	  modules/mysql/val.c, modules/pa/notify.c,
-	  modules/pa/presentity.c, modules/pa/publish.c,
-	  modules/pa/subscribe.c, modules/pa/watcher.c, modules/pdt/pdt.c,
-	  modules/postgres/res.c, modules/registrar/reg_mod.c,
-	  modules/rls/db_rls.c, modules/rls/rl_subscription.c,
-	  modules/sms/sms_funcs.c, modules/tm/t_fifo.c,
-	  modules/uri_db/uridb_mod.c, modules/usrloc/notify.c,
-	  modules/usrloc/ul_mod.c, modules/xlog/xl_lib.c: Provide two
-	  useful macros for str initialization: STR_STATIC_INIT() and
-	  STR_NULL. Adjust all modules to use those macros where
-	  appropriate.
-
-	  Verified by:	  md5(1) (those modules, which actually compile)
-
-2005-11-17 04:39  sobomax
-
-	* modules/avp_radius/avp_radius.c: Catch up with dict.h ->
-	  rad_dict.h conversion.
-
-2005-11-17 04:08  sobomax
-
-	* modules/rls/Makefile: Add -I$(LOCALBASE)/include so that it
-	  compiles on FreeBSD OOB.
-
-2005-11-17 03:42  sobomax
-
-	* modules/pa/Makefile: Add -I$(LOCALBASE)/include to make it
-	  compilable on FreeBSD OOB.
-
-2005-11-17 03:40  sobomax
-
-	* lib/xcap/: Makefile, resource_list.c, resource_lists_parser.c,
-	  rls_services_parser.c, xml_utils.c: Make libxcap compilable on
-	  FreeBSD, particularly:
-
-	  o always include <time.h> before libxml's headers, since
-	  apparently they   expect time_t to be defined;
-
-	  o reorder includes, so that system ones are includes first;
-
-	  o add appropriate -I/-L into Makefile (quick hack). It would be
-	  better if   those libs were using main ser's Makefile*
-	  infrastructure, so that it's	 possible to re-use LOCALBASE.
-
-2005-11-17 02:24  sobomax
-
-	* Makefile.defs, main.c: o Include <sys/types.h> before any other
-	  <sys/foo> and network-related headers;
-
-	  o on FreeBSD, it is necessary to include <netinet/in_systm.h>
-	  before   <netinet/ip.h>, so that add it and make conditional on a
-	  new	HAVE_NETINET_IN_SYSTM define. I suspect that other
-	  BSD-derifed platforms   need it as well.
-
-2005-11-17 02:22  andrei
-
-	* Makefile.defs, tcp_conn.h, tcp_main.c: - fixed F_CONN_REMOVED
-	  flag reset to 0 - struct tcp_connection re-arrangement +
-	  sign/unsigned fixes
-
-2005-11-16 22:56  andrei
-
-	* Makefile.defs: - set HAVE_TIMEGM only on linux, *bsd and darwin
-	  (not on solaris)
-
-2005-11-16 22:37  andrei
-
-	* Makefile.defs, cfg.y, route_struct.c: - fixed parse error for if
-	  (cond)  a(); else b(); - fixed dbg. config dumping
-
-2005-11-16 18:24  kubartv
-
-	* doc/presence/examples.xml, lib/presence/pidf.c,
-	  lib/xcap/resource_list.c, modules/dialog/dlg_mod.c,
-	  modules/pa/presentity.c, modules/pa/watcher.c,
-	  modules/rls/db_rls.c, modules/rls/rl_subscription.c,
-	  modules/rls/rl_subscription.h, modules/rls/rlmi_doc.c,
-	  modules/rls/rls.sql, modules/rls/rls_handler.c,
-	  modules/rls/rls_mod.c, modules/rls/rls_mod.h,
-	  modules/rls/subscription_manager.c,
-	  modules/rls/subscription_manager.h,
-	  modules/rls/virtual_subscription.c: added database support to RLS
-	  module db tables can be created using rls.sql - only temporarily
-	  (will be changed to standard way) !
-
-2005-11-16 11:24  janakj
-
-	* scripts/: dbtext/ser_db/presentity,
-	  dbtext/ser_db/presentity_contact, dbtext/ser_db/version,
-	  dbtext/ser_db/watcherinfo, mysql/my_create.sql: - presence
-	  related tables added
-
-2005-11-16 11:19  janakj
-
-	* db/schema/: credentials.xml, domain_attrs.xml, global_attrs.xml,
-	  sd_attrs.xml, user_attrs.xml: - added missing tables credentials,
-	  domain_attrs, global_attrs, sd_attrs,   and user_attrs
-
-2005-11-16 11:16  janakj
-
-	* db/schema/: presentity.xml, presentity_contact.xml, ser.xml,
-	  version.xml, watcherinfo.xml: - Presence related tables added
-
-2005-11-16 10:00  janakj
-
-	* modules/auth_radius/sterman.c: - wrong function name fixed
-
-2005-11-15 16:31  janakj
-
-	* Makefile.defs: - HAVE_TIMEGM added
-
-2005-11-15 16:29  janakj
-
-	* modules/mysql/utils.c: - Store all date/time values in UTC in
-	  database - replacement for timegm (GNU extension)
-
-2005-11-15 13:31  janakj
-
-	* modules/uri_radius/: checks.c, urirad_mod.c, urirad_mod.h: - Use
-	  sip_router/rad_dict.h instead of modules/acc/dict.h - Aligned to
-	  the updated ser dictionary
-
-2005-11-15 13:26  janakj
-
-	* modules/auth_radius/: authrad_mod.c, authrad_mod.h, sterman.c: -
-	  aligned to the updated dictionary - use sip_router/rad_dict.h
-	  instead of modules/acc/dict.h
-
-2005-11-15 13:25  janakj
-
-	* rad_dict.h: - radius dictionary management (originaly in
-	  modules/acc/dict.h) - aligned to the updated dictionary.ser file
-
-2005-11-15 13:19  janakj
-
-	* modules/acc_radius/: Makefile, acc_radius.c: Standalone RADIUS
-	  accounting module: - Support for Sip-Source-IP
-	  (schulzrinne-sipping-radius-accounting) - Support for
-	  SIP-Source-Port (schulzrinne-sipping-radius-accounting) - Support
-	  for SER-Request-Timestamp (UTC) - Support for
-	  SER-Response-Timestamp (UTC) - Support for Interim-Update in
-	  Acct-Session-Id (used for requests   other than INVITE, BYE, and
-	  CANCEL) - Support for SER-Attrs (AVPs) - Support for SER-From
-	  (entire header, including display name) - Support for SER-Flags -
-	  Support for SER-Original-Request-ID - Support for SER-To (entire
-	  header, including display name)
-
-2005-11-15 13:09  janakj
-
-	* modules/acc_db/: Makefile, acc_db.c: Standalone database
-	  accounting module:  - Support for AVPs  - Support for flags  -
-	  Support for source IP and source port  - Support for digest
-	  username and realm  - Support for request/response timestamps  -
-	  All timestamps are stored in UTC  - Support for user and domain
-	  IDs  - database: Allowed NULL values in most columns	- database:
-	  Added unique ID for each row	- Support for native database types
-	  other than strings
-
-2005-11-15 13:03  janakj
-
-	* modules/acc_syslog/: Makefile, acc_syslog.c, doc/Makefile,
-	  doc/acc_syslog.xml, doc/functions.xml, doc/params.xml: Standalone
-	  syslog accounting module:  - AVP support  - Support for flags  -
-	  Support for source IP and port  - Support for digest username and
-	  realm  - Support for request/response timestamps  - Support for
-	  user id and domain id  - Some performance improvements  - Fixed
-	  bug in SIP message parsing
-
-2005-11-15 12:32  janakj
-
-	* etc/dictionary.ser: - Proprietary SER attributes marked with
-	  "SER" - New attributes added - types of some attributes changed
-	  for better processing on the server - minor description
-	  corrections - cleanup of acc-related attributes
-
-2005-11-15 12:28  janakj
-
-	* scripts/mysql/: my_create.sql, my_drop.sql, ser_mysql.sh: -
-	  ser_mysql.sh cleanup
-
-2005-11-15 12:24  janakj
-
-	* db/schema/: Makefile, domain.xml, entities.xml, gw.xml,
-	  gw_grp.xml, lcr.xml, location.xml, missed_calls.xml,
-	  phonebook.xml, silo.xml, speed_dial.xml, trusted.xml, uri.xml,
-	  version.xml: - db schema update
-
-2005-11-15 12:23  janakj
-
-	* scripts/dbtext/ser_db/: acc, attr_types, credentials, domain,
-	  domain_attrs, global_attrs, gw, gw_grp, lcr, location,
-	  missed_calls, phonebook, sd_attrs, silo, speed_dial, trusted,
-	  uri, user_attrs, version: - dbtext database template
-	  (auto-generated from XML db description)
-
-2005-11-15 12:22  janakj
-
-	* scripts/dbtext/ser_dbtext.sh: - dbtext database management script
-
-2005-11-14 23:53  janakj
-
-	* db/schema/attr_types.xml: - attribute type definitions
-
-2005-11-14 23:52  janakj
-
-	* db/schema/ser.xml: - ser db schema - new generation - user
-	  management support
-
-2005-11-14 23:50  janakj
-
-	* doc/stylesheets/dbschema/xsl/: common.xsl, dbtext.xsl, mysql.xsl,
-	  sql.xsl: - user management support
-
-2005-11-14 15:54  kubartv
-
-	* lib/cds/ptr_vector.c, lib/cds/ptr_vector.h,
-	  modules/rls/rl_subscription.c, modules/rls/rl_subscription.h,
-	  modules/rls/rlmi_doc.c, modules/rls/virtual_subscription.c:
-	  corrected bug in RLS (freeing virtual subscriptions problem)
-
-2005-11-14 15:26  janakj
-
-	* db/schema/acc.xml: [no log message]
-
-2005-11-14 13:38  kubartv
-
-	* lib/: cds/logger.h, xcap/parse_pres_rules.c, xcap/pres_rules.c:
-	  cosmetic changes - removed unuseful logging
-
-2005-11-14 13:34  kubartv
-
-	* modules/pa/: Makefile, dlist.c, notify.c, pa_mod.c, pdomain.c,
-	  pdomain.h, presentity.c, presentity.h, publish.c,
-	  qsa_interface.c, subscribe.c, watcher.c: asynchronized userloc
-	  callback processing and removed unuseful logging
-
-2005-11-14 12:47  kubartv
-
-	* modules/rls/: Makefile, rl_subscription.c, rl_subscription.h,
-	  rls_handler.c, rls_mod.c, rls_mod.h, subscription_manager.c,
-	  time_event_manager.c, doc/params.xml, doc/rls.xml: improved
-	  authorization settings for resource lists
-
-2005-11-14 09:35  kubartv
-
-	* lib/: cds/hash_table.c, cds/memory.c, cds/memory.h,
-	  cds/msg_queue.c, cds/msg_queue.h, cds/sstr.c, cds/sstr.h,
-	  cds/doc/cds_free_ptr.xml, cds/doc/cds_malloc.xml,
-	  cds/doc/cds_malloc_ptr.xml, cds/doc/free_message.xml,
-	  cds/doc/init_message_ex.xml, cds/doc/memory.xml,
-	  cds/doc/mq_message_t.xml, cds/doc/msg_queue.xml,
-	  cds/doc/msg_queue_destroy.xml,
-	  cds/doc/set_data_destroy_function.xml,
-	  presence/notifier_domain.c, presence/doc/presence.xml,
-	  xcap/rls_services_parser.c, xcap/doc/xcap.xml: wrapper memory
-	  functions transformed to macros (better debugging), modified
-	  message allocation philosophy in message queues and updated
-	  documentation
-
-2005-11-11 14:04  kubartv
-
-	* doc/presence/Makefile: added makefile for "presence book"
-
-2005-11-10 17:28  isakdim
-
-	* modules/osp/README: Recompiled sgml files
-
-2005-11-10 17:10  isakdim
-
-	* modules/osp/doc/: osp_devel.sgml, osp.sgml, osp_faq.sgml,
-	  osp_user.sgml: Minor documentation updates
-
-2005-11-10 16:40  isakdim
-
-	* modules/osp/etc/sample-osp-ser.cfg:  - Updated comments
-	   - Stop fail-over for response codes 486 and 408
-
-2005-11-10 14:36  kubartv
-
-	* doc/: doc_root.xml, presence/examples.xml,
-	  presence/presence_book.xml: added cfg example into "presence
-	  handbook"
-
-2005-11-09 15:18  kubartv
-
-	* modules/pa/doc/functions.xml, modules/pa/doc/pa.xml,
-	  modules/pa/doc/params.xml, doc/doc_root.xml,
-	  doc/presence/biblio.xml, doc/presence/install.xml,
-	  doc/presence/intro.xml, doc/presence/presence.xml,
-	  doc/presence/presence_book.xml, doc/presence/xcap.xml,
-	  modules/rls/doc/functions.xml, modules/rls/doc/rls.xml: updated
-	  "presence handbook" - documentation of presence and presence
-	  modules
-
-2005-11-08 15:45  kubartv
-
-	* lib/: cds/msg_queue.c, cds/msg_queue.h, cds/doc/cds.xml,
-	  cds/doc/cds_free.xml, cds/doc/cds_malloc.xml,
-	  cds/doc/cds_mutex_destroy.xml, cds/doc/cds_mutex_init.xml,
-	  cds/doc/cds_mutex_lock.xml, cds/doc/cds_mutex_t.xml,
-	  cds/doc/cds_mutex_unlock.xml, cds/doc/create_message.xml,
-	  cds/doc/create_message_ex.xml, cds/doc/destroy_sstream.xml,
-	  cds/doc/free_message.xml, cds/doc/get_serialized_sstream.xml,
-	  cds/doc/init_input_sstream.xml, cds/doc/init_message_ex.xml,
-	  cds/doc/init_output_sstream.xml, cds/doc/is_msg_queue_empty.xml,
-	  cds/doc/memory.xml, cds/doc/mq_message_t.xml,
-	  cds/doc/msg_queue.xml, cds/doc/msg_queue_destroy.xml,
-	  cds/doc/msg_queue_init.xml, cds/doc/msg_queue_init_ex.xml,
-	  cds/doc/msg_queue_t.xml, cds/doc/pop_message.xml,
-	  cds/doc/push_message.xml, cds/doc/serialization.xml,
-	  cds/doc/serialize_char.xml, cds/doc/serialize_int.xml,
-	  cds/doc/serialize_str.xml, cds/doc/serialize_uchar.xml,
-	  cds/doc/serialize_uint.xml, cds/doc/sstr.xml,
-	  cds/doc/sstream_get.xml, cds/doc/sstream_get_str.xml,
-	  cds/doc/sstream_get_str_ex.xml, cds/doc/sstream_put.xml,
-	  cds/doc/sstream_put_str.xml, cds/doc/sstream_put_zt.xml,
-	  cds/doc/str_clear.xml, cds/doc/str_dup.xml, cds/doc/str_free.xml,
-	  cds/doc/str_free_content.xml, cds/doc/str_other.xml,
-	  cds/doc/str_t.xml, cds/doc/sync.xml, doc/collection.xml,
-	  doc/libraries.xml, presence/doc/presence.xml, xcap/doc/xcap.xml:
-	  added more documentation to libraries and some cosmetic changes
-	  needed by doc
-
-2005-11-04 07:58  kubartv
-
-	* modules/dialog/dlg_mod.c: Corrected module name and
-	  initialization behaviour
-
-2005-11-03 10:59  kubartv
-
-	* lib/: README, cds/dstring.h, cds/sstr.c, cds/sstr.h,
-	  cds/doc/cds.xml, cds/doc/dstr_append.xml,
-	  cds/doc/dstr_get_data.xml, cds/doc/dstr_init.xml,
-	  cds/doc/dstring.xml, cds/doc/dstring_t.xml,
-	  cds/doc/serialization.xml, cds/doc/sstr.xml,
-	  cds/doc/sstream_t.xml, cds/doc/str_t.xml: Added first attempt to
-	  CDS library documentation with very short description in README.
-
-2005-11-02 21:37  andrei
-
-	* Makefile.defs: - another distcc related fix: ger proper version
-	  even if distcc has some numeric arguments
-
-2005-11-02 19:14  andrei
-
-	* CREDITS, NEWS, cfg.lex, cfg.y, globals.h, main.c, tcp_main.c,
-	  udp_server.c: - ip TOS can now be set from ser cfg (thanks to
-	  Andreas Granig)
-
-2005-11-02 18:56  andrei
-
-	* Makefile, Makefile.rules:
-	  backported from stable: - make proper deletes also cfg.tab.h -
-	  make tar excludes the auto generated files
-
-2005-11-02 13:28  andrei
-
-	* Makefile.defs: - distcc fix backported from stable
-
-2005-11-01 17:10  kubartv
-
-	* modules/rls/: rl_subscription.c, rls_handler.c: improved
-	  authorization of resource-lists
-
-2005-11-01 13:29  kubartv
-
-	* modules/pa/: auth.c, auth.h, pa_mod.c, pa_mod.h: Improved
-	  authorization
-
-2005-11-01 13:24  kubartv
-
-	* modules/rls/doc/Makefile, modules/rls/doc/functions.xml,
-	  modules/rls/doc/params.xml, modules/rls/doc/rls.xml,
-	  doc/doc_root.xml, doc/presence/biblio.xml,
-	  doc/presence/presence.xml, doc/presence/presence_book.xml,
-	  modules/pa/doc/pa.xml, modules/pa/doc/params.xml: Added some
-	  documentation about presence in ser.	Will be improved
-	  continuously.
-
-2005-10-31 23:23  isakdim
-
-	* modules/osp/tm.c: Use cell->nr_of_outgoings-1 as index into the
-	  last cell->uac structure
-
-2005-10-31 23:07  isakdim
-
-	* modules/osp/tm.c: Use NO_SCRIPT define when searching for
-	  'load_tm'
-
-2005-10-31 23:04  isakdim
-
-	* modules/osp/orig_transaction.c: Pass force_socket parameter to
-	  the append_branch function
-
-2005-10-31 22:49  isakdim
-
-	* modules/osp/sipheader.c: Renamed HDR_xxx defines to HDR_xxx_T
-
-2005-10-31 17:31  isakdim
-
-	* modules/osp/etc/: cacert_0.pem, localcert.pem, pkey.pem,
-	  sample-osp-ser.cfg: Copied from
-	  cvs.berlios.de:/cvsroot/osp-module
-
-2005-10-31 17:28  isakdim
-
-	* modules/osp/: destination.c, globals.c, orig_transaction.c,
-	  osp_mod.c, osptoolkit.c, provider.c, Makefile, RELEASE-NOTES.txt,
-	  destination.h, orig_transaction.h, osp_mod.h, osptoolkit.h,
-	  provider.h, sipheader.c, sipheader.h, term_transaction.c,
-	  term_transaction.h, tm.c, tm.h, usage.c, usage.h, doc/osp.sgml,
-	  doc/osp_devel.sgml, doc/osp_faq.sgml, doc/osp_user.sgml: Copied
-	  from cvs.berlios.de:/cvsroot/osp-module
-
-2005-10-31 17:24  isakdim
-
-	* modules/osp/README: - Copied from
-	  cvs.berlios.de:/cvsroot/osp-module
-
-2005-10-30 18:59  janakj
-
-	* db/schema/acc.xml: - Description of acc table and its columns
-
-2005-10-28 22:59  andrei
-
-	* Makefile.defs, socket_info.c, tcp_conn.h, tcp_main.c, tcp_read.c:
-
-	  - fixed tls on same port as tcp init problem (e.g. for -l
-	  127.0.0.1:5080) - added a new tcp connection flag, set when the
-	  tcp connection is removed from the main pool - fixed tcp_read_req
-	  reported bytes count (necessary for certain types of	poll
-	  stategies)
-
-2005-10-28 02:14  janakj
-
-	* db/schema/: ser.xml, version.xml: - Tables calls_forwarding,
-	  active_sessions, event, reserved, and config	 removed
-
-2005-10-28 01:19  janakj
-
-	* db/db_val.h: - int8_val for type conversions
-
-2005-10-28 01:11  janakj
-
-	* modules/postgres/: db_con.c, db_mod.c, db_mod.h, dbase.c,
-	  dbase.h, pg_con.c, pg_con.h, pg_type.h, res.c, res.h: Postgres
-	  module update, includes:
-
-	  - Support for connection pools - Support for multiple
-	  simultaneous results - No static buffer usage, uses more
-	  efficient PQExecParams - Support for database reconnects (not
-	  handled by libpq) - Support for binary parameters in PQExecParams
-	    (this brings us one step closer to prepared statements    and
-	  removes tedious and error prone text conversions) - No data is
-	  copied from postgres result unless necessary - SQL injection
-	  vulnerability fixed - Configurable connectionn timeout -
-	  Configurable number of reconnect attempts - Support for bitmap
-	  data type - Support for binary data values - Support for
-	  timestamp format auto-detection
-
-2005-10-27 14:53  kubartv
-
-	* lib/README: Added more detailed description to libraries (how to
-	  compile, install and use with ser).
-
-2005-10-27 12:58  kubartv
-
-	* modules/pa/Makefile, modules/pa/auth.c, modules/pa/auth.h,
-	  lib/cds/sstr.c, lib/cds/sstr.h, modules/pa/notify.c,
-	  modules/pa/pa_mod.c, modules/pa/pa_mod.h,
-	  modules/pa/presentity.c, modules/pa/presentity.h,
-	  modules/pa/watcher.c, lib/xcap/pres_rules.c,
-	  lib/xcap/pres_rules.h: Added first attempt to XCAP authorization
-	  in PA module. Watchers are authorized after each re-subscription
-	  because of absence of "XCAP change notifications".  Added pa
-	  module parameters:   auth - values 'none', 'xcap'
-	  auth_xcap_root - in the case of xcap auth holds xcap root used
-	  for auths
-
-2005-10-27 01:06  tma0
-
-	* msg_translator.c:  - fixed uninitialized bookmark when no totag
-	  presented
-
-2005-10-27 01:05  tma0
-
-	* modules/avp/avp.c: - print_sattr bug fixed (crash when value not
-	  string)
-
-2005-10-27 01:04  tma0
-
-	* modules/tm/: sip_msg.c, t_reply.c: - added warning comment
-	  considering not-cloning all fields of structure to shmmem
-
-2005-10-26 17:02  kubartv
-
-	* lib/: Makefile.ser, Makefile.ser.defs: improved makefiles for
-	  instalation without running main ser make
-
-2005-10-26 11:30  kubartv
-
-	* modules/rls/: Makefile, result_codes.h, rl_subscription.c,
-	  rl_subscription.h, rlmi_doc.c, rlmi_doc.h, rls_handler.c,
-	  rls_handler.h, rls_mod.c, rls_mod.h, subscription_manager.c,
-	  subscription_manager.h, time_event_manager.c,
-	  time_event_manager.h, virtual_subscription.c: Added first version
-	  of Resource Lists Server. This module is responsible for
-	  subscriptions to lists of resources according to
-	  draft-ietf-simple-event-list-07.txt and
-	  draft-ietf-simple-xcap-list-usage-05.txt. These drafts are
-	  implemented only partialy now (internal subscriptions to PA
-	  module). More documentation will be added soon.
-
-	  Uses internal libraries like new version of PA module - they must
-	  be compiled and installed and linker must know the path to them
-	  on startup (you may set LD_LIBRARY_PATH).
-
-2005-10-26 11:09  kubartv
-
-	* modules/pa/: Makefile, auth.c, auth.h, dlist.c, dlist.h, hslot.c,
-	  notify.c, pa_mod.c, pa_mod.h, paerrno.h, pdomain.c, pdomain.h,
-	  presentity.c, presentity.h, publish.c, qsa_interface.c,
-	  qsa_interface.h, reply.c, subscribe.c, watcher.c, watcher.h: PA
-	  module changes:  - corrected DB operations (storing watcher's
-	  dialogs, storing only  published tuples, reloading data from DB
-	  on startup, ...)  - added internal interface for status querying
-	  (used by rls module)	- cleaned code	- corrected removing
-	  structures from memory  - prepared for subscription authorization
-	  - may be that many bugs were added !  - using cds and presence
-	  library from shared libs (some code  will be moved there) -
-	  needed on startup! => linker must know path  to the libraries -
-	  use for example  export LD_LIBRARY_PATH=/usr/local/lib/ser
-	  before running ser
-
-2005-10-26 10:30  kubartv
-
-	* lib/Makefile.ser: Modified makefile for libraris, so that make
-	  should be called in lib directory independently on make in main
-	  ser directory
-
-2005-10-26 10:06  kubartv
-
-	* parser/: hf.c, hf.h, keys.h, msg_parser.c, msg_parser.h,
-	  parse_hname2.c: added parsing of SIP-If-Match header field taken
-	  from PIC-SER
-
-2005-10-26 09:14  kubartv
-
-	* modules/tm/: dlg.h, tm.c, tm_load.c, tm_load.h: Exported function
-	  for calculating dialog hooks - used by dialog module. This is
-	  only a little hack, in the future will all dialog functions move
-	  into dialog module.
-
-2005-10-26 09:09  kubartv
-
-	* modules/dialog/: Makefile, db_dlg.c, db_dlg.h, dlg_mod.c,
-	  dlg_mod.h, dlg_mod_internal.h, serialize_dlg.c, serialize_dlg.h:
-	  Added dialog module - it will contain all dialog functions in the
-	  future; now it contains only functions for dialog
-	  serialization/deserialization used by pa module for storing
-	  dialogs into database. It uses cds library functions (see
-	  lib/README)! More documentation will be added soon.
-
-2005-10-25 16:10  kubartv
-
-	* lib/: Makefile, Makefile.defs, Makefile.ser, Makefile.ser.defs,
-	  README, cds/Makefile, cds/Makefile.ser, cds/dstring.c,
-	  cds/dstring.h, cds/hash_table.c, cds/hash_table.h, cds/list.h,
-	  cds/logger.h, cds/memory.c, cds/memory.h, cds/msg_queue.c,
-	  cds/msg_queue.h, cds/ptr_vector.c, cds/ptr_vector.h,
-	  cds/serialize.c, cds/serialize.h, cds/sstr.c, cds/sstr.h,
-	  cds/sync.h, cds/vector.c, cds/vector.h, presence/Makefile,
-	  presence/Makefile.ser, presence/domain_maintainer.c,
-	  presence/domain_maintainer.h, presence/notifier.h,
-	  presence/notifier_domain.c, presence/notifier_domain.h,
-	  presence/pidf.c, presence/pidf.h, presence/pres_doc.c,
-	  presence/pres_doc.h, presence/qsa.c, presence/qsa.h,
-	  presence/subscriber.h, presence/subscription_info.h,
-	  xcap/Makefile, xcap/Makefile.ser, xcap/common_policy.h,
-	  xcap/parse_pres_rules.c, xcap/parse_pres_rules.h,
-	  xcap/pres_rules.c, xcap/pres_rules.h, xcap/resource_list.c,
-	  xcap/resource_list.h, xcap/resource_lists_parser.c,
-	  xcap/resource_lists_parser.h, xcap/rls_services_parser.c,
-	  xcap/rls_services_parser.h, xcap/xcap_client.c,
-	  xcap/xcap_client.h, xcap/xcap_result_codes.h, xcap/xml_utils.c,
-	  xcap/xml_utils.h: Added a set of shared libraries with useful
-	  functions and common data structures.  Short description is in
-	  lib/README, more documentation will be added soon.
-
-2005-10-21 15:38  andrei
-
-	* Makefile.defs, tcp_main.c: - having a read event on an already
-	  referenced tcp_conn is not a bug  (it could be referenced by a
-	  sender)
-
-2005-10-21 03:08  andrei
-
-	* tcp_main.c:  - cleanup all the open connections on exit
-	   - decrement the no. of open connections on timeout too
-
-2005-10-13 11:23  janakj
-
-	* modules/mysql/my_con.c: - make debug message scheme independent
-
-2005-10-12 10:32  janakj
-
-	* modules/tm/timer.c: - send 480 when C timer hits and a
-	  provisional reply has been received	(as opposed to 408)
-
-2005-10-12 10:12  janakj
-
-	* usr_avp.c, usr_avp.h: - Support for regex based search
-
-2005-10-12 04:57  agranig
-
-	* modules/mysql/dbase.c: Mysql result wasn't free'd if converting
-	  result had failed.
-
-2005-10-11 18:51  janakj
-
-	* modules/: sl/sl.c, textops/textops.c, tm/tm.c, uri/uri_mod.c,
-	  enum/enum_mod.c, gflags/gflags.c, mediaproxy/mediaproxy.c,
-	  nathelper/nathelper.c, rr/rr_mod.c, auth_db/authdb_mod.c,
-	  auth_radius/authrad_mod.c, avp/avp.c, dispatcher/dispatcher.c,
-	  diversion/diversion.c: - use common fixup functions when possible
-
-2005-10-11 18:50  janakj
-
-	* sr_module.c, sr_module.h: - fixup_regex added
-
-2005-10-11 16:55  janakj
-
-	* modules/auth/auth_mod.c: - avoid duplicating fixup functions, use
-	  the ones from sr_module.c instead
-
-2005-10-11 16:54  janakj
-
-	* sr_module.c, sr_module.h: - common fixup functions shared across
-	  modules
-
-2005-10-11 15:50  janakj
-
-	* modules/usrloc/ucontact.c: - removed duplicate shm_free
-	  (discovered by Vaclav Kubart)
-
-2005-10-11 13:16  andrei
-
-	* cfg.y: - onreply_route fix
-
-2005-10-04 11:32  janakj
-
-	* modules/registrar/lookup.c: - Race condition in registered
-	  function fixed (SER-79)   Patch provided by Dmitry Semyonov
-
-2005-09-29 18:45  janakj
-
-	* modules/usrloc/: notify.c, urecord.c: - memleak fixed, notify
-	  callback were not freed, fixes SER-67
-
-2005-09-29 17:38  janakj
-
-	* modules/usrloc/notify.c: - missing unlock_udomain added, closes
-	  SER-75
-
-2005-09-26 21:38  calrissian
-
-	* modules/usrloc/: ucontact.c, udomain.c: sip.instance wasnt
-	  written/loaded to/from the database; thanks to Andreas Granig
-
-2005-09-26 21:29  calrissian
-
-	* modules/usrloc/udomain.c: NULL received column value could got
-	  overwriten by the previous value in preload_udomain()
-
-2005-09-23 22:50  calrissian
-
-	* main.c: fixed missing variable declaration
-
-2005-09-23 00:05  calrissian
-
-	* modules/usrloc/ucontact.c: fixed memory leak introduce by
-	  sip.instance; thanks Andreas Granig; closes #SER-74
-
-2005-09-20 15:28  agranig
-
-	* modules/mysql/: dbase.c, my_con.c, my_con.h, res.c, res.h, row.c:
-	  Moved mysql result from the connection to db_res_t to allow
-	  nested queries.
-
-2005-09-20 15:25  agranig
-
-	* db/db_res.h: Added data field to db_res_t to allow db backends to
-	  store auxiliary data along with the result.
-
-2005-09-19 19:15  janakj
-
-	* modules/tm/: h_table.c, h_table.h, t_funcs.c, t_lookup.c,
-	  t_reply.c: - spelling corrected
-
-2005-09-19 18:27  janakj
-
-	* modules/tm/: h_table.c, t_cancel.c, t_cancel.h, t_funcs.c,
-	  t_funcs.h, t_fwd.c, t_msgbuilder.c, t_reply.h: - obsolete code
-	  removed for the sake of clarity - CANCEL terminates
-	  retransmission timers properly
-
-2005-09-14 10:04  janakj
-
-	* modules/avp_db/avp_db.c: - return when running out of memory
-
-2005-09-13 15:53  andrei
-
-	* INSTALL, Makefile.radius, NEWS, modules/auth_radius/Makefile,
-	  modules/avp_radius/Makefile, modules/postgres/Makefile,
-	  modules/uri_radius/Makefile, utils/serunix/Makefile:	- 0.9.4
-	  changes forward ported (docs, radius Makefile *bsd update,
-	  postgress
-	    Makefile *bsd update a.s.o)
-
-2005-09-13 15:52  andrei
-
-	* tcp_read.c: - cosmetic debug msg changes
-
-2005-09-12 19:08  andrei
-
-	* Makefile.defs, io_wait.h, tcp_main.c:
-	   - -mallign-double removed (incompatible with kqueue on netbst
-	  and with epoll
-	    on linux 2.6.* => it has big problem causing potential for
-	  almost no benefit)
-	   - sigio_rt mostly cosmetic changes
-
-2005-09-12 07:57  kubartv
-
-	* modules/pa/subscribe.c: corrected error which led to changing
-	  state to closed of a tuple which was registered longer than
-	  default_expires
-
-2005-09-10 01:32  andrei
-
-	* Makefile.defs, io_wait.h, test/udp_flood.c: - tcp sigio_rt
-	  workarround for undocumented event 0x08 (which seems to be set
-	  on some errors, like receiving a RST)
-
-2005-09-09 16:29  andrei
-
-	* io_wait.c, io_wait.h, test/invite01.sip, test/udp_flood.c: - gcc
-	  2.95 fixes - udp_flood updated to work also for tcp (for stress
-	  testing the ser tcp part)
-
-2005-09-09 13:18  kubartv
-
-	* modules/pa/: reply.c, subscribe.c: protocol correction of Contact
-	  header sent to the PA client
-
-2005-09-08 22:10  janakj
-
-	* modules/auth_db/authorize.c: - check for NULL paswords   closes
-	  SER-66
-
-2005-09-08 17:18  kubartv
-
-	* modules/pa/presentity.c: corrected an error (immediately send two
-	  NOTIFY messages) which triggered eyeBeam's first NOTIFY ignoring
-
-2005-09-08 15:57  janakj
-
-	* cfg.y: - missing space added (cosmetic change)
-
-2005-09-08 13:59  kubartv
-
-	* modules/pa/: notify.c, presentity.c, subscribe.c, watcher.c: yet
-	  another small pa module corrections
-
-2005-09-08 09:55  kubartv
-
-	* modules/usrloc/ul_mod.h: corrected 'alias' table and
-	  TABLE_VERSION according to 'location' table
-
-2005-09-07 18:03  kubartv
-
-	* modules/pa/: notify.c, pdomain.c, presentity.c, presentity.h,
-	  publish.c, reply.c, subscribe.c, watcher.c, watcher.h:
-	  Corrected some bugs and RFC compliance problems (tested with
-	  Windows Messenger 5.0, eyeBeam beta version, kphone).
-
-2005-09-06 17:01  andrei
-
-	* Makefile.defs: - darwin gcc 4.0 doesn't like
-	  -minline-all-string-ops
-
-2005-09-05 12:49  andrei
-
-	* Makefile.defs, test/gcc_versions.txt: - better gcc version
-	  detection (slightly different than 0.9.0) - added gcc version log
-	  file (output of "gcc --version|head -n 1" for various gcc
-	  versions, useful for testing the gcc detection)
-
-2005-09-04 19:36  calrissian
-
-	* modules/registrar/doc/registrar.xml: added section about
-	  sip.instance support
-
-2005-09-02 13:36  janakj
-
-	* modules/registrar/: README, doc/registrar.xml: - A section about
-	  time synchronization
-
-2005-09-02 13:23  janakj
-
-	* modules/textops/: README, doc/functions.xml: - append_time
-	  documented
-
-2005-09-02 12:36  janakj
-
-	* modules/registrar/save.c, modules/usrloc/ucontact.c,
-	  modules/usrloc/ucontact.h, modules/usrloc/udomain.c,
-	  modules/usrloc/ul_mod.c, modules/usrloc/ul_mod.h,
-	  modules/usrloc/urecord.c, modules/usrloc/urecord.h,
-	  modules/usrloc/usrloc.c, modules/usrloc/usrloc.h,
-	  parser/parse_param.c, parser/parse_param.h,
-	  parser/contact/contact.c, parser/contact/contact.h: -
-	  sip.instance parameter support by Nils Ohlmeier
-
-2005-09-01 15:59  andrei
-
-	* Makefile.defs, modules/tm/t_lookup.c, modules/tm/t_reply.c: - (
-	  "forward" ported from 0.9.0): reverted to the old way of checking
-	  response.dst.send_sock in t_retransmit_reply & reply_light
-	  (this fixes some   t_newtran/new retrans.  races)
-
-2005-09-01 14:22  andrei
-
-	* ut.h: - sleep_us typo fix, thanks go to Tomas Mandys
-
-2005-08-31 15:25  andrei
-
-	* Makefile.defs, pass_fd.c: - openbsd 64  tcp fix
-
-2005-08-31 10:50  peternixon
-
-	* modules/postgres/Makefile: Add paths required to build on SUSE
-	  Linux
-
-2005-08-29 15:52  rco
-
-	* modules/tm/t_fifo.c: fixed bug due to assumption that 'str' is
-	  the same as 'struct iovec' (used by writev).	this occurs only on
-	  64 bit machines.
-
-2005-08-29 14:34  andrei
-
-	* mem/shm_mem.h: - warning fix
-
-2005-08-29 13:30  andrei
-
-	* tcp_main.c:  - fixed typo for the TLS case (thanks to Nils)
-	   [closes SER-61]
-
-2005-08-29 11:57  jih
-
-	* modules/auth/auth_mod.c: * append_rpid_hf function can now be
-	  called also from branch_route block.
-
-2005-08-26 23:27  janakj
-
-	* doc/stylesheets/dbschema/xsl/: mysql.xsl, postgres.xsl, sql.xsl:
-	  - minor mysql improvements - proper postgres schema generator
-
-2005-08-26 23:25  janakj
-
-	* db/schema/: acc.xml, aliases.xml, domain.xml, grp.xml, gw.xml,
-	  lcr.xml, location.xml, missed_calls.xml, phonebook.xml, silo.xml,
-	  speed_dial.xml, trusted.xml, uri.xml, version.xml: -
-	  modifications for postgres
-
-2005-08-25 15:10  janakj
-
-	* db/schema/: aliases.xml, domain.xml, grp.xml, gw.xml, gw_grp.xml,
-	  lcr.xml, missed_calls.xml, phonebook.xml, silo.xml,
-	  speed_dial.xml, trusted.xml, uri.xml, version.xml: - added
-	  version directly in tables - version table data crosslinked
-
-2005-08-25 00:24  janakj
-
-	* doc/doc_root.xml, doc/ser_radius/ser_radius.xml,
-	  doc/serdev/data_structures.xml, doc/serdev/sip_uri.xml,
-	  doc/serdev/str.xml, doc/serdev/to_parser.xml,
-	  doc/serdev/via_body.xml, doc/serfaq/serfaq.xml,
-	  doc/seruser/apps.xml, doc/seruser/db_fifo.xml,
-	  doc/seruser/intro.xml, doc/sip/sip_introduction.xml,
-	  modules/auth/doc/auth.xml, modules/auth/doc/params.xml,
-	  modules/auth_db/doc/auth_db.xml, modules/auth_db/doc/params.xml,
-	  modules/auth_radius/doc/auth_radius.xml,
-	  modules/auth_radius/doc/params.xml,
-	  modules/avp_db/doc/avp_db.xml, modules/avp_db/doc/params.xml,
-	  modules/avp_radius/doc/avp_radius.xml,
-	  modules/avp_radius/doc/params.xml, modules/avpops/doc/avpops.xml,
-	  modules/avpops/doc/functions.xml, modules/avpops/doc/params.xml,
-	  modules/cpl-c/doc/cpl-c.xml, modules/dbtext/doc/dbtext.xml,
-	  modules/dispatcher/doc/dispatcher.xml,
-	  modules/domain/doc/domain.xml, modules/domain/doc/params.xml,
-	  modules/exec/doc/exec.xml, modules/flatstore/doc/flatstore.xml,
-	  modules/gflags/doc/gflags.xml, modules/jabber/doc/jabber.xml,
-	  modules/jabber/doc/params.xml, modules/msilo/doc/msilo.xml,
-	  modules/msilo/doc/params.xml,
-	  modules/nathelper/doc/nathelper.xml,
-	  modules/options/doc/options.xml, modules/options/doc/params.xml,
-	  modules/pa/doc/pa.xml, modules/pdt/doc/params.xml,
-	  modules/pdt/doc/pdt.xml, modules/permissions/doc/permissions.xml,
-	  modules/pike/doc/pike.xml, modules/print/doc/functions.xml,
-	  modules/print/doc/print.xml, modules/registrar/doc/params.xml,
-	  modules/registrar/doc/registrar.xml, modules/sl/doc/sl.xml,
-	  modules/sms/doc/params.xml, modules/sms/doc/sms.xml,
-	  modules/speeddial/doc/params.xml,
-	  modules/speeddial/doc/speeddial.xml,
-	  modules/textops/doc/textops.xml, modules/tm/doc/tm.xml,
-	  modules/uac/doc/uac.xml, modules/uri/doc/uri.xml,
-	  modules/uri_db/doc/params.xml, modules/uri_db/doc/uri_db.xml,
-	  modules/uri_radius/doc/params.xml,
-	  modules/uri_radius/doc/uri_radius.xml,
-	  modules/usrloc/doc/params.xml, modules/usrloc/doc/usrloc.xml,
-	  modules/xlog/doc/functions.xml, modules/xlog/doc/xlog.xml: -
-	  documents are now valid (apart from xmlns:xi problem which would
-	  require   docbook dtd changes)
-
-2005-08-25 00:22  janakj
-
-	* Makefile.doc: - target check uses xmllint
-
-2005-08-24 15:24  janakj
-
-	* doc/doc_root.xml, doc/ser_radius/Makefile,
-	  doc/ser_radius/ser_radius.xml, doc/serdev/contact_body.xml,
-	  doc/serdev/contact_parser.xml, doc/serdev/cseq_body.xml,
-	  doc/serdev/cseq_parser.xml, doc/serdev/data_structures.xml,
-	  doc/serdev/db_con_t.xml, doc/serdev/db_interface.xml,
-	  doc/serdev/db_key_t.xml, doc/serdev/db_res_t.xml,
-	  doc/serdev/db_row_t.xml, doc/serdev/db_type_t.xml,
-	  doc/serdev/db_val_t.xml, doc/serdev/digest_parser.xml,
-	  doc/serdev/event_parser.xml, doc/serdev/event_t.xml,
-	  doc/serdev/exp_body_t.xml, doc/serdev/expires_parser.xml,
-	  doc/serdev/fline_parser.xml, doc/serdev/from_parser.xml,
-	  doc/serdev/hdr_field.xml, doc/serdev/hfname_parser.xml,
-	  doc/serdev/ip_addr.xml, doc/serdev/locking.xml,
-	  doc/serdev/lump.xml, doc/serdev/lump_rpl.xml,
-	  doc/serdev/main_loop.xml, doc/serdev/modiface.xml,
-	  doc/serdev/module_exports.xml, doc/serdev/msg_parser.xml,
-	  doc/serdev/msg_start.xml, doc/serdev/routing_engine.xml,
-	  doc/serdev/serdev.xml, doc/serdev/shutdown.xml,
-	  doc/serdev/sip_msg.xml, doc/serdev/sip_uri.xml,
-	  doc/serdev/sr_module.xml, doc/serdev/startup.xml,
-	  doc/serdev/str.xml, doc/serdev/to_body.xml,
-	  doc/serdev/to_parser.xml, doc/serdev/via_body.xml,
-	  doc/serdev/via_parser.xml, doc/serfaq/serfaq.xml,
-	  doc/serhowto/ser-howto.xml, doc/seruser/apps.xml,
-	  doc/seruser/db_fifo.xml, doc/seruser/general.xml,
-	  doc/seruser/intro.xml, doc/seruser/operation.xml,
-	  doc/seruser/otherapps.xml, doc/seruser/reference.xml,
-	  doc/seruser/seruser.xml, doc/seruser/voicemail.xml,
-	  doc/sip/sip_introduction.xml, modules/auth/doc/auth.xml,
-	  modules/auth/doc/functions.xml, modules/auth/doc/params.xml,
-	  modules/auth_db/doc/auth_db.xml,
-	  modules/auth_db/doc/functions.xml,
-	  modules/auth_db/doc/params.xml,
-	  modules/auth_radius/doc/auth_radius.xml,
-	  modules/auth_radius/doc/functions.xml,
-	  modules/auth_radius/doc/params.xml, modules/avp/doc/avp.xml,
-	  modules/avp/doc/functions.xml, modules/avp/doc/params.xml,
-	  modules/avp_db/doc/avp_db.xml, modules/avp_db/doc/fifo.xml,
-	  modules/avp_db/doc/functions.xml, modules/avp_db/doc/params.xml,
-	  modules/avp_radius/doc/avp_radius.xml,
-	  modules/avp_radius/doc/functions.xml,
-	  modules/avp_radius/doc/params.xml, modules/avpops/doc/avpops.xml,
-	  modules/avpops/doc/faq.xml, modules/avpops/doc/functions.xml,
-	  modules/avpops/doc/params.xml, modules/cpl-c/doc/cpl-c.xml,
-	  modules/cpl-c/doc/functions.xml, modules/cpl-c/doc/params.xml,
-	  modules/dbtext/doc/dbtext.xml,
-	  modules/dispatcher/doc/dispatcher.xml,
-	  modules/dispatcher/doc/functions.xml,
-	  modules/dispatcher/doc/params.xml, modules/domain/doc/domain.xml,
-	  modules/domain/doc/fifo.xml, modules/domain/doc/functions.xml,
-	  modules/domain/doc/params.xml, modules/enum/doc/enum.xml,
-	  modules/enum/doc/functions.xml, modules/enum/doc/params.xml,
-	  modules/exec/doc/exec.xml, modules/exec/doc/functions.xml,
-	  modules/exec/doc/params.xml, modules/flatstore/doc/flatstore.xml,
-	  modules/flatstore/doc/functions.xml,
-	  modules/flatstore/doc/params.xml, modules/gflags/doc/fifo.xml,
-	  modules/gflags/doc/functions.xml, modules/gflags/doc/gflags.xml,
-	  modules/gflags/doc/params.xml, modules/jabber/doc/admin.xml,
-	  modules/jabber/doc/functions.xml, modules/jabber/doc/jabber.xml,
-	  modules/jabber/doc/params.xml, modules/msilo/doc/functions.xml,
-	  modules/msilo/doc/msilo.xml, modules/msilo/doc/params.xml,
-	  modules/nathelper/doc/functions.xml,
-	  modules/nathelper/doc/nathelper.xml,
-	  modules/nathelper/doc/params.xml,
-	  modules/options/doc/functions.xml,
-	  modules/options/doc/options.xml, modules/options/doc/params.xml,
-	  modules/pa/doc/functions.xml, modules/pa/doc/pa.xml,
-	  modules/pa/doc/params.xml, modules/pdt/doc/fifo.xml,
-	  modules/pdt/doc/functions.xml, modules/pdt/doc/params.xml,
-	  modules/pdt/doc/pdt.xml, modules/permissions/doc/functions.xml,
-	  modules/permissions/doc/params.xml,
-	  modules/permissions/doc/permissions.xml,
-	  modules/pike/doc/devel.xml, modules/pike/doc/functions.xml,
-	  modules/pike/doc/params.xml, modules/pike/doc/pike.xml,
-	  modules/print/doc/functions.xml, modules/print/doc/params.xml,
-	  modules/print/doc/print.xml, modules/registrar/doc/functions.xml,
-	  modules/registrar/doc/params.xml,
-	  modules/registrar/doc/registrar.xml,
-	  modules/rr/doc/functions.xml, modules/rr/doc/params.xml,
-	  modules/rr/doc/rr.xml, modules/sl/doc/functions.xml,
-	  modules/sl/doc/params.xml, modules/sl/doc/sl.xml,
-	  modules/sms/doc/functions.xml, modules/sms/doc/params.xml,
-	  modules/sms/doc/sms.xml, modules/speeddial/doc/faq.xml,
-	  modules/speeddial/doc/functions.xml,
-	  modules/speeddial/doc/params.xml,
-	  modules/speeddial/doc/speeddial.xml,
-	  modules/textops/doc/functions.xml,
-	  modules/textops/doc/params.xml, modules/textops/doc/textops.xml,
-	  modules/tm/doc/api.xml, modules/tm/doc/functions.xml,
-	  modules/tm/doc/params.xml, modules/tm/doc/tm.xml,
-	  modules/uac/doc/functions.xml, modules/uac/doc/params.xml,
-	  modules/uac/doc/uac.xml, modules/uri/doc/functions.xml,
-	  modules/uri/doc/params.xml, modules/uri/doc/uri.xml,
-	  modules/uri_db/doc/functions.xml, modules/uri_db/doc/params.xml,
-	  modules/uri_db/doc/uri_db.xml,
-	  modules/uri_radius/doc/functions.xml,
-	  modules/uri_radius/doc/params.xml,
-	  modules/uri_radius/doc/uri_radius.xml,
-	  modules/usrloc/doc/api.xml, modules/usrloc/doc/functions.xml,
-	  modules/usrloc/doc/params.xml, modules/usrloc/doc/usrloc.xml,
-	  modules/xlog/doc/functions.xml, modules/xlog/doc/params.xml,
-	  modules/xlog/doc/xlog.xml: - DTDs and stylesheets will be
-	  downloaded from the network if they are   not available locally.
-
-2005-08-20 10:23  jih
-
-	* modules/lcr/lcr_mod.c: * Updated gw table and increased its
-	  version number.
-
-2005-08-20 10:14  jih
-
-	* modules/lcr/: README, lcr_mod.c: * Added support for gateway
-	  prefixes.
-
-2005-08-18 21:54  jih
-
-	* modules/domain/domain_mod.c: * is_uri_host_local() can now be
-	  called from branch_route.
-
-2005-08-18 17:49  janakj
-
-	* modules/textops/textops.c: - append_hf can be used in
-	  branch_route sections
-
-2005-08-18 17:49  janakj
-
-	* modules/xlog/xlog.c: - xlog and xdbg can be executed from
-	  branch_route sections
-
-2005-08-18 17:47  janakj
-
-	* modules/tm/: h_table.h, t_fwd.c, t_fwd.h, t_lookup.c, tm.c: -
-	  added t_on_branch function
-
-2005-08-18 17:46  janakj
-
-	* cfg.lex, cfg.y, config.h, lump_struct.h, route.c, route.h,
-	  sr_module.h: - Suppor for branch_route sections in the
-	  configuration file.
-
-2005-08-18 17:42  janakj
-
-	* Makefile.doc: - small cleanup
-
-2005-08-18 17:39  janakj
-
-	* doc/catalog.xml: - XML catalog
-
-2005-08-18 17:31  janakj
-
-	* db/schema/: Makefile, acc.xml, aliases.xml, domain.xml,
-	  entities.xml, grp.xml, gw.xml, gw_grp.xml, lcr.xml, location.xml,
-	  missed_calls.xml, phonebook.xml, ser.xml, silo.xml,
-	  speed_dial.xml, trusted.xml, uri.xml, version.xml: - SER database
-	  schema described in XML-based format
-
-2005-08-18 17:28  janakj
-
-	* doc/stylesheets/xhtml.xsl: - Reference docbooks stylesheets using
-	  URL, instead of local file
-
-2005-08-18 17:27  janakj
-
-	* doc/stylesheets/dep.xsl: - proper handling of XIncludes
-
-2005-08-18 17:25  janakj
-
-	* doc/stylesheets/dbschema/README: - README
-
-2005-08-18 17:25  janakj
-
-	* doc/stylesheets/dbschema/xsl/: common.xsl, dbtext.xsl,
-	  docbook.xsl, mysql.xsl, oracle.xsl, postgres.xsl, sql.xsl: - DB
-	  Schema generator, conversion stylesheets for dbtext, mysql,
-	  postgres,   and oracle
-
-2005-08-18 17:24  janakj
-
-	* doc/stylesheets/dbschema/dtd/dbschema.dtd: - DB Schema generate,
-	  DTD
-
-2005-08-04 13:37  andrei
-
-	* modules/tm/t_fwd.c: -  parsed_uri & parsed_uri_ok are
-	  saved/restored before & after branches
-
-2005-08-01 22:52  janakj
-
-	* modules/tm/h_table.c: - free AVP list to avoid memory leaks when
-	  tm runs out of memory while	creating a new cell (fixed by
-	  Michal Matyska)
-
-2005-07-27 14:47  janakj
-
-	* utils/serunix/serunix.c: - from_len properly initialized to the
-	  size of from parameter,   reported by Martin Rusnak
-
-2005-07-27 14:42  janakj
-
-	* modules/usrloc/ucontact.c: - Memory leak fixed, reported and
-	  debugged by Axel Boeger
-
-2005-07-25 18:28  andrei
-
-	* Makefile.defs, main.c, scripts/sc: - solaris fix: sigaction()
-	  instead of signal()
-
-2005-07-25 16:41  andrei
-
-	* Makefile.defs, io_wait.c, mem/f_malloc.c, mem/f_malloc.h,
-	  mem/meminfo.h, mem/q_malloc.c, mem/q_malloc.h, scripts/sc: -
-	  solaris fixes:  - renamed struct meminfo to mem_info due to name
-	  conflicts, fixed sc $$(atempts+1)  (thanks go to Josip Gracin) -
-	  proper ISA ARCH detection on solaris (uname -p) - cosmetics:
-	  io_wait log log msg. removed
-
-2005-07-25 13:17  andrei
-
-	* modules/dispatcher/dispatch.c: - fixed empty username in uri
-	  crash
-
-2005-07-24 01:37  janakj
-
-	* Makefile.doc: - the main makefile containing rules for building
-	  documentation - tracks dependencies - uses xsltproc to produce
-	  XHTML and plaintext documentation from   docbook
-
-2005-07-24 01:31  janakj
-
-	* modules/: uri_radius/doc/Makefile, uri_radius/doc/functions.xml,
-	  uri_radius/doc/params.xml, uri_radius/doc/uri_radius.xml,
-	  usrloc/doc/Makefile, usrloc/doc/api.xml,
-	  usrloc/doc/functions.xml, usrloc/doc/params.xml,
-	  usrloc/doc/usrloc.xml, xlog/doc/Makefile, xlog/doc/functions.xml,
-	  xlog/doc/params.xml, xlog/doc/xlog.xml: - improved documentation
-	  system - documentation makefiles - proper documentation
-	  dependency tracking in makefiles - XML-based dialect of docbook
-	  used with xi:include inclusions
-
-2005-07-24 01:28  janakj
-
-	* modules/: print/doc/Makefile, print/doc/functions.xml,
-	  print/doc/params.xml, print/doc/print.xml,
-	  registrar/doc/Makefile, registrar/doc/functions.xml,
-	  registrar/doc/params.xml, registrar/doc/registrar.xml,
-	  rr/doc/Makefile, rr/doc/functions.xml, rr/doc/params.xml,
-	  rr/doc/rr.xml, sl/doc/Makefile, sl/doc/functions.xml,
-	  sl/doc/params.xml, sl/doc/sl.xml, sms/doc/Makefile,
-	  sms/doc/functions.xml, sms/doc/params.xml, sms/doc/sms.xml,
-	  speeddial/doc/Makefile, speeddial/doc/faq.xml,
-	  speeddial/doc/functions.xml, speeddial/doc/params.xml,
-	  speeddial/doc/speeddial.xml, textops/doc/Makefile,
-	  textops/doc/functions.xml, textops/doc/params.xml,
-	  textops/doc/textops.xml, tm/doc/Makefile, tm/doc/api.xml,
-	  tm/doc/functions.xml, tm/doc/params.xml, tm/doc/tm.xml,
-	  uac/doc/Makefile, uac/doc/functions.xml, uac/doc/params.xml,
-	  uac/doc/uac.xml, uri/doc/Makefile, uri/doc/functions.xml,
-	  uri/doc/params.xml, uri/doc/uri.xml, uri_db/doc/Makefile,
-	  uri_db/doc/functions.xml, uri_db/doc/params.xml,
-	  uri_db/doc/uri_db.xml: - improved documentation system -
-	  documentation makefiles - proper documentation dependency
-	  tracking in makefiles - XML-based dialect of docbook used with
-	  xi:include inclusions
-
-2005-07-24 01:25  janakj
-
-	* modules/: flatstore/doc/Makefile, flatstore/doc/flatstore.xml,
-	  flatstore/doc/functions.xml, flatstore/doc/params.xml,
-	  gflags/doc/Makefile, gflags/doc/fifo.xml,
-	  gflags/doc/functions.xml, gflags/doc/gflags.xml,
-	  gflags/doc/params.xml, jabber/doc/Makefile, jabber/doc/admin.xml,
-	  jabber/doc/functions.xml, jabber/doc/jabber.xml,
-	  jabber/doc/params.xml, msilo/doc/Makefile,
-	  msilo/doc/functions.xml, msilo/doc/msilo.xml,
-	  msilo/doc/params.xml, nathelper/doc/Makefile,
-	  nathelper/doc/functions.xml, nathelper/doc/nathelper.xml,
-	  nathelper/doc/params.xml, options/doc/Makefile,
-	  options/doc/functions.xml, options/doc/options.xml,
-	  options/doc/params.xml, pa/doc/Makefile, pa/doc/functions.xml,
-	  pa/doc/pa.xml, pa/doc/params.xml, pdt/doc/Makefile,
-	  pdt/doc/fifo.xml, pdt/doc/functions.xml, pdt/doc/params.xml,
-	  pdt/doc/pdt.xml, permissions/doc/Makefile,
-	  permissions/doc/functions.xml, permissions/doc/params.xml,
-	  permissions/doc/permissions.xml, pike/doc/Makefile,
-	  pike/doc/devel.xml, pike/doc/functions.xml, pike/doc/params.xml,
-	  pike/doc/pike.xml: - improved documentation system -
-	  documentation makefiles - proper documentation dependency
-	  tracking in makefiles - XML-based dialect of docbook used with
-	  xi:include inclusions
-
-2005-07-24 01:22  janakj
-
-	* modules/: auth/doc/Makefile, auth/doc/auth.xml,
-	  auth/doc/functions.xml, auth/doc/params.xml,
-	  auth_db/doc/Makefile, auth_db/doc/auth_db.xml,
-	  auth_db/doc/functions.xml, auth_db/doc/params.xml,
-	  auth_radius/doc/Makefile, auth_radius/doc/auth_radius.xml,
-	  auth_radius/doc/functions.xml, auth_radius/doc/params.xml,
-	  avp/doc/Makefile, avp/doc/avp.xml, avp/doc/functions.xml,
-	  avp/doc/params.xml, avp_db/doc/Makefile, avp_db/doc/avp_db.xml,
-	  avp_db/doc/fifo.xml, avp_db/doc/functions.xml,
-	  avp_db/doc/params.xml, avpops/doc/Makefile,
-	  avpops/doc/avpops.xml, avpops/doc/faq.xml,
-	  avpops/doc/functions.xml, avpops/doc/params.xml,
-	  avp_radius/doc/Makefile, avp_radius/doc/avp_radius.xml,
-	  avp_radius/doc/functions.xml, avp_radius/doc/params.xml,
-	  cpl-c/doc/Makefile, cpl-c/doc/cpl-c.xml, cpl-c/doc/functions.xml,
-	  cpl-c/doc/params.xml, dbtext/doc/Makefile, dbtext/doc/dbtext.xml,
-	  dispatcher/doc/Makefile, dispatcher/doc/dispatcher.xml,
-	  dispatcher/doc/functions.xml, dispatcher/doc/params.xml,
-	  domain/doc/Makefile, domain/doc/domain.xml, domain/doc/fifo.xml,
-	  domain/doc/functions.xml, domain/doc/params.xml,
-	  enum/doc/Makefile, enum/doc/enum.xml, enum/doc/functions.xml,
-	  enum/doc/params.xml, exec/doc/Makefile, exec/doc/exec.xml,
-	  exec/doc/functions.xml, exec/doc/params.xml: - improved
-	  documentation system - documentation makefiles - proper
-	  documentation dependency tracking in makefiles - XML-based
-	  dialect of docbook used with xi:include inclusions
-
-2005-07-24 01:01  janakj
-
-	* doc/: Makefile, doc_root.xml, ser_entities.xml: - Customized
-	  stylesheet for XHTML generation - Very basic CSS style for
-	  documentation - Stylesheet for generating Docbook dependencies in
-	  Makefiles
-
-2005-07-24 00:54  janakj
-
-	* doc/stylesheets/: common.xsl, dep.xsl, xhtml.xsl: - Customized
-	  stylesheet for XHTML generation - Very basic CSS style for
-	  documentation - Stylesheet for generating Docbook dependencies in
-	  Makefiles
-
-2005-07-24 00:52  janakj
-
-	* doc/: seruser/Makefile, seruser/apps.xml, seruser/db_fifo.xml,
-	  seruser/general.xml, seruser/intro.xml, seruser/operation.xml,
-	  seruser/otherapps.xml, seruser/reference.xml,
-	  seruser/seruser.xml, seruser/voicemail.xml, sip/Makefile,
-	  sip/sip_introduction.xml, sip/figures/bye.png,
-	  sip/figures/companies.png, sip/figures/dialog.png,
-	  sip/figures/event.png, sip/figures/invite1.png,
-	  sip/figures/message.png, sip/figures/redirect.png,
-	  sip/figures/register.png, sip/figures/registrar.png,
-	  sip/figures/transaction.png, sip/figures/trapezoid.png,
-	  sip/figures/ua.png: - Improved documentation system -
-	  documentation makefiles - XML-based dialect of docbook used
-
-2005-07-24 00:48  janakj
-
-	* doc/: serfaq/Makefile, serfaq/serfaq.xml, serhowto/Makefile,
-	  serhowto/ser-howto.xml, ser_radius/Makefile,
-	  ser_radius/ser_radius.xml: - Improved documentation system -
-	  documentation makefiles - XML-based dialect of docbook used
-
-2005-07-24 00:40  janakj
-
-	* doc/serdev/: Makefile, contact_body.xml, contact_parser.xml,
-	  cseq_body.xml, cseq_parser.xml, data_structures.xml,
-	  db_con_t.xml, db_interface.xml, db_key_t.xml, db_res_t.xml,
-	  db_row_t.xml, db_type_t.xml, db_val_t.xml, digest_parser.xml,
-	  event_parser.xml, event_t.xml, exp_body_t.xml,
-	  expires_parser.xml, fline_parser.xml, from_parser.xml,
-	  hdr_field.xml, hfname_parser.xml, ip_addr.xml, locking.xml,
-	  lump.xml, lump_rpl.xml, main_loop.xml, modiface.xml,
-	  module_exports.xml, msg_parser.xml, msg_start.xml,
-	  routing_engine.xml, serdev.xml, shutdown.xml, sip_msg.xml,
-	  sip_uri.xml, sr_module.xml, startup.xml, str.xml, to_body.xml,
-	  to_parser.xml, via_body.xml, via_parser.xml: - Improved
-	  documentation system - documentation makefiles - XML-based
-	  dialect of docbook used
-
-2005-07-23 18:59  jih
-
-	* modules/lcr/: README, lcr_mod.c: * URI scheme and transport
-	  protocol can now be specified for gateways.
-
-2005-07-20 19:16  andrei
-
-	* modules/: auth_radius/authrad_mod.h, cpl-c/cpl_run.c,
-	  jabber/jabber.c, jabber/tree234.c, jabber/xsnprintf.c,
-	  lcr/lcr_mod.c, nathelper/nathelper.c, postgres/dbase.c,
-	  uri_radius/urirad_mod.h, xlog/xl_lib.c: - gcc 4.0 warning & fixes
-	  "forward" ported from stable - postgres fixes/warnings "forward"
-	  ported from stable
-
-2005-07-20 07:43  danp
-
-	* modules/mediaproxy/mediaproxy.c: - Fixed 3 places where memory
-	  allocation wasn't checked for succes, which	could lead to ser
-	  crashing - Fixed a memory leak
-
-2005-07-12 17:22  andrei
-
-	* Makefile.defs, NEWS, cfg.y, receive.c: - default onreply_router
-	  {} added (this will be executed for any reply, it adds  the
-	  possibility of executing scripts on replies without using tm)
-
-2005-07-11 19:30  andrei
-
-	* Makefile.defs, NEWS, cfg.lex, cfg.y, globals.h, main.c,
-	  resolve.c, resolve.h: - various resolver/dns related options can
-	  now be set from ser.cfg:     dns_try-ipv6=yes|no
-	  dns_retr_time= time(in s)	  dns_retr_no = no.
-	  dns_use_search_list=yes|no	  dns_server_no= no.	  (for more
-	  info look in NEWS)
-
-2005-07-11 15:47  andrei
-
-	* io_wait.h: - linux 2.4 compilation fix from Stefan Sayer
-
-2005-07-08 17:49  andrei
-
-	* NEWS, modules/dispatcher/dispatch.c,
-	  modules/dispatcher/dispatch.h, modules/dispatcher/dispatcher.c: -
-	  added a new flag parameter which can be used (for now) to select
-	  only the   username or the username, host and port when hashing
-	  after an uri - improved uri hashing (password is ignored, port is
-	  used only if sip and	 port != 5060 or sips and port!=5061)
-
-2005-07-08 17:39  andrei
-
-	* Makefile.defs, NEWS, cfg.lex, cfg.y, globals.h, io_wait.c,
-	  tcp_conn.h, tcp_main.c: - added new config vars:	-
-	  tcp_connection_lifetime ( tcp connection timeout)	 -
-	  tcp_max_connections (default 2048)	  - tcp_poll_method (by
-	  default the best method for your OS is selected,	  if you
-	  don't like it/have problems you can force another using this
-	  var) - removed some too verbose debuging info - updated NEWS
-	  (seems everyone else forgot about it :-()
-
-2005-07-06 18:10  andrei
-
-	* io_wait.h, udp_server.c: - multicast fix for bsd - removed some
-	  extra_debug info (too verbose)
-
-2005-07-06 16:56  andrei
-
-	* Makefile.defs, io_wait.h, msg_translator.c,
-	  parser/parse_methods.c, parser/parse_to.c, parser/parse_uri.c,
-	  parser/parse_via.c: - gcc 4.0 support (optimizations) - various
-	  warnings fixes/workarrounds for gcc-4.0
-
-2005-07-05 23:19  andrei
-
-	* Makefile.defs, io_wait.h: - netbsd fixes (e.g.: netbsd + kqueue
-	  crashes if compiled with -malign-double)
-
-2005-07-05 21:18  andrei
-
-	* Makefile.defs, io_wait.h, tcp_main.c, tcp_read.c: - tcp receiver
-	  concerted to the new io_wait.h - epoll: close() not always
-	  removing the fd from set bug workarround - sigio_rt: reset
-	  O_ASYNC (sigio bug workarround) - more tcp related fixes
-
-2005-07-04 18:20  andrei
-
-	* modules/tm/: sip_msg.c, t_reply.c: - applied dst_uri clone patch
-	  from Phil D'Amore. Fixes: msg->dst_uri not being cloned (see
-	  SER-53).
-
-2005-07-04 17:52  andrei
-
-	* Makefile.defs, data_lump.c, modules/tm/fix_lumps.h,
-	  modules/tm/h_table.c: - free shm-cloned via lumps bug fixed
-	  (triggered by forwarding statlessly  a message, then forwarding
-	  it statefully and setting a failure_route).  Closes: SER-55
-
-2005-07-04 17:10  andrei
-
-	* Makefile.defs, io_wait.c, io_wait.h, tcp_main.c: - solaris
-	  /dev/poll support added
-
-2005-07-04 14:08  andrei
-
-	* mem/shm_mem.h:  - minor fix: DBG_QM_MALLOC/DBG_FM_MALLOC are
-	  equiv. now for fm_malloc
-
-2005-07-04 12:44  ramona
-
-	* modules/avpops/: README, avpops.c, avpops_impl.c, avpops_impl.h,
-	  avpops_parse.c: - added dst_ip (patch by Evan Borgström)
-
-2005-07-04 12:43  ramona
-
-	* modules/xlog/: README, xl_lib.c: - color printing (patch by Ingo
-	  Wolfsberger)
-
-2005-07-01 10:58  janakj
-
-	* modules/: auth_radius/authrad_mod.h, postgres/dbase.c,
-	  uri_radius/urirad_mod.h: - compilation fixes for gcc 4.0
-
-2005-06-30 23:29  andrei
-
-	* Makefile, Makefile.defs, Makefile.radius,
-	  modules/auth_radius/Makefile, modules/auth_radius/authrad_mod.c,
-	  modules/auth_radius/sterman.c, modules/avp_radius/Makefile,
-	  modules/avp_radius/avp_radius.c, modules/cpl-c/cpl.c,
-	  modules/cpl-c/cpl_db.c, modules/cpl-c/cpl_proxy.h,
-	  modules/postgres/Makefile, modules/uri_radius/Makefile,
-	  modules/uri_radius/checks.c, modules/uri_radius/urirad_mod.c: -
-	  merge 0.9.0 latest fixes/changes: radius modules makefiles and
-	  libradiusclient/radiusclient-ng selection and various minor
-	  compile fixes
-
-2005-06-29 22:01  jih
-
-	* modules/enum/enum.c: * Service patch supplied by Klaus Darilion.
-
-2005-06-27 13:40  kozlik
-
-	* modules/avp_db/README: updated documentation
-
-2005-06-26 22:48  andrei
-
-	* Makefile.defs, io_wait.c: - seems that openbsd supports kqueue
-	  since 2.9 or earlier	(found kqueue references in 2.9's
-	  changelog)
-
-2005-06-26 21:58  andrei
-
-	* Makefile.defs, io_wait.c, io_wait.h, tcp_main.c, udp_server.c: -
-	  kqueue support for freebsd, openbsd & netbsd added - failing to
-	  set multicast parameters is no longer an error (will not prevent
-	  ser from starting)
-
-2005-06-23 15:08  andrei
-
-	* io_wait.h: - compile fix for mode=debug
-
-2005-06-20 00:01  calrissian
-
-	* tcp_main.c: wasnt compiling with TLS on debian sarge
-
-2005-06-17 14:26  jih
-
-	* modules/lcr/lcr_mod.c: * Added raw query DB capability test.
-
-2005-06-16 16:59  andrei
-
-	* io_wait.c, tcp_main.c: - 64 bits warnings fixed
-
-2005-06-16 16:49  andrei
-
-	* io_wait.c, io_wait.h: - openbsd fixes
-
-2005-06-16 16:05  andrei
-
-	* Makefile.defs, globals.h, io_wait.c, io_wait.h, main.c,
-	  pass_fd.c, pass_fd.h, poll_types.h, tcp_conn.h, tcp_main.c,
-	  tcp_read.c, parser/msg_parser.h: - tcp major changes part 1:
-	  support for >1024 connection, better io poll model  (best poll
-	  method selected automatically, there is also an option to enforce
-	  it). So far support for epoll (linux >= 2.5.66), sigio + real
-	  time signals	  (linux), poll , select. kqueue (*bsd) and
-	  /dev/poll (solaris) comming soon.  WARNING: this is still work in
-	  progress, the tcp reader part is still not  converted to he new
-	  model (this means that while the tcp_main process supports   >
-	  1024 fds, the tcp childs don't), the main reason for leaving this
-	  out for  now is debugging.   Still to do: config options for
-	  poll_method (for now use -W method if you    want to force one),
-	  config options for tcp timeouts a.s.o.
-
-2005-06-14 21:21  andrei
-
-	* Makefile.rules: - got rid of ../../Makefile.rules:80: xxxx.d:  No
-	  such file or directory (still experimental since it might hide
-	  some legitimate not able to  build xxxx.d errors)
-
-2005-06-14 21:11  andrei
-
-	* route_struct.c: - solaris null string fix for printing the cfg
-
-2005-06-14 16:32  kozlik
-
-	* modules/avp_db/: avp_db.c, avp_db.h: Added ability to read
-	  default values of AVPs from table usr_preferences_types
-
-2005-06-13 19:58  andrei
-
-	* tcp_main.c: - fixed tcp bug (wrong thing was decremented on
-	  eof/error)
-
-2005-06-11 14:24  bogdan
-
-	* modules/uac/auth.c: -fixed un-updated header type test
-
-2005-06-10 18:48  janakj
-
-	* modules/registrar/README: - dummy commit to test if it still
-	  works :-)
-
-2005-06-06 08:43  jih
-
-	* modules/avp_radius/avp_radius.c: * Added check on missing
-	  attribute name.
-
-2005-06-03 03:13  andrei
-
-	* modules/cpl-c/cpl_switches.h: - fixed include type (.c instead of
-	  .h)
-
-2005-06-03 01:59  andrei
-
-	* modules/cpl-c/: Makefile, cpl_time.c: - makefile include problem
-	  on freebsd fixed - warning killed (on freebsd time_t is int32)
-
-2005-06-02 03:27  andrei
-
-	* modules/tm/timer.c: - small typo
-
-2005-06-02 01:58  andrei
-
-	* modules/pa/Makefile: - fixed typo: -I instead of -L in LIB
-
-2005-06-02 01:23  andrei
-
-	* Makefile.rules: - fix for make modules=foo clean (this produced
-	  an infinite loop)
-
-2005-06-02 00:25  andrei
-
-	* Makefile, Makefile.defs, modules/auth_radius/Makefile,
-	  modules/avp_radius/Makefile, modules/cpl-c/Makefile,
-	  modules/jabber/Makefile, modules/mysql/Makefile,
-	  modules/pa/Makefile, modules/postgres/Makefile,
-	  modules/uri_radius/Makefile: - makefiles cleanups (use
-	  $(LOCALBASE) everywhere) -- fixes some include path problems on
-	  netbsd
-
-2005-06-01 17:14  janakj
-
-	* modules/tm/: t_reply.c, timer.c: - Fixed the following race
-	  condition:
-
-	    Process_A sends a 487 over looback to the same ser instance
-	    (this process did not set up the retransmission timer yet
-	  because
-	    of the kernel context switch, see below)
-
-	    -- kernel switches context now to process_B
-
-	    Process_B wakes up to process the 487 and it sends an ACK
-	    immediately (over loopback again)
-
-	    -- kernel switches context again now to process_C
-
-	    Process_C wakes up to process the ACK, it tries to find the
-	  original
-	    transaction (the one which sent 487) and tries to remove the
-	    transaction from the retransmission timer list (which has not
-	  been
-	    set yet in Process_A)
-
-	    The process finishes now.
-
-	    -- kernel switches context back to Process_A
-
-	    Now the process prints info that 487 was relayed and sets up
-	    the retransmission timer
-
-	    The process finishes
-
-	    <after approximately 500ms>
-
-	    Process_D (timer) wakes up and generates a 487 retransmission
-	  although
-	    an ACK has already been received and processed
-
-2005-06-01 11:30  bogdan
-
-	* usr_avp.c: - stronger checks for params in avp function (reported
-	  by Juha Heinanen <[email protected]>)
-
-2005-05-31 15:48  janakj
-
-	* modules/rr/loose.c: - fixed return value problem when
-	  double-record routing is being used	reported by Cesc
-	  Santasusana <[email protected]>
-
-2005-05-31 14:59  janakj
-
-	* modules/flatstore/flat_con.c: - fixed memory leak in
-	  flat_reopen_connection, reported by	Bayan William Towfiq
-	  <[email protected]>
-
-2005-05-30 21:20  andrei
-
-	* CREDITS:  - credits update
-
-2005-05-30 18:52  janakj
-
-	* scripts/sc: - serctl did not display "overlapping alias" message
-	  because 200 OK is   consumed -- fixed.
-
-2005-05-30 17:30  janakj
-
-	* modules/usrloc/ucontact.c:  - Fixed a bug in FIFO alias removal
-	  reported by [email protected]
-	     (merged from 0.9.0)
-
-2005-05-30 15:59  janakj
-
-	* modules/tm/sip_msg.c: - fixed crash caused by previous bug-fix
-	  (reported by Ingo Wolfsberger)
-
-2005-05-29 09:56  jih
-
-	* modules/avp_radius/README: * README now includes text about AVP
-	  name prefixes.
-
-2005-05-25 19:43  andrei
-
-	* Makefile.defs: - added -I/usr/local/ssl/include for all OSes, if
-	  TLS support is enabled
-
-2005-05-25 12:53  andrei
-
-	* Makefile, Makefile.defs, NEWS, fastlock.h: - experimental ppc
-	  locking tweaks (not tested) - ppc64 enabled (the same ppc code
-	  should work)
-
-2005-05-23 17:46  janakj
-
-	* modules/tm/sip_msg.c: - typo fixed
-
-2005-05-23 11:20  andrei
-
-	* stats.h, modules/tm/t_fifo.c, parser/msg_parser.h,
-	  parser/parse_fline.c, parser/parse_fline.h: - Maxim's INFO
-	  support patch (I forgot to apply it the first time)
-
-2005-05-18 19:10  janakj
-
-	* modules/tm/sip_msg.c: - fixed the problem in message cloner
-	  reported by	Ingo Wolfsberger <[email protected]>
-
-2005-05-18 18:48  andrei
-
-	* Makefile.defs: - added freebsd startup script from Paul Belanger
-	  <[email protected]> - applied INFO support patch from Maxim
-
-2005-05-18 18:30  janakj
-
-	* modules/mysql/dbase.c: - fixed misleading debug message
-
-2005-05-18 14:04  janakj
-
-	* modules/registrar/save.c: - fixed NAT flag test (reported by Ingo
-	  Wolfsberger <[email protected]>)
-
-2005-05-12 12:26  andrei
-
-	* modules/dispatcher/dispatch.c: - dispatcher destroy fix (null
-	  check)
-
-2005-05-10 13:24  janakj
-
-	* modules/usrloc/urecord.c: - recover from database failures
-
-2005-05-06 18:21  jih
-
-	* modules/uri_radius/: README, checks.c, urirad_mod.c: *
-	  radius_does_uri_exist() now adds SIP-AVP reply items as AVPs.
-
-2005-05-04 18:43  janakj
-
-	* modules/registrar/save.c: - fixed save_memory in WRITE_THROUGH
-	  mode (reported by Juha Heinanen)
-
-2005-05-04 16:19  janakj
-
-	* modules/registrar/lookup.c: - registered function did not check
-	  the validity of contacts. Reported and   fixed by Cesc
-	  Santasusana <[email protected]>
-
-2005-04-29 16:48  jamey
-
-	* modules/pa/pa_mod.c: interop mangling debugged
-
-2005-04-29 16:38  jamey
-
-	* modules/pa/pa_mod.c: added compatibility mangling functions
-	  mangle_pidf and mangle_message_cpim for peer-to-peer interop
-	  between Eyebeam and Session
-
-2005-04-27 16:58  jih
-
-	* modules/lcr/: README, lcr_mod.c: * load_gws() now takes "From
-	  URI" from caller RPID AVP (if available) or	from From URI.	*
-	  Fixed debug of load_contacts().
-
-2005-04-27 16:15  sobomax
-
-	* modules/nathelper/: nathelper.c, nathelper.h, natping.c: Add
-	  support for using real SIP requests for doing natpinging instead
-	  of UDP packets with 4 zero bytes payload. This provives
-	  workaround for brain damaged NATs which close hole if no packets
-	  are being sent through it from inside, even if there are some
-	  packets going from outside.
-
-	  The feature can be controlled via natping_method variable. By
-	  default old method is used, otherwise its value is taken verbatim
-	  and used as method name for generating requests. For example
-	  setting natping_method="OPTIONS" will instruct the module to use
-	  OPTIONS requests for natpinging.
-
-2005-04-26 12:56  janakj
-
-	* Makefile.defs: - Redundant defines removed (report by Juha
-	  Heinanen)
-
-2005-04-25 11:06  andrei
-
-	* config.h, modules/tm/t_fifo.c:  - MAX_BRANCH_PARAM_LEN  increased
-	   - minor 64 bit warnings fixed
-
-2005-04-22 18:06  andrei
-
-	* modules/dispatcher/dispatch.c:  - added hashing after request uri
-	  and to_uri (untested)
-
-2005-04-22 17:38  janakj
-
-	* modules/tm/t_lookup.c: - fixed a problem where hop-by-hop ACKs
-	  were improperly identified as e2e	when a request spirals
-	  through the same proxy several times.
-
-2005-04-20 21:54  bogdan
-
-	* modules/avp_db/avp_db.c: - bogus AVP_VAL_STR replace with
-	  AVP_NAME_STR in search_first_avp()
-
-2005-04-20 21:51  bogdan
-
-	* modules/: avp/avp.c, lcr/lcr_mod.c: - useless AVP_VAL_STR flag
-	  removed from search_first_avp()
-
-2005-04-19 22:49  ramona
-
-	* modules/xlog/: README, xl_lib.c: - %bR - prints all branches
-	  (submitted by Juha Heinanen) - %{header[*]} - prints all
-	  occurrences of the header in a comma separated list -
-	  documentation updated
-
-2005-04-19 14:52  jamey
-
-	* parser/: parse_event.c, parse_event.h: removed nonstandard event
-	  "location" and added "sip-profile"
-
-2005-04-19 14:50  jamey
-
-	* parser/: parse_content.c, parse_content.h: added mime subtype
-	  xml+msrtc.pidf, needed by PA, and fixed some errors in parse
-	  tables.  All types and subtypes tested by startup code in PA
-
-2005-04-19 14:49  jamey
-
-	* modules/pa/subscribe.c: Accept and Expires are optional headers
-	  for SUBSCRIBE
-
-2005-04-19 14:41  jamey
-
-	* modules/pa/notify.c: patch from Hendrik Scholz to send a closed
-	  notify if no contact found and not to send extra Content-Type
-	  header
-
-2005-04-19 14:40  jamey
-
-	* modules/pa/pa_mod.c: more mimetype test cases and extra sanity
-	  checking in pa_destroy thanks to Hendrik Scholz
-
-2005-04-19 09:54  ramona
-
-	* modules/xlog/xl_lib.c: - proper debug messages
-
-2005-04-16 10:49  bogdan
-
-	* modules/cpl-c/cpl_run.c: - update to latest usrloc changes
-
-2005-04-16 07:56  jih
-
-	* modules/lcr/: README, lcr_mod.c: * Added to_gw() script function.
-	  * Added act.p2 parameter to APPEND_BRANCH_T do_actions.
-
-2005-04-15 15:12  dcm
-
-	* modules/tm/t_fifo.c: - fixed compiling errors (reported by Alex
-	  Mack <[email protected]>)
-
-2005-04-14 17:24  bogdan
-
-	* modules/cpl-c/cpl.c:	- inconsistent error log fixed
-
-2005-04-13 13:01  rco
-
-	* modules/tm/t_fifo.c: removed email parameter within t_write_req &
-	  t_write_unix
-
-2005-04-11 13:01  danp
-
-	* modules/mediaproxy/: Readme, mediaproxy.c: Ingore the port when
-	  doing the "received address is different from the 1st Via
-	  address" test if the client is asymmetric.  This fixes a bug
-	  where asymmetric clients are incorrectly identified as being
-	  behind NAT when they're not.
-
-2005-04-04 16:27  jamey
-
-	* modules/pa/pa_mod.c: conditional compilation of MSRTC_PIDF
-
-2005-04-04 16:24  jamey
-
-	* modules/pa/: subscribe.c, watcher.c, watcher.h: Accept: is not
-	  required in subscribe, added msrtc.pidf format
-
-2005-04-04 16:23  jamey
-
-	* modules/pa/publish.c: look up contact from SIP message if contact
-	  == AOR in the pidf
-
-2005-04-04 16:23  jamey
-
-	* modules/pa/notify.c: only send watcherinfo notify if param
-	  watcherinfo_notify is 1
-
-2005-04-04 16:22  jamey
-
-	* modules/pa/: pa_mod.c, pa_mod.h: add watcherinfo_notify for
-	  debugging PA
-
-2005-04-04 16:21  jamey
-
-	* modules/pa/presentity.c: use %.*s instead of %s to format _p->uri
-
-2005-04-01 14:11  janakj
-
-	* modules/nathelper/nathelper.c: - create_rcv_uri fixed (reported
-	  by Norman Brandinger)
-
-2005-03-29 15:48  janakj
-
-	* modules/usrloc/: ucontact.c, ucontact.h, udomain.c, ul_mod.c,
-	  ul_mod.h, urecord.c, urecord.h: - removed obsolete replication
-	  code
-
-2005-03-29 07:58  danp
-
-	* modules/mediaproxy/mediaproxy.c: - Improved error logging - Avoid
-	  an error message with a valid Contact header used by some phones
-	  when they unregister
-
-2005-03-26 21:10  ramona
-
-	* modules/uac/: auth.c, from.c, from.h, uac.c,
-	  doc/replace_from.patch: - use callback per transaction instead of
-	  filtering all replies - proper handling of To URI in replies -
-	  fixes to issues reported by Andreas Granig, Jan Janak and Norman
-	  Brandinger
-
-2005-03-25 18:36  andrei
-
-	* modules/maxfwd/mf_funcs.c:  - applied Juha's patch (fixes bug
-	  that I introduced when I've fixed the maxfwd = 0 case :-))
-
-2005-03-24 18:52  sobomax
-
-	* modules/nathelper/nathelper.c: Make VF command actually working.
-
-2005-03-24 18:49  andrei
-
-	* modules/maxfwd/mf_funcs.c: - minor fix: '0' in case of 0 and not
-	  only spaces
-
-2005-03-24 15:47  janakj
-
-	* data_lump.c, data_lump.h, lump_struct.h, parser/hf.h: - the type
-	  of lump->op changed from int to enum _hdr_types-t - the value of
-	  HDR_OTHER_T changed to 0 - the value of HDR_VIA1_t changed to 1
-	  (to avoid conflict with value 0 given   as parameter to *_lump
-	  functions)
-
-	    Credits go to Norman Brandinger who investigated the problem in
-	  detail and
-	    proposed the solution.
-
-2005-03-24 13:14  janakj
-
-	* data_lump.c: - changed misleading log message (courtesy of Norman
-	  Brandinger)
-
-2005-03-23 19:44  sobomax
-
-	* modules/nathelper/nathelper.c: o Use the new method for checking
-	  compatibility with rtpproxy;
-
-	  o add support for proxying multiple media streams in single
-	  dialog.
-
-2005-03-18 21:02  ramona
-
-	* modules/uac/from.c: - proper handling of From or To header with
-	  <> (reported by Andreas Granig)
-
-2005-03-14 21:40  bogdan
-
-	* parser/parse_content.c: - broken parsing-tree fixed - thanks to
-	  Christopher Crawford
-
-2005-03-14 14:16  mma
-
-	* modules/avp_db/avp_db.c: Module's parameter val_column should be
-	  export as STR_PARAM (not INT_PARAM).	Seems, nobody uses
-	  non-default db structure...
-
-2005-03-10 15:16  andrei
-
-	* etc/ser.cfg: - more commented out options added to the cfg
-
-2005-03-10 14:14  andrei
-
-	* etc/ser.cfg: - cleaned cfg
-
-2005-03-10 13:55  andrei
-
-	* Makefile.defs, udp_server.c: - multicast parameters (ttl, local
-	  loopback) are now set on all the udp sockets (they might be used
-	  to send a msg. to a multicast destination); fixes reported bug.
-
-2005-03-10 09:34  janakj
-
-	* scripts/sc: - fixed improper use of == (reported by Norman
-	  Brandinger)
-
-2005-03-07 21:01  janakj
-
-	* modules/: auth_radius/Makefile, auth_radius/authrad_mod.c,
-	  auth_radius/sterman.c, avp_radius/Makefile,
-	  avp_radius/avp_radius.c, uri_radius/Makefile,
-	  uri_radius/checks.c, uri_radius/urirad_mod.c: - aligned to
-	  radiusclient-ng 0.5.0, (header files and the library itself
-	  were renamed to radiuclient-ng.h and libradiuclient-ng.so in
-	  order to   make packaging and coexistence with the original
-	  implementation   possible) - includes and library name changed
-
-2005-03-03 11:47  andrei
-
-	* parser/parse_uri.c, test/p_uri.c: - tel uri fixes: - fix ';' in
-	  user resetting uri->type;		     - tel uris parameters
-	  are moved into uri->params even		     for
-	  sip:...;user=phone type of uris
-
-2005-03-02 19:42  andrei
-
-	* Makefile.defs, parser/msg_parser.c, parser/parse_via.c: - fixed a
-	  memory leak in via parsing: on error the via parameters were not
-	  freed (reported by Raphael Coeffic) - better error handling for
-	  via headers with multiple bodies (if one via body    is  bad,
-	  then the whole via header is marked as invalid)
-
-2005-03-02 14:49  janakj
-
-	* modules/registrar/README: - updated
-
-2005-03-02 12:45  andrei
-
-	* Makefile.defs, mem/f_malloc.c, mem/f_malloc.h, mem/meminfo.h,
-	  mem/q_malloc.c, mem/q_malloc.h, mem/shm_mem.h: - re-enabled
-	  locking in shm_status() - added fifo meminfo commands:  serctl
-	  fifo meminfo	total:33340380	free:33112744  used:227636  max
-	  used:227636  fragments:1
-
-	  (where used = allocated shm mem + overhead)
-
-2005-03-02 08:07  jih
-
-	* modules/lcr/lcr_mod.c: * Request-URI is now always terminated
-	  with '\0' before do_action call   in next_gw().
-
-2005-03-01 12:22  bogdan
-
-	* modules/tm/: t_lookup.c, t_reply.c: - statefull replies are sent
-	  out exactly on the same interface on which the   request was
-	  received; - note that the previous version was broken since
-	  get_send_socket(request)   was called to determin the outgoing
-	  interface for relies; this was leading   to sending back replies
-	  on the forced interfaced set for request forwarding!
-
-2005-03-01 12:15  bogdan
-
-	* modules/sl/: sl.c, sl_funcs.c:  - stateless replies generated
-	  from script are forced to use the same interface
-	     as the requests.
-
-2005-03-01 11:49  dcm
-
-	* modules/xlog/Makefile: - missing include Makefile.defs
-
-2005-02-28 21:34  janakj
-
-	* db/db.c: - typo fixed
-
-2005-02-28 19:59  janakj
-
-	* modules/tm/t_fwd.c: - Use force_send_socket stored in the
-	  destination set when doing parallel	forking
-
-2005-02-28 19:56  janakj
-
-	* modules/usrloc/: dlist.c, ucontact.c, ucontact.h, udomain.c,
-	  ul_mod.c, urecord.c, urecord.h: - Applied Bogdan's patch (the
-	  outbound socket can be stored with each contact,   when flushing
-	  the cache, the information would be encoded into the received
-	  URI and retrieved later when loading contacts from database)
-
-2005-02-28 19:56  janakj
-
-	* modules/registrar/: lookup.c, save.c: - Registrar will save and
-	  retrieve the destination IP and port and the	 socket to be used
-	  when sending requests to the registered UA
-
-2005-02-28 19:55  janakj
-
-	* modules/nathelper/nathelper.c: - Included Bogdan's patch (usrloc
-	  now passes also the socket to be used)
-
-2005-02-28 19:54  janakj
-
-	* modules/mediaproxy/functions.h: - Included Bogdan's patch (usrloc
-	  now passes also the socket to be used to   NAT ping functions).
-
-2005-02-28 19:52  janakj
-
-	* modules/mysql/: db_mod.c, dbase.c, dbase.h: - Implemented
-	  DB_REPLACE capability
-
-2005-02-28 19:52  janakj
-
-	* db/: db.c, db.h, db_cap.h: - DB_REPLACE capability added
-
-2005-02-28 16:28  andrei
-
-	* parser/: msg_parser.h, parse_uri.c: - tels uri support and
-	  sip/sips user=phone support patch from Juha Heinanen,  sligthly
-	  modified
-
-2005-02-28 12:38  bogdan
-
-	* modules/tm/t_fifo.c: - before writing to fifo, hdr body is trimed
-
-2005-02-27 21:14  ramona
-
-	* modules/avpops/: README, avpops.c, avpops_impl.c: - avp_write()
-	  can handle now any header body
-
-2005-02-27 18:19  ramona
-
-	* modules/uac/: Makefile, README, auth.c, auth.h, auth_alg.c,
-	  auth_alg.h, auth_hdr.c, auth_hdr.h, from.c, from.h, uac.c,
-	  doc/replace_from.patch: - basic SIP UAC functionalities -
-	  authentication and From header manipulation
-
-2005-02-26 16:51  janakj
-
-	* modules/tm/: config.h, t_funcs.c: - ACK forking hack is not
-	  needed anymore since we have proper Route based   ACK routing.
-	  The code would not even compile.
-
-2005-02-26 16:29  janakj
-
-	* action.c, dset.c, dset.h, modules/avpops/avpops_impl.c,
-	  modules/cpl-c/cpl_sig.c, modules/enum/enum.c,
-	  modules/exec/exec.c, modules/lcr/lcr_mod.c,
-	  modules/permissions/permissions.c, modules/registrar/lookup.c,
-	  modules/tm/t_fwd.c, modules/xlog/xl_lib.c: - Support for
-	  force_send_socket in the destination set. That allows to specify
-	  the outbound socket for every branch when doing parallel
-	  forking.  - Modules aligned to new prototypes of append_branch
-	  and next_branch functions.
-
-2005-02-26 16:27  janakj
-
-	* parser/: parse_param.c, parse_param.h: - Support for dstip and
-	  dstport in the parameter parser
-
-2005-02-26 14:41  janakj
-
-	* modules/nathelper/nathelper.c: - fix_nated_register would save
-	  also the destionation IP and port, thus   the received URI will
-	  look like:   sip:127.0.0.1:35060;dstip=127.0.0.1;dstport=5060
-	  That information will be used by registrar to select proper
-	  outbound   socket to make sure that further messages will make it
-	  through NATs.
-
-2005-02-26 14:34  janakj
-
-	* modules/usrloc/ucontact.c: - Fixed shm_free related crash (called
-	  with NULL parameter)
-
-2005-02-25 19:30  bogdan
-
-	* socket_info.h: - missing include; required by "tcp_disable"
-
-2005-02-25 17:31  janakj
-
-	* modules/mysql/val.c: - All str pointers initialized to an emptry
-	  string, this is to prevent   crashes when module writers do not
-	  check the NULL flag of a value properly.
-
-2005-02-25 15:19  andrei
-
-	* Makefile.defs, action.c, modules/tm/ut.h, parser/msg_parser.h,
-	  parser/parse_uri.c, test/p_uri.c:  - basic tel uri support (it's
-	  parsed, SIP_URI_T, SIPS_URI_T and TEL_URI_T
-	   added)
-
-2005-02-25 07:40  jih
-
-	* modules/permissions/trusted.c: * Fixes to DISABLE_CACHE mode
-	  suggested by Wei.
-
-2005-02-25 04:36  jih
-
-	* modules/lcr/: README, lcr_mod.c: * Now the same AVP is used for
-	  both ip address and port.  * Added support for numeric AVP names.
-
-2005-02-24 23:59  jamey
-
-	* modules/pa/notify.c: ifdef unused code.
-
-2005-02-24 23:59  jamey
-
-	* modules/pa/publish.c: Remove erroneous requirement of Accept
-	  header for PUBLISH.  ifdef unused code.
-
-2005-02-24 20:37  janakj
-
-	* modules/mysql/val.c: - previous commit was an older version of
-	  the function
-
-2005-02-24 18:44  janakj
-
-	* modules/mysql/val.c: - atoi replaced with strtoul to convert also
-	  numbers > INT_MAX.
-
-2005-02-24 18:27  sobomax
-
-	* modules/nathelper/nathelper.c: Garbage collect unused field.
-
-2005-02-24 18:07  sobomax
-
-	* modules/nathelper/nathelper.c: Added support for using more than
-	  one rtp proxy, in which case traffic will be distributed evenly
-	  among them. In addition, each such proxy can be assigned a
-	  weight, which will specify which share of the traffic should be
-	  placed to this particular proxy.
-
-	  Introduce failover mechanism, so that if SER detects that one of
-	  many proxies is no longer available it temporarily decreases its
-	  weight to 0, so that no traffic will be assigned to it.  Such
-	  "disabled" proxies are periodically checked to see if they are
-	  back to normal in which case respective weight is restored
-	  resulting in traffic being sent to that proxy again.
-
-	  Those features can be enabled by specifying more than one "URI"
-	  in the rtpproxy_sock parameter, optionally followed by the
-	  weight, which if absent is assumed to be 1, for example:
-
-	  rtpproxy_sock="unix:/foo/bar=4 udp:1.2.3.4:3456=3
-	  udp:5.6.7.8:5432=1"
-
-2005-02-24 04:39  jamey
-
-	* modules/pa/: presentity.c, publish.c, subscribe.c, watcher.c,
-	  watcher.h: switch to using core parse_accept_hdr, rename 'accept'
-	  to 'preferred_mimetype' in struct watcher
-
-2005-02-24 04:38  jamey
-
-	* modules/pa/notify.c: add missing Contact header to NOTIFY
-	  messages
-
-2005-02-23 20:42  andrei
-
-	* modules/lcr/lcr_mod.c:  -lcr updated to the new parse_headers api
-
-2005-02-23 18:16  andrei
-
-	* Makefile.defs, forward.c, msg_translator.c, route.c,
-	  doc/parse_headers.txt, modules/auth/api.c, modules/auth/api.h,
-	  modules/auth/challenge.c, modules/auth_db/authorize.c,
-	  modules/auth_radius/authorize.c, modules/auth_radius/sterman.c,
-	  modules/avpops/avpops_impl.c, modules/cpl-c/cpl.c,
-	  modules/cpl-c/cpl_proxy.h, modules/cpl-c/cpl_switches.h,
-	  modules/dispatcher/dispatch.c, modules/diversion/diversion.c,
-	  modules/exec/exec_hf.c, modules/jabber/jabber.c,
-	  modules/maxfwd/mf_funcs.c, modules/mediaproxy/functions.h,
-	  modules/mediaproxy/mediaproxy.c, modules/msilo/msilo.c,
-	  modules/nathelper/nathelper.c, modules/pa/publish.c,
-	  modules/pa/subscribe.c, modules/permissions/permissions.c,
-	  modules/pike/pike_funcs.c, modules/registrar/save.c,
-	  modules/registrar/sip_msg.c, modules/rr/loose.c,
-	  modules/sl/sl_funcs.c, modules/sms/sms_funcs.c,
-	  modules/textops/textops.c, modules/tm/dlg.c,
-	  modules/tm/fix_lumps.h, modules/tm/sip_msg.c,
-	  modules/tm/t_fifo.c, modules/tm/t_funcs.c, modules/tm/t_lookup.c,
-	  modules/tm/t_msgbuilder.c, modules/tm/t_reply.c,
-	  modules/uri/checks.c, modules/uri_db/checks.c,
-	  modules/xlog/xl_lib.c, parser/case_acce.h, parser/case_allo.h,
-	  parser/case_auth.h, parser/case_call.h, parser/case_cont.h,
-	  parser/case_cseq.h, parser/case_dive.h, parser/case_even.h,
-	  parser/case_expi.h, parser/case_from.h, parser/case_max.h,
-	  parser/case_orga.h, parser/case_prio.h, parser/case_prox.h,
-	  parser/case_reco.h, parser/case_refe.h, parser/case_remo.h,
-	  parser/case_requ.h, parser/case_rout.h, parser/case_serv.h,
-	  parser/case_sip.h, parser/case_subj.h, parser/case_supp.h,
-	  parser/case_to.h, parser/case_unsu.h, parser/case_user.h,
-	  parser/case_via.h, parser/case_www.h, parser/hf.c, parser/hf.h,
-	  parser/msg_parser.c, parser/msg_parser.h, parser/parse_content.c,
-	  parser/parse_disposition.c, parser/parse_diversion.c,
-	  parser/parse_from.c, parser/parse_hname2.c,
-	  parser/parse_refer_to.c, parser/parse_rpid.c,
-	  parser/contact/parse_contact.c, parser/digest/digest.c: - changed
-	  parse_headers api, HDR_xxx split into HDR_xxx_F (hdr_flags_t) and
-	  HDR_xxx_T (hdr_types_t), for more info read
-	  doc/parse_headers.txt.  The header flags were extended top 64
-	  bits. Be carefull not to mix types with flags, they won't work!
-
-2005-02-21 20:23  ramona
-
-	* modules/xlog/: README, xl_lib.c: - new logging specifiers	%ds
-	  - destination set (thanks to Juha)  %sp - source port       %Ri -
-	  IP address of the interface where the request has been received
-	  %Rp - received port - source ip specifier changed from %is to %si
-	  (better grouping with %sp)
-
-2005-02-20 20:30  jih
-
-	* usr_avp.h: * Added allocation comment on flag 4.
-
-2005-02-19 22:09  jih
-
-	* modules/lcr/: README, lcr_mod.c: * Introduced support for
-	  sequential forking (forwarding)  via	 load_contact and
-	  next_contacts functions (see README for details).
-
-2005-02-18 22:09  bogdan
-
-	* parser/: parse_content.c, parse_content.h:  - mime types for
-	  SIMPLE protocol (contributed by Jamey Hicks)
-
-2005-02-18 19:16  janakj
-
-	* qvalue.c: - fixed error reported by Juha Heinanen
-
-2005-02-18 00:48  bogdan
-
-	* modules/cpl-c/: cpl.c, cpl_env.h, cpl_proxy.h: - variable timeout
-	  in proxy node
-
-2005-02-17 16:56  janakj
-
-	* modules/registrar/lookup.c: - Registrar now properly initializes
-	  q parameter in the destination set   from the user location
-	  database.
-
-2005-02-17 00:14  bogdan
-
-	* modules/tm/: t_funcs.c, t_funcs.h, t_reply.c, tm.c: -
-	  fr_*_timer_avp parameter support ID, string name or alias; AVP ID
-	  much	 faster to search for - if fr_*_timer_avp parameter is
-	  empry, the variable timer support is	 completly desabled (not
-	  searching anymore for the avp) -> reduces to 0   the performace
-	  penalty if you don't set/use variable timer AVP
-
-2005-02-15 19:50  sobomax
-
-	* modules/nathelper/nathelper.c: Fix a bug in the extract_mediaport
-	  routine.
-
-	  Submitted by:   Norman Brandinger <[email protected]>
-
-2005-02-15 01:56  sobomax
-
-	* modules/nathelper/nathelper.c: Use L_ERR log level for reporting
-	  errors instead of L_DBG.
-
-	  Sumitted by:	  Norman Brandinger <[email protected]>
-
-2005-02-15 01:10  jih
-
-	* modules/xlog/: README, xl_lib.c: * Added two new specifiers %br
-	  and %rt that print requests first branch   and refer-to uri,
-	  respectively.
-
-2005-02-15 01:03  jih
-
-	* modules/permissions/: README, permissions.c: * Added
-	  "allow_refer_to" script function.
-
-2005-02-15 00:58  jih
-
-	* modules/tm/sip_msg.c: * Added three missing header field codes to
-	  sip_msg_cloner function in   order to avoid warning messages.
-
-2005-02-15 00:48  jih
-
-	* parser/: case_refe.h, hf.c, hf.h, keys.h, msg_parser.c,
-	  msg_parser.h, parse_hname2.c, parse_refer_to.c, parse_refer_to.h:
-	  * Added parsing of Refer-To header.
-
-2005-02-15 00:19  jih
-
-	* modules/lcr/: Makefile, README, lcr_mod.c, lcr_mod.h: *
-	  Introduced least cost routing module
-
-2005-02-14 22:03  bogdan
-
-	* usr_avp.h:  - tabel with the allocated flags, their meaning and
-	  owner added
-
-2005-02-14 20:49  janakj
-
-	* dset.c: - fixed misleading error messages
-
-2005-02-14 13:17  janakj
-
-	* modules/tm/: tm_load.c, tm_load.h: - rmode variable is accessible
-	  through tm_binds. This allows script	 functions to find out the
-	  type of the route block they are running   within.
-
-2005-02-13 19:28  bogdan
-
-	* modules/: sl/sl.c, tm/t_reply.c, tm/tm.c: - update of script
-	  callbacks registration - TM doesn't use for replies the
-	  post-script cb for unref; it's done directly in  TM reply
-	  processing function
-
-2005-02-13 19:25  bogdan
-
-	* receive.c, script_cb.c, script_cb.h: - script callbacks splitted
-	  into REQUEST and REPLY callbacks for flexibility   and efficiency
-	  reasons
-
-2005-02-13 00:13  bogdan
-
-	* modules/tm/h_table.c, modules/tm/sip_msg.c, modules/tm/t_reply.c,
-	  parser/msg_parser.h: - current processed reply made available in
-	  failure route - reinforce the checking on transaction destroy to
-	  avoid mixture   between SHM and PKG uac replies (this can happend
-	  only on shutdown)
-
-2005-02-11 14:15  janakj
-
-	* modules/auth_db/authorize.c: - Fixed AVP bug reported by Norman
-	  Brandinger <[email protected]>
-
-2005-02-11 14:07  janakj
-
-	* utils/serunix/serunix.c: - fixed warnings due to missing unistd.h
-
-2005-02-07 16:32  ramona
-
-	* modules/avpops/avpops_impl.c: - bug fixed (reported by Richard)
-
-2005-02-07 16:21  janakj
-
-	* modules/mysql/: utils.c, utils.h: - parse_mysql_url not necessary
-	  anymore
-
-2005-02-05 10:17  bogdan
-
-	* parser/msg_parser.c: - bug fixed in setting EVENT header shortcut
-	  (repoted by Norman Brandinger)
-
-2005-02-03 23:13  ramona
-
-	* modules/avpops/: README, avpops.c, avpops_impl.c, avpops_impl.h,
-	  avpops_parse.c: - avp_copy() for duplicating / renaming AVP(s)
-	  added - "fm" fastmatch operator to allow dynamic regular
-	  expressions was added to avp_check()
-
-2005-02-03 23:05  ramona
-
-	* modules/pdt/: README, pdt.c: - possibility to skip removing the
-	  prefix
-
-2005-02-03 18:46  sobomax
-
-	* modules/nathelper/nathelper.c: Improve extract_mediaport()
-	  function, so that it takes into consideration transport name
-	  (i.e. udp, udptl etc), not media name (i.e. audio, application,
-	  etc) when deciding if this stream can be relayed by rtpproxy.
-
-	  For example this should make it possible to use rtpproxy for
-	  proxying T.38 streams.
-
-2005-02-03 15:41  sobomax
-
-	* modules/nathelper/nathelper.c: Add new flag for fix_nated_sdp(),
-	  which simply adds nortpproxy flag, usually automatically inserted
-	  by functions that force rtp proxy to prevent forcing media
-	  session to be relayed more that one rtp proxy in a chain. In some
-	  cases this can be useful.
-
-2005-02-03 15:21  sobomax
-
-	* modules/nathelper/nathelper.c: Reduce diff to Porta's own
-	  internal version of the module. NO FUNCTIONAL CHANGES!
-
-2005-02-03 15:08  sobomax
-
-	* modules/nathelper/nathelper.c: o Add missing space to the warning
-	  message;
-
-	  o whitespace nit.
-
-2005-02-03 15:06  sobomax
-
-	* modules/nathelper/nathelper.c: Add support for `application'
-	  media type. This makes things like application sharing in Nortel
-	  softphone working.
-
-2005-02-03 14:54  sobomax
-
-	* modules/nathelper/nathelper.c: Initialize mypid module global
-	  variable early, so that it is already available for those
-	  functions that may need it (i.e. rtpp_test()).
-
-2005-02-03 14:22  sobomax
-
-	* modules/nathelper/nathelper.c: Don't assume that call-id is
-	  already parsed, since it may not be be true in some cases
-	  (depending on the order of calling various routines in the
-	  routing script), resulting in nathelper functions failing without
-	  any reason.
-
-2005-02-02 20:10  janakj
-
-	* ut.h: - char* -> const char*
-
-2005-02-02 20:09  janakj
-
-	* modules/mysql/: dbase.c, my_con.c, my_con.h: - using improved
-	  connection pool
-
-2005-02-02 20:08  janakj
-
-	* db/: db_id.c, db_id.h, db_pool.c, db_pool.h: - improved database
-	  connection pool
-
-2005-02-02 19:29  sobomax
-
-	* modules/nathelper/nathelper.c: Fix a very bad typo in a comment -
-	  option `r' has been called `d' there.
-
-2005-02-01 16:13  janakj
-
-	* modules/mysql/: db_con.c, db_mod.c, dbase.c, my_con.c, res.c,
-	  row.c, val.c: - some useful debugging information
-
-2005-02-01 15:18  janakj
-
-	* modules/tm/: t_reply.c, timer.c: - fixed typo when testing for
-	  has_noisy_ctimer - noisy_ctimer enabled for transactions with
-	  external value   of FR_INV_TIMER
-
-2005-02-01 15:08  janakj
-
-	* modules/tm/t_funcs.h: - Automatically enable noisy C timer when
-	  external timer value is set	through AVPs
-
-2005-02-01 14:32  janakj
-
-	* modules/registrar/: reg_mod.c, reg_mod.h, save.c: -
-	  desc_time_order dropped in favor if max_contacts
-
-2005-02-01 14:25  janakj
-
-	* modules/tm/timer.c: - skip deleted timers when traversing the
-	  list
-
-2005-02-01 14:21  janakj
-
-	* dset.c, dset.h: - make nr_branches accessible
-
-2005-02-01 14:19  janakj
-
-	* modules/: auth_db/authorize.c, auth_radius/authorize.c,
-	  auth_radius/sterman.c, uri_db/checks.c: - Use GET_REALM macro
-
-2005-02-01 13:35  janakj
-
-	* parser/digest/digest_parser.h: - GET_REALM v2
-
-2005-02-01 13:03  janakj
-
-	* parser/digest/digest.c: - test comparing domain part in username
-	  and realm relaxed.
-
-2005-02-01 12:00  ramona
-
-	* modules/speeddial/: README, sdlookup.c: - fixed use_domain
-	  behavior - documentation updated
-
-2005-02-01 10:57  janakj
-
-	* modules/auth_radius/: authorize.c, authrad_mod.c, authrad_mod.h,
-	  sterman.c, sterman.h: - SIP-Rpid attribute replaced with more
-	  generic Sip-Avp, it is now possible	to load a whole bunch of
-	  credentials during authentication, not just	the value of
-	  Remote-Party-ID - aligned to auth_db
-
-2005-01-31 18:54  janakj
-
-	* modules/auth_db/: authdb_mod.c, authdb_mod.h, authorize.c,
-	  authorize.h: - AVP support clean up (only one list which defaults
-	  to 'rpid')   - RPID handling is no more an exception -- it is now
-	  stored     in AVPs as well
-
-2005-01-31 18:52  janakj
-
-	* modules/auth/: aaa_avps.h, api.c, api.h, auth_mod.c, auth_mod.h:
-	  - rpid cleanum   - AVPs are used to store the value of RPID (no
-	  more static buffer)	- the name of the RPID AVP is configurable
-	  through the parameter of     auth module
-
-2005-01-30 22:17  ramona
-
-	* modules/pdt/: README, domains.c, domains.h, pdt.c, pdtree.c,
-	  pdtree.h, doc/pdt.sql, doc/pdt_fifo_add.sh,
-	  doc/pdt_fifo_delete.sh, doc/pdt_fifo_list.sh: - terminating code
-	  removed - prefix hash replaced with a tree index - table
-	  definition updated - new fifo commands: add, delete and list -
-	  automatic prefix generating removed - documentation updated
-
-2005-01-26 14:55  danp
-
-	* modules/mediaproxy/: Readme, mediaproxy.c: Check both the IP and
-	  the port when testing if the address in 1st Via field is
-	  different from the address from where we receive the SIP
-	  messages.
-
-2005-01-22 00:20  bogdan
-
-	* modules/mysql/dbase.c: -revert some dbg messages
-
-2005-01-22 00:15  bogdan
-
-	* modules/mysql/dbase.c: -bug fixed in processing DB url without
-	  password
-
-2005-01-22 00:05  bogdan
-
-	* modules/pdt/pdt.c: - bug fix on destroing resorces when init
-	  failes
-
-2005-01-20 11:01  ramona
-
-	* modules/avpops/avpops.c: - fixed bug with avp aliases (reported
-	  by Richard)
-
-2005-01-13 09:45  sobomax
-
-	* modules/registrar/reply.c: Calling foo(bar(&baz), baz) first of
-	  all is bad practice, moreover it creates real problems with gcc
-	  2.95.4, maybe due to the fact that bar() is inline function in
-	  this case. It results in corrupted expires parameter here.
-
-2005-01-12 14:49  ramona
-
-	* modules/avpops/avpops_parse.c: - fixd bug in parsing db
-	  parameters
-
-2005-01-10 18:31  sobomax
-
-	* Makefile.defs, modules/tm/t_fifo.c: Add workaround for a bug
-	  found in BSD kernels, which causes bogus error returned by the
-	  connect(2) system call in some rare conditions, resulting in
-	  inability to restart SEMS without restarting SER.
-
-	  Should be no-op on !BSD systems.
-
-2005-01-10 09:32  sobomax
-
-	* modules/tm/t_fifo.c: Respect HAVE_SOCKADDR_SA_LEN, so that
-	  t_write_unix() works in systems where there is a sa_len member in
-	  the sockaddr structure.
-
-2005-01-09 15:37  sobomax
-
-	* cfg.y: force_rport() works even without TCP support compiled in.
-
-2004-12-29 00:41  sobomax
-
-	* parser/: hf.c, hf.h, keys.h, msg_parser.c, msg_parser.h,
-	  parse_hname2.c: Temporarily backout addition of Server header
-	  field parser until decision is adapted on how to overcome current
-	  limit of max 32 headers. Just for the record, I think that the
-	  easiest way out is to increase flags storage size from 32bits to
-	  64bits, which should be sufficiend at least for the next year.
-
-	  Requested by:   Andrei Pelinescu-Onciul
-	  <[email protected]>
-
-2004-12-23 00:46  calrissian
-
-	* daemonize.c: fixed compilation on MacOSX
-
-2004-12-20 19:52  sobomax
-
-	* parser/: case_serv.h, hf.c, hf.h, keys.h, msg_parser.c,
-	  msg_parser.h, parse_hname2.c: Add support for Server header
-	  field, since it is necessary in one place (mediaproxy module)
-	  already and will also be used in another new module.
-
-	  Submitted by:   Valentin Nechaev <[email protected]>
-
-2004-12-20 19:50  sobomax
-
-	* parser/parser_f.h: Use "const char *" instead of "char *" where
-	  appropriate.
-
-2004-12-19 12:58  andrei
-
-	* Makefile.defs:  - netbsd amd64 fix (ser uses x86_64 instead of
-	  amd64)
-
-2004-12-16 18:55  andrei
-
-	* Makefile.defs: - updated ver. no
-
-2004-12-16 18:46  andrei
-
-	* README: - removed reference to serhelp
-
-2004-12-16 18:39  andrei
-
-	* AUTHORS, CREDITS, Makefile.defs, NEWS, README-MODULES,
-	  fastlock.h, ser.8, ser.cfg.5, mem/f_malloc.h, mem/q_malloc.h,
-	  modules/auth_db/authdb_mod.c, modules/tm/t_funcs.c,
-	  modules/tm/tm.c: - various pre-release updates - use_domain set
-	  to 0 by default in all the modules - experimental sparc32 non-SMP
-	  support (thanks to Michael Grigoni)
-
-2004-12-15 18:49  andrei
-
-	* Makefile.defs, daemonize.c, modules/auth_radius/sterman.c,
-	  modules/avp_radius/avp_radius.c, modules/cpl-c/cpl.c,
-	  modules/cpl-c/cpl_run.c, modules/cpl-c/cpl_switches.h:
-	  - auth_radius: alloca()/alloca.h fixes - 64 bit warnings fixed -
-	  daemonize _XOPEN_SOURCE_EXTENDED hack modified again
-
-2004-12-14 19:39  andrei
-
-	* Makefile.defs, daemonize.c: - gcc 3.4 makefile support - openbsd
-	  3.2 daemonize.c compile fixes
-
-2004-12-13 14:52  dcm
-
-	* NEWS: - list of new and removed modules - changes in old modules
-	  and core
-
-2004-12-11 16:24  jih
-
-	* modules/avp/README: * Removed Radius specific stuff from README
-	  file.
-
-2004-12-11 16:23  jih
-
-	* modules/avp_radius/README: * Introduced README file.
-
-2004-12-08 21:43  bogdan
-
-	* modules/cpl-c/cpl_loader.c: - missing close was leading to fd
-	  exhaustion (reported by Christopher Crawford)
-
-2004-12-08 20:06  andrei
-
-	* Makefile, Makefile.defs, mem/f_malloc.c, mem/f_malloc.h,
-	  mem/q_malloc.c, mem/q_malloc.h, mem/shm_mem.c, mem/shm_mem.h: -
-	  warnings fixed for gcc-3.4 - older solaris support (5.6)
-
-2004-12-06 09:51  janakj
-
-	* modules/mysql/dbase.c: - fixed typo -- dumplicated snprintf --
-	  reported by Sun Zongjun
-
-2004-12-05 00:58  janakj
-
-	* modules/diversion/diversion.c: - useless memory allocation
-	  eliminated   Closes: SER-11
-
-2004-12-05 00:40  janakj
-
-	* modules/mysql/: dbase.c, val.c: - Proper checking of the return
-	  value of snprintf   Closes: SER-18
-
-2004-12-04 23:37  janakj
-
-	* etc/dictionary.ser: - RADIUS dictionary cleanup. Now it contains
-	  all attributes and values   needed by SER. It contains even
-	  standard (IANA registered) attributes   but only those that are
-	  missing in the radiusclient-ng default dictionary   are
-	  uncommented, the rest is commented out.
-
-2004-12-04 20:16  janakj
-
-	* etc/dictionary.ser: - Missing Sip-Translated-Request-URI added
-
-2004-12-04 19:41  janakj
-
-	* etc/dictionary.ser: - Added 'Failed' Acct-Status-Type   Closes
-	  SER-8
-
-2004-12-04 19:33  janakj
-
-	* modules/: registrar/reg_mod.c, usrloc/usrloc.c, usrloc/usrloc.h:
-	  - simple check if use_domain parameters of registrar and usrloc
-	  modules   have the same value
-
-2004-12-04 18:12  janakj
-
-	* modules/maxfwd/mf_funcs.c: - no trailing spaces will be generated
-	  at the end of Max-Forward header   field (required by RFC3261)
-	  Closes: SER-13
-
-2004-12-04 11:39  andrei
-
-	* Makefile.defs, modules/tm/t_hooks.c: - fixed function delc. typo
-
-2004-12-03 23:10  janakj
-
-	* modules/tm/t_funcs.c: - fixed typo in calculating length of avps
-
-2004-12-03 20:42  janakj
-
-	* modules/rr/loose.c: - fixed return value of loose_route when a
-	  message contains just one   Route header field and it is not
-	  pre-loaded route set.    Closes: SER-3
-
-2004-12-03 20:09  andrei
-
-	* Makefile.defs, data_lump_rpl.c, dset.c, main.c, modparam.c,
-	  sr_module.h, modules/auth_radius/sterman.c,
-	  modules/avp_radius/Makefile, modules/avpops/avpops.c,
-	  modules/avpops/avpops_db.c, modules/avpops/avpops_db.h,
-	  modules/dispatcher/dispatch.c, modules/enum/enum.c,
-	  modules/gflags/gflags.c, modules/msilo/msilo.c,
-	  modules/nathelper/nathelper.c, modules/pa/Makefile,
-	  modules/permissions/trusted.c, modules/registrar/reg_mod.c,
-	  modules/registrar/reg_mod.h, modules/registrar/save.c,
-	  modules/speeddial/sdlookup.c, modules/tm/t_fifo.c,
-	  modules/tm/t_fifo.h, modules/tm/t_funcs.c, modules/tm/t_funcs.h,
-	  modules/tm/t_hooks.c, modules/tm/t_reply.c,
-	  modules/usrloc/udomain.c: - lots of fixes (alignments, casts,
-	  warnings) - it compiles cleanly now wit sun cc and intel icc.  -
-	  slight api change for param_func_t (it takes a void* now instead
-	  of  a param_func_param_t)
 
+===================== 2012-06-18 Version 3.3.0 Released =====================

+ 0 - 649
ChangeLog_k

@@ -1,649 +0,0 @@
-# $Id: ChangeLog 5660 2009-03-02 15:50:13Z henningw $
-
-===================== 2009-XX-XX Kamailio v1.6.0 released =====================
-
-2009-04-09 15:48  Daniel-Constantin Mierla, <miconda at gmail dot com>
-
-	* [r5792] db/schema/dialog.xml, scripts/db_berkeley/kamailio/dialog,
-	  scripts/mysql/dialog-create.sql, scripts/oracle/dialog-create.sql,
-	  scripts/postgres/dialog-create.sql:
-	  - set 0 default values for the new columns
-
-2009-04-07 14:53  Henning Westerholt, <henning dot westerholt at 1und1 dot de>
-
-	* [r5791] modules/utils/utils.c:
-	  - fix a crash in FIFO command when no input parameter was given
-	  - simplify FIFO logic somewhat
-
-2009-04-06 12:20  Henning Westerholt, <henning dot westerholt at 1und1 dot de>
-
-	* [r5790] modules/avpops/README, modules/avpops/doc/avpops_admin.xml,
-	  modules/sqlops/README, modules/sqlops/doc/sqlops_admin.xml:
-	  - add a short note that big int and floating point values are not
-	  supported
-
-2009-04-06 12:16  Henning Westerholt, <henning dot westerholt at 1und1 dot de>
-
-	* [r5789] modules/sqlops/README, modules/sqlops/doc/sqlops_admin.xml:
-	  - small spelling fix
-
-2009-04-02 19:55  Henning Westerholt, <henning dot westerholt at 1und1 dot de>
-
-	* [r5787] modules/dialog/dlg_profile.c:
-	  - spelling fix in log messages
-
-2009-04-02 19:52  Henning Westerholt, <henning dot westerholt at 1und1 dot de>
-
-	* [r5786] modules/dialog/dlg_profile.c, modules/dialog/dlg_profile.h:
-	  - doxygen documentation
-
-2009-04-02 18:24  Henning Westerholt, <henning dot westerholt at 1und1 dot de>
-
-	* [r5785] modules/dialog/dlg_timer.c, modules/dialog/dlg_timer.h:
-	  - small syntax fix
-
-2009-04-01 08:34  Henning Westerholt, <henning dot westerholt at 1und1 dot de>
-
-	* [r5784] scripts/kamdbctl.8:
-	  - small rephrasing, extend man page a bit
-
-2009-04-01 08:25  Henning Westerholt, <henning dot westerholt at 1und1 dot de>
-
-	* [r5783] scripts/kamdbctl.8:
-	  - layout fix in man page for kamdbctl
-
-2009-03-31 12:24  Henning Westerholt, <henning dot westerholt at 1und1 dot de>
-
-	* [r5780] modules/sanity/README, modules/sanity/doc/sanity_admin.xml:
-	  - fix wrong modparam, this is a integer value, one spelling fix
-
-2009-03-30 20:40  Henning Westerholt, <henning dot westerholt at 1und1 dot de>
-
-	* [r5779] modules/dialog/README, modules/dialog/doc/dialog_admin.xml:
-	  - documentation improvements (spelling fixes, small clarifications
-	  and extensions)
-
-2009-03-30 19:32  Henning Westerholt, <henning dot westerholt at 1und1 dot de>
-
-	* [r5777] modules/sst/sst_handlers.c:
-	  - put custom logging helper in USE_CONFIRM_CALLBACK #define, in order
-	  to keep the namespace clean
-	  - add some missing log messages in some cases annotated with FIXMEs
-	  - spelling fix in log messages
-
-2009-03-30 19:28  Henning Westerholt, <henning dot westerholt at 1und1 dot de>
-
-	* [r5776] modules/sst/sst.c, modules/sst/sst_handlers.c,
-	  modules/sst/sst_mi.c:
-	  - some doxygen and comment fixes
-
-2009-03-30 19:26  Henning Westerholt, <henning dot westerholt at 1und1 dot de>
-
-	* [r5775] modules/dialog/dlg_timer.c, modules/dialog/dlg_timer.h:
-	  - doxygen documentation
-
-2009-03-30 13:28  Daniel-Constantin Mierla, <miconda at gmail dot com>
-
-	* [r5772] data_lump.c:
-	  - return null instead of doing abort() when offset exceeds message
-	  size
-	  - log level set to ERR
-	  - reported by Martin Dvorak
-
-2009-03-27 00:40  Inaki Baz Castillo <ibc at aliax dot net>
-
-	* [r5771] modules/pua_usrloc/ul_publish.c:
-	  - Fixed and improved the problem description:
-	  An error occurs if Kamailio was restarted/stopped and for any reason
-	  couldn't store a pua
-	  entry in 'pua' DB table. It can also occur if 'pua' table is cleaned
-	  externally while Kamailio
-	  is stopped so cannot retrieve these entries from DB when restarting.
-	  In these cases, when a refresh registration for that user creates an
-	  UPDATE action in pua_usrloc,
-	  pua 'ul_publish()' would fail since the appropiate entry doesn't exist
-	  in pua hast table ("New
-	  PUBLISH and no body found - invalid request").
-	  This code solves this problem by invoking an INSERT action if an
-	  UPDATE action failed due to the
-	  above error. It will however generate a new presentity entry in the
-	  presence server (until the
-	  previous one expires), but this is a minor issue.
-
-2009-03-27 00:25  Inaki Baz Castillo <ibc at aliax dot net>
-
-	* [r5770] modules/pua/send_publish.c, modules/pua/send_publish.h,
-	  modules/pua_usrloc/ul_publish.c:
-	  - Improved the case in which Kamailio was restarted before storing an
-	  entry in 'pua' DB table.
-	  In that case the next refresh registration from that user would create
-	  an UPDATE action in
-	  pua_usrloc and since the appropiate entry doesn't exist in pua hast
-	  table it would fail
-	  ("empty body").
-	  - The patch solves this problem by invoking an INSERT action if an
-	  UPDATE action failed with
-	  code ERR_PUBLISH_NO_BODY. It will however generate a new presentity
-	  status in the presence
-	  server until the previous one expires.
-
-2009-03-26 21:47  Ovidiu Sas, <osas at voipembedded dot com>
-
-	* [r5769] modules/ratelimit/ratelimit.c,
-	  modules/snmpstats/alarm_checks.c, modules/snmpstats/openserObjects.c,
-	  modules/snmpstats/openserSIPPortTable.c, socket_info.c, socket_info.h,
-	  statistics.c, statistics.h:
-	  Moving socket statistics related code from "socket_info" to
-	  "statistics"
-
-2009-03-25 04:01  Ovidiu Sas, <osas at voipembedded dot com>
-
-	* [r5765] modules/ratelimit/README, modules/ratelimit/doc/ratelimit.xml,
-	  modules/ratelimit/doc/ratelimit_admin.xml,
-	  modules/ratelimit/ratelimit.c:
-	  new pipe algorithm: NETWORK
-	  This algorithm relies on information provided by network
-	  interfaces. The total amount of bytes waiting to be consumed on
-	  all the network interfaces is retrieved once every
-	  timer_interval seconds. If the returned amount exceeds the
-	  limit specified in the modparam, rl_check returns an error.
-	  - based on patch provided by Arnaud Boussus ( aboussus )
-	  - closes 2694682
-
-2009-03-24 22:54  Ovidiu Sas, <osas at voipembedded dot com>
-
-	* [r5764] modules/snmpstats/alarm_checks.c,
-	  modules/snmpstats/network_stats.c, modules/snmpstats/network_stats.h,
-	  modules/snmpstats/openserObjects.c,
-	  modules/snmpstats/openserSIPPortTable.c,
-	  modules/snmpstats/snmpstats_globals.h, socket_info.c, socket_info.h:
-	  Moving socket related code from snmpstats module into the core:
-	  - other modules will be able to access socket related statistics
-	  directly from core
-
-2009-03-23 13:20  Henning Westerholt, <henning dot westerholt at 1und1 dot de>
-
-	* [r5762] modules/tm/README, modules/tm/doc/tm_admin.xml:
-	  - spelling fix in docs
-
-2009-03-23 13:13  Henning Westerholt, <henning dot westerholt at 1und1 dot de>
-
-	* [r5760] modules/acc/diam_avp.c:
-	  - spelling fix in log message
-
-2009-03-23 13:11  Henning Westerholt, <henning dot westerholt at 1und1 dot de>
-
-	* [r5759] modules/db_berkeley/bdb_lib.c:
-	  - sscanf can fail, log an error in this case and stop, to prevent the
-	  processing of probably invalid table meta-data
-
-2009-03-23 13:09  Henning Westerholt, <henning dot westerholt at 1und1 dot de>
-
-	* [r5757] modules/ratelimit/ratelimit.c:
-	  - log an error when /proc/stat could not be opened
-	  - fscanf can fail, log an error in this case and stop to prevent the
-	  processing of probably invalid data
-
-2009-03-23 13:06  Henning Westerholt, <henning dot westerholt at 1und1 dot de>
-
-	* [r5756] modules/xmpp/xmpp.c:
-	  - remove empty destroy function
-
-2009-03-23 13:05  Henning Westerholt, <henning dot westerholt at 1und1 dot de>
-
-	* [r5755] modules/auth_diameter/avp.c:
-	  - small spelling fix in comments and log message
-
-2009-03-23 13:04  Henning Westerholt, <henning dot westerholt at 1und1 dot de>
-
-	* [r5754] modules/h350/h350_mod.c:
-	  - remove empty destroy function
-
-2009-03-23 13:03  Henning Westerholt, <henning dot westerholt at 1und1 dot de>
-
-	* [r5753] modules/nat_traversal/nat_traversal.c:
-	  - remove empty child_init function
-
-2009-03-23 13:02  Henning Westerholt, <henning dot westerholt at 1und1 dot de>
-
-	* [r5752] modules/presence_dialoginfo/pidf.c,
-	  modules/presence_xml/pidf.c:
-	  - sscanf can fail for time parsing, output an error and return 0 in
-	  this case
-
-2009-03-23 13:00  Henning Westerholt, <henning dot westerholt at 1und1 dot de>
-
-	* [r5751] daemonize.c:
-	  - fscanf can fail, fix warning related to recent glibc versions
-	  (the diff applies unchanged to the sip-router core too)
-
-2009-03-20 18:09  Inaki Baz Castillo <ibc at aliax dot net>
-
-	* [r5749] modules/lcr/lcr_mod.c:
-	  - fixed typo: "positve_codes" -> "positive_codes"
-
-2009-03-20 15:33  Ovidiu Sas, <osas at voipembedded dot com>
-
-	* [r5748] modules/dialog/dlg_handlers.c, modules/tm/t_hooks.h,
-	  modules/tm/t_lookup.c, modules/tm/t_reply.c:
-	  backport from opensips (r5420):
-	  - added a new TM callback TMCB_RESPONSE_PRE_OUT - this callback is to
-	  be called before sending the reply out while the existing
-	  TMCB_RESPONSE_OUT is called after the reply is sent.
-	  This is part of the fixing of 200OK / ACK race in dialog module (bug
-	  #2080954)
-	  This new callbakc will also give a bust in performance (as time to
-	  send reply) as the signaling will not be delayed anymore by slow
-	  callbacks with DB ops (like siptrace and
-	  accounting)
-	  - credits goes to Bogdan-Andrei Iancu
-
-2009-03-20 14:33  Juha Heinanen, <jh at tutpro dot com>
-
-	* [r5747] modules/lcr/lcr_mod.c:
-	  * Removed two unused defines. Thanks to Inaki for pointing out the
-	  unused parameters.
-
-2009-03-20 14:29  Juha Heinanen, <jh at tutpro dot com>
-
-	* [r5745] modules/lcr/README, modules/lcr/doc/lcr_admin.xml,
-	  modules/lcr/lcr_mod.c:
-	  * Removed unused timer related module parameters.
-
-2009-03-20 13:16  Juha Heinanen, <jh at tutpro dot com>
-
-	* [r5743] modules/lcr/README, modules/lcr/doc/lcr_admin.xml:
-	  * Improved documentation based on suggestion by Inaki.
-
-2009-03-20 06:40  Juha Heinanen, <jh at tutpro dot com>
-
-	* [r5733] modules/mediaproxy/mediaproxy.c:
-	  * Dig out application/sdp part from multipart body.
-
-2009-03-19 17:06  Henning Westerholt, <henning dot westerholt at 1und1 dot de>
-
-	* [r5731] modules/dialog/README, modules/dialog/doc/dialog_admin.xml:
-	  - fix documentation, the dialog module does export functions since
-	  1.3..
-
-2009-03-19 17:02  Henning Westerholt, <henning dot westerholt at 1und1 dot de>
-
-	* [r5730] modules/dialog/README, modules/dialog/doc/dialog_admin.xml:
-	  - spelling fixes in documentation, small clarifications
-
-2009-03-19 16:49  Henning Westerholt, <henning dot westerholt at 1und1 dot de>
-
-	* [r5729] test/25.sh:
-	  - extend test with one non-digit URI (bug #2694633)
-
-2009-03-19 16:03  Henning Westerholt, <henning dot westerholt at 1und1 dot de>
-
-	* [r5728] modules/userblacklist/README,
-	  modules/userblacklist/doc/userblacklist_admin.xml:
-	  - extend documentation a bit with the behaviour related to non-digits
-	  input
-
-2009-03-19 09:37  Daniel-Constantin Mierla, <miconda at gmail dot com>
-
-	* [r5724] modules/tm/README, modules/tm/doc/tm_admin.xml:
-	  - added docs for auto_inv_100_reason parameter
-
-2009-03-19 09:27  Daniel-Constantin Mierla, <miconda at gmail dot com>
-
-	* [r5723] modules/tm/t_funcs.c, modules/tm/tm.c:
-	  - added auto_inv_100_reason parameter to be able to customize reason
-	  phrase for 100 replies generated by tm
-	  - patch by Andreas Heise (closes #2687309)
-
-2009-03-19 09:13  Daniel-Constantin Mierla, <miconda at gmail dot com>
-
-	* [r5722] main.c:
-	  - print svnrevision at startup if available
-	  - LM_NOTICE replaced to LM_INFO for coherence in startup messages
-	  - patch by Andreas Heise (closes #2686905)
-
-2009-03-18 17:23  Henning Westerholt, <henning dot westerholt at 1und1 dot de>
-
-	* [r5721] mem/mem.c:
-	  - fix error message, shared memory size is a unsigned long
-
-2009-03-18 12:55  Henning Westerholt, <henning dot westerholt at 1und1 dot de>
-
-	* [r5720] bit_scan.c, bit_scan.h, compiler_opt.h, mem/f_malloc.c,
-	  mem/f_malloc.h:
-	  - further synchronization of our F_MALLOC memory manager with the one
-	  in sip-router tree
-	  - add necessary dependencies: likely and unlikely optimization,
-	  several optimized bit scan implementations
-
-2009-03-18 10:40  Henning Westerholt, <henning dot westerholt at 1und1 dot de>
-
-	* [r5719] modules/memcached:
-	  - svn:ignore properties
-
-2009-03-18 01:07  Inaki Baz Castillo <ibc at aliax dot net>
-
-	* [r5718] modules/tm/README, modules/tm/doc/tm_admin.xml,
-	  modules/tm/t_reply.c, modules/tm/t_reply.h, modules/tm/tm.c:
-	  - new TM parameter "drop_stateless_replies" (draft-sparks-sip-invfix):
-	  drop received replies matching no transaction
-
-2009-03-17 12:40  Henning Westerholt, <henning dot westerholt at 1und1 dot de>
-
-	* [r5716] modules/tm/README, modules/tm/doc/tm_admin.xml:
-	  - spelling fixes in docs
-
-2009-03-16 23:33  Henning Westerholt, <henning dot westerholt at 1und1 dot de>
-
-	* [r5715] action.c:
-	  - fix warning emitted from gcc 4.3 related to missing format specifier
-	  in log statement
-
-2009-03-16 23:17  Henning Westerholt, <henning dot westerholt at 1und1 dot de>
-
-	* [r5714] ccopts.sh, ccver.sh:
-	  - delete obselete compiler helper scripts, they were not updated since
-	  the (first) fork..
-
-2009-03-16 17:29  Henning Westerholt, <henning dot westerholt at 1und1 dot de>
-
-	* [r5713] modules/db_text/dbt_base.c, modules/db_text/dbt_res.c,
-	  modules/db_text/dbt_res.h:
-	  - add support for order-by clauses, implemented with qsort
-	  - patch #2665569 contributed from Edgar Holleis
-
-2009-03-16 14:36  Inaki Baz Castillo <ibc at aliax dot net>
-
-	* [r5712] scripts/kamctl:
-	  - Fixed "kamctl ping": From and Contact in generated OPTIONS didn't
-	  contain "sip:"
-
-2009-03-16 13:15  Henning Westerholt, <henning dot westerholt at 1und1 dot de>
-
-	* [r5711] db/db.c:
-	  - add missing linebreak to log
-
-2009-03-16 11:33  Henning Westerholt, <henning dot westerholt at 1und1 dot de>
-
-	* [r5706] packaging/debian-etch/control, packaging/debian-etch/rules,
-	  packaging/debian-lenny/control, packaging/debian-lenny/rules,
-	  packaging/debian/control, packaging/debian/rules:
-	  - build memcached module as own debian package
-
-2009-03-16 10:17  Henning Westerholt, <henning dot westerholt at 1und1 dot de>
-
-	* [r5705] Makefile:
-	  - add memcached to exclude modules
-
-2009-03-16 10:16  Henning Westerholt, <henning dot westerholt at 1und1 dot de>
-
-	* [r5704] modules/memcached/README,
-	  modules/memcached/doc/memcached_admin.xml:
-	  - fix wrong datatype for expire, reported from Andreas Heise
-
-2009-03-15 12:35  Inaki Baz Castillo <ibc at aliax dot net>
-
-	* [r5703] packaging/debian-etch/control, packaging/debian-lenny/control,
-	  packaging/debian/control:
-	  - Added libmemcache-dev to "control" files for deb packages (patch by
-	  Andreas Heise)
-
-2009-03-14 12:31  Inaki Baz Castillo <ibc at aliax dot net>
-
-	* [r5702] modules/siputils/README,
-	  modules/siputils/doc/siputils_admin.xml:
-	  - Improved tel2sip() documentation.
-
-2009-03-14 12:09  Inaki Baz Castillo <ibc at aliax dot net>
-
-	* [r5701] modules/siputils/checks.c:
-	  - Fix in tel2sip(): Check pkg_malloc return code.
-
-2009-03-14 01:20  Inaki Baz Castillo <ibc at aliax dot net>
-
-	* [r5700] modules/siputils/checks.c:
-	  - Improved 'tel2sip()' according to RFC 3261 section 19.1.6:
-	  - Compare "tel:" case insensitive (allows "TEL:")
-	  - Remove TEL number visual separators ( "-", ".", "(", ")" ) before
-	  converting to SIP URI userinfo
-	  - Downcase TEL parameters before appending them to SIP URI userinfo
-	  - Example:
-	  TEL:+12-(34)-56-78;Ext=200;ISUB=+123-456 becomes:
-	  sip:+12345678;ext=200;[email protected];user=phone
-	  - TODO:
-	  - Sort alphabetically TEL parameters before appending them to SIP URI
-	  userinfo (but "isub" and "ext" params must be at the beginning)
-	  - Improve the conversion with possible new rules in RFC's 4715, 4759,
-	  4694 and 4904 (all of them define new TEL URI params)
-
-2009-03-13 18:11  Henning Westerholt, <henning dot westerholt at 1und1 dot de>
-
-	* [r5699] modules/memcached/README,
-	  modules/memcached/doc/memcached_admin.xml:
-	  - small improvement to description section
-
-2009-03-13 18:08  Henning Westerholt, <henning dot westerholt at 1und1 dot de>
-
-	* [r5698] modules/tm/README, modules/tm/doc/tm_admin.xml:
-	  - make documentation of timer AVPs a bit clearer,
-	  reported from mayamatakeshi at gmail dot com
-
-2009-03-13 15:28  Henning Westerholt, <henning dot westerholt at 1und1 dot de>
-
-	* [r5696] modules/utils/conf.c:
-	  - add prefix to local str2int function, fix for sip-router
-	  (conflicting definition
-	  with the one from ut.h)
-
-2009-03-12 23:22  Henning Westerholt, <henning dot westerholt at 1und1 dot de>
-
-	* [r5695] modules/domainpolicy/domainpolicy.c,
-	  modules/domainpolicy/domainpolicy.h,
-	  modules/domainpolicy/domainpolicy_mod.c,
-	  modules/domainpolicy/domainpolicy_mod.h:
-	  - doxygen documentation
-
-2009-03-12 23:07  Henning Westerholt, <henning dot westerholt at 1und1 dot de>
-
-	* [r5694] modules/imc/imc_cmd.c:
-	  - further fix related to the snprintf, output a error message when the
-	  member or user string is truncated
-
-2009-03-12 22:54  Henning Westerholt, <henning dot westerholt at 1und1 dot de>
-
-	* [r5693] modules/imc/imc_cmd.c:
-	  - fix invalid usage of snprintf, reported from Jan Janak
-
-2009-03-12 15:56  Ovidiu Sas, <osas at voipembedded dot com>
-
-	* [r5690] modules/siputils/contact_ops.c:
-	  fix uri initialization
-
-2009-03-11 12:41  Henning Westerholt, <henning dot westerholt at 1und1 dot de>
-
-	* [r5689] modules/memcached/README,
-	  modules/memcached/doc/memcached_admin.xml:
-	  - another fix in docs
-
-2009-03-11 11:53  Henning Westerholt, <henning dot westerholt at 1und1 dot de>
-
-	* [r5688] modules/memcached/README,
-	  modules/memcached/doc/memcached_admin.xml:
-	  - fix some errors, reported from Daniel
-
-2009-03-11 10:04  Henning Westerholt, <henning dot westerholt at 1und1 dot de>
-
-	* [r5687] modules/memcached/README,
-	  modules/memcached/doc/memcached_admin.xml:
-	  - add links for library and server, small spelling fix
-
-2009-03-11 08:48  Henning Westerholt, <henning dot westerholt at 1und1 dot de>
-
-	* [r5686] modules/memcached/Makefile:
-	  - also add SYSBASE and LOCALBASE to Makefile library path
-
-2009-03-11 08:45  Juha Heinanen, <jh at tutpro dot com>
-
-	* [r5685] modules/permissions/README,
-	  modules/permissions/doc/permissions_admin.xml,
-	  modules/permissions/hash.c:
-	  * Improved allow_trusted() documentation and comment in code.
-
-2009-03-11 08:41  Henning Westerholt, <henning dot westerholt at 1und1 dot de>
-
-	* [r5684] modules/memcached/Makefile:
-	  - add missing Makefile, reported from Jan Janak
-
-2009-03-11 07:02  Daniel-Constantin Mierla, <miconda at gmail dot com>
-
-	* [r5682] modules/sl/README, modules/sl/doc/sl_admin.xml:
-	  - added description of send_reply() (reported by Juha Heinanen)
-
-2009-03-10 18:34  Henning Westerholt, <henning dot westerholt at 1und1 dot de>
-
-	* [r5681] modules/memcached, modules/memcached/README,
-	  modules/memcached/doc, modules/memcached/doc/memcached.xml,
-	  modules/memcached/doc/memcached_admin.xml,
-	  modules/memcached/mcd_var.c, modules/memcached/mcd_var.h,
-	  modules/memcached/memcached.c, modules/memcached/memcached.h:
-	  - add new module 'memcached' for connection to memcached server
-	  supports add, get, delete and atomic operations via pseudo-variables
-	  - implementation of this module was not sponsered from 1&1 Internet AG
-
-2009-03-10 18:32  Henning Westerholt, <henning dot westerholt at 1und1 dot de>
-
-	* [r5680] modules/db_oracle/db_oracle.c:
-	  - fix module export name, it was forgotten to rename it as well some
-	  during
-	  the rename, reported from jlopes at iportalmais dot pt
-
-2009-03-10 09:22  Inaki Baz Castillo <ibc at aliax dot net>
-
-	* [r5679] etc/kamailio.cfg:
-	  - Improved RR section in default config file: record_route() just for
-	  INVITE and SUBSCRIBE (credits to Jon Bonilla)
-
-2009-03-10 08:58  Juha Heinanen, <jh at tutpro dot com>
-
-	* [r5677] modules/lcr/README, modules/lcr/doc/lcr_admin.xml,
-	  modules/lcr/lcr_mod.c:
-	  * load_gws_from_grp is not anymore loading dead gws.
-
-2009-03-08 18:53  Daniel-Constantin Mierla, <miconda at gmail dot com>
-
-	* [r5676] modules/sqlops/README, modules/sqlops/doc/sqlops_admin.xml:
-	  - use sql_result_free() in the example attached to function
-	  description
-
-2009-03-08 18:38  Daniel-Constantin Mierla, <miconda at gmail dot com>
-
-	* [r5675] modules/tm/t_var.c:
-	  - reset sip_msg structure when updating the local buffers for $T_req
-	  and $T_rpl (reported by Ovidiu Sas)
-
-2009-03-08 18:35  Daniel-Constantin Mierla, <miconda at gmail dot com>
-
-	* [r5674] modules/presence/subscribe.c, modules/presence/utils_func.h:
-	  - support for SCTP in contact building
-	  - make sure the transport parameter is not added twice
-
-2009-03-06 16:19  Eric Ptak <eric dot ptak dot fr at gmail dot com>
-
-	* [r5673] modules/dialog/dlg_handlers.c:
-	  Moved run_create_callback call to send a well filled dialog structure.
-	  Fixes pua_dialoginfo bug with dialog->lifetime usage.
-
-2009-03-06 09:31  Inaki Baz Castillo <ibc at aliax dot net>
-
-	* [r5672] Makefile:
-	  - Removed "deb-sarge" and added "deb-lenny" in Makefile.
-
-2009-03-06 09:13  Juha Heinanen, <jh at tutpro dot com>
-
-	* [r5670] modules/auth_radius/authrad_mod.c:
-	  * Fixed initialization of A_CISCO_AVPAIR attribute. Thanks to Daniel
-	  for pointing the bug out.
-
-2009-03-05 00:18  Inaki Baz Castillo <ibc at aliax dot net>
-
-	* [r5669] packaging/debian-etch/kamailio.init,
-	  packaging/debian-lenny/kamailio.init, packaging/debian/kamailio.init:
-	  - Improved Debian init script:
-	  - Added a function 'check_homedir()' to check if HOMEDIR
-	  (/var/run/kamailio/) exists and creates it if not (closes bug #2663516
-	  reported by thomasmangin)
-	  - Improved 'create_radius_seqfile()' by using HOMEDIR variable
-
-2009-03-03 16:43  Henning Westerholt, <henning dot westerholt at 1und1 dot de>
-
-	* [r5668] modules/nathelper/rtpproxy_stream.c:
-	  - add include to sys/uio.h (for struct iovec) on openBSD
-	  - patches from Jason Creighton, jcreigh at gmail dot com
-
-2009-03-03 16:42  Henning Westerholt, <henning dot westerholt at 1und1 dot de>
-
-	* [r5667] modules/dialplan/Makefile, modules/lcr/Makefile,
-	  modules/regex/Makefile:
-	  - fix libpcre include and library paths for openBSD
-	  - patches from Jason Creighton, jcreigh at gmail dot com
-
-2009-03-03 12:13  Henning Westerholt, <henning dot westerholt at 1und1 dot de>
-
-	* [r5666] modules/acc/acc_logic.c, modules/dialog/dlg_handlers.c,
-	  modules/tm/h_table.c, modules/tm/h_table.h, modules/tm/t_lookup.c,
-	  modules/tm/t_reply.c, modules/tm/tm.c:
-	  - spelling fix in tm variable name, compatibility for sip-router
-	  relaied_reply_branch -> relayed_reply_branch, reported from Jan Janak
-
-2009-03-03 12:10  Henning Westerholt, <henning dot westerholt at 1und1 dot de>
-
-	* [r5665] modules/auth/index.h:
-	  - fix keyword (svn properties)
-
-2009-03-02 17:11  Henning Westerholt, <henning dot westerholt at 1und1 dot de>
-
-	* [r5664] packaging/debian-lenny, packaging/debian-lenny/changelog,
-	  packaging/debian-lenny/compat, packaging/debian-lenny/control,
-	  packaging/debian-lenny/copyright,
-	  packaging/debian-lenny/kamailio.README.Debian,
-	  packaging/debian-lenny/kamailio.default,
-	  packaging/debian-lenny/kamailio.dirs,
-	  packaging/debian-lenny/kamailio.examples,
-	  packaging/debian-lenny/kamailio.init,
-	  packaging/debian-lenny/kamailio.postinst,
-	  packaging/debian-lenny/patches, packaging/debian-lenny/rules,
-	  packaging/debian-sarge:
-	  - remove debian-sarge, etch is now oldstable
-	  - copy debian to debian-lenny, to enable changes for new unstable
-
-2009-03-02 16:41  Henning Westerholt, <henning dot westerholt at 1und1 dot de>
-
-	* [r5662] packaging/debian-etch/changelog,
-	  packaging/debian-sarge/changelog, packaging/debian/changelog:
-	  - increment debian packaging version for trunk
-
-2009-03-02 15:50  Henning Westerholt, <henning dot westerholt at 1und1 dot de>
-
-	* [r5660] ChangeLog:
-	  - remove old logs for the new development towards 1.6.0
-
-===================== Changes since release 1.5.0 =============================
-
-===================== 2009-03-02 Kamailio v1.5.0 released =====================
-
-===================== 2008-08-07 Kamailio v1.4.0 released =====================
-
-===================== 2008-12-13 OpenSER v1.3.0 released ======================
-
-===================== 2007-03-12 OpenSER v1.2.0 released ======================
-
-===================== 2006-07-10 OpenSER v1.1.0 released ======================
-
-===================== 2006-02-27 OpenSER v1.0.1 released ======================
-
-===================== 2005-10-28 OpenSER v1.0.0 released ======================
-
-===================== 2005-06-14 OpenSER v0.9.4 released ======================
-
-* 2005-06-14
- - Initial release of OpenSER (v0.9.4) spawned from SER branch 0.9.0

+ 83 - 64
INSTALL

@@ -1,31 +1,23 @@
-$Id$
-
 
      ==================================================
 
-          Kamailio Installation Notes
+          Kamailio SIP Server Installation Notes
 
-	     http://www.kamailio.org
-             http://sip-router.org
+                 http://www.kamailio.org
 
      ==================================================
 
-  Welcome! This is an amazingly flexible, robust
-  and secure SIP server built on years of experience in several Open
-  Source projects. It's a merge of the SIP Express Router (SER) and the
-  Kamailio (OpenSER) products produced by a joint development team. When
-  not explicitely mentioned, SIP server refers to any of these two
-  applications.
-
-  This memo gives you hints how to set up the SIP server quickly. To 
-  understand how SIP server works and how to configure it properly,
-  please read the admin's guide available from the http://sip-router.org
-  website.
-
-  We also urge you to read latest ISSUES (available from website
-  too) and check for potential problems in this release.
-  Users of previous releases are encouraged to read NEWS to learn how to move
-  to this new SIP server version.
+  Welcome! This is an amazingly flexible, robust and secure SIP server
+  built on years of experience in several Open Source projects. It's a merge
+  of the SIP Express Router (SER) and the Kamailio (OpenSER) products produced
+  by a joint development team. When not explicitely mentioned, SIP server refers
+  to any of these two applications.
+
+  This memo gives you hints on how to set up the SIP server quickly.
+  
+  You can find a similar tutorial and many more on project's web site:
+    - http://www.kamailio.org/w/documentation/
+    - http://www.kamailio.org/wiki/
   
 
 Table of Contents
@@ -34,6 +26,10 @@ Table of Contents
 1. SIP Server Flavours
 2. Supported Architectures and Requirements
 3. Howto Build SIP Server From the Source Distribution
+   3.1 Kamailio Fast Track Installation
+   3.2 Details Installing from Source Code
+     A) Set SIP Server Flavour
+     B) Build Commands
 4. Quick-Start Installation Guide
    A) Getting Help
    B) Disclaimers
@@ -51,7 +47,7 @@ The two major SIP server flavours are:
   - Kamailio (former OpenSER)
 
 Starting with version 3.0.0, the two SIP server flavours are built from
-same source code tree. In version 4.0.0 the two source code trees was
+same source code tree. In version 4.0.0 the two source code trees were
 merged even more, so a combined module directory is now used.
 
 Kamailio flavor is the one built by default. SER is, historically speaking, the
@@ -64,10 +60,10 @@ very few, Kamailio enabling next compile time flags:
   - application server extensions in tm module
 
 In version 4.0.0 the modules were merged into one set and the merger
-between the two products was completed. Kamailio is now the main
-flavour.
+between the two products was completed.
 
-Switching between flavours is a matter of 'make' command parameters.
+Kamailio is now the default flavour. Switching between flavours is a matter
+of 'make' command parameters.
 
 Several installation tutorials for Kamailio are available on the web wiki:
   - http://www.kamailio.org/wiki/
@@ -135,6 +131,7 @@ Requirements:
 - libpcre libs and devel headers - if you want to compile the lcr and dialplan
   modules
 - libsctp devel headers - if you want to compile the SCTP transport in the core
+- libssl devel headers (openssl project) - if you want to compule the TLS module
 - linunistring - for the Websockets module
 
 
@@ -208,7 +205,6 @@ OS Notes:
 	    see README of the module you want to use
     Both SER and Kamailio flavours have APT deb repositories that allow you to
 	install the binaries easily - see the web sites for more details:
-	  - http://iptel.org/ser
 	  - http://kamailio.org
 
  Cygwin  (alpha state, partial support)
@@ -230,27 +226,52 @@ OS Notes:
 
 
 3. Howto Build SIP Server From Source Distribution
--------------------------------------------
+--------------------------------------------------
+
+(NOTE: if make doesn't work try gmake instead)
+
+3.1 Kamailio Fast Track Installation
+....................................
+
+
+If you are familiar with Unix/Linux  build tools aready and you installed
+required dependency, then you can just follow this section, otherwise
+skip over it.
+
+To get the SIP server installed, in the folder with source code run:
+
+  make cfg
+  make all
+  make install
+
+If you want to install with additional modules, for example with mysql and
+tls, run:
+
+  make include_modules="db_mysql tls" cfg
+  make all
+  make install
+
+3.2 Details Installing from Source Code
+.......................................
 
-(NOTE: if make doesn't work try gmake  instead)
 
 A) Set SIP Server Flavour
 
 If you don't have a clean source tree, first do:
    make proper
 
-To build SER flavour, you don't need to do anything special, continue to
+To build Kamailio flavour, you don't need to do anything special, continue to
 read the section 3.B).
 
-To build Kamailio flavour, you have to run first:
-   make FLAVOUR=kamailio cfg
+To build SER flavour, you have to run first:
+   make FLAVOUR=ser cfg
 
-The parameter 'FLAVOUR=kamailio' must be given all the time when make target
+The parameter 'FLAVOUR=ser' must be given all the time when make target
 is 'cfg'.
 
 B) Build Commands
 
-  SIP server is split in four main parts: The core, the modules, the
+  The SIP server is split in four main parts: The core, the modules, the
   utilties, and scripts/examples.  When you build, you can decide to build
   only the core, the modules, both, or all.
 
@@ -275,8 +296,8 @@ Including groups of modules:
   modules to include, according to their status:
   - standard - Modules in this group are considered a standard part of SIP server
     (due to widespread usage) but they have no dependencies (note that some of
-	these interplay with external systems.
-    However, they don't have compile or link dependencies).
+    these interplay with external systems. However, they don't have compile
+    or link dependencies).
 
   - db - Modules in this group use databases and need a database driver to run.
     Included are drivers for the text mode db (dbtext) and for dumping
@@ -284,14 +305,13 @@ Including groups of modules:
     postgres groups.
 
   - standard_dep -  Modules in this group are considered a standard part of SIP
-    server(due to widespread usage)
-    but they have dependencies that most be satisfied for compilation.
+    server (due to widespread usage) but they have dependencies that must be satisfied
+    for compilation.
     NOTE! All presence modules (dialog, pa, presence_b2b, rls, xcap) have been
 	included in this group due to interdependencies
 
   - stable - Modules in this group satisfy specific or niche applications,
-    but are considered stable for production use. They may or may not have
-	dependencies
+    and are considered stable for production use. They may or may not have dependencies
 
   - experimental - Modules in this group are either not complete, untested, or
     without enough reports of usage to allow the module into the stable group.
@@ -396,6 +416,7 @@ Configure:
 
   Example: 
 	make cfg include_modules=mysql mode=debug
+
   All future make invocations will include the mysql module and will build in debug mode
 
   Note: if config.mak doesn't exist (e.g. initial checkout or after a make 
@@ -520,15 +541,15 @@ Install:
   "modules" or "excluded_modules").
 
 
-3. Quick-Start Installation Guide
-----------------------------------------------
+4. Quick-Start Installation Guide
+---------------------------------
 
 A) Getting Help
 
   This guide gives you instructions on how to set up the SIP server
   (SER or Kamailio) on your box quickly. In case the default configuration
   does not fly, please check the documentation at the SIP server web site
-  http://sip-router.org to learn how to configure SIP server for your site.
+  http://www.kamailio.org to learn how to configure SIP server for your site.
 
   If the documentation does not resolve your problem you may try contacting 
   our user forum by E-mail at [email protected] -- that is the
@@ -552,19 +573,18 @@ C) Quick Start
   authentication, then you have to install additional database support --
   proceed to section D) after you are finished with C).
 
-  1) Download an RPM or debian package from site
+  1) Download an RPM or Debian package from the links on the wiki
 
-    ****** site not available yet
+    http://www.kamailio.org/wiki/
 
   If you don't use an rpm or debian based distribution, try our tar.gz'ed
   binaries
-
-  ******* not available yet
+    http://www.kamailio.org/pub/kamailio/latest/src/
 
   If you use Solaris 8 you can try our solaris package.
   If you use Gentoo Linux you do not have to download a package.
 
-2) Install the package
+  2) Install the package
 	RPM:
     		rpm -i <package_name>
 	debian:
@@ -584,7 +604,7 @@ C) Quick Start
 	*BSD:
     		pkg_add package_name
     
-3) Start the server
+  3) Start the server
 
 	RPM + gentoo:
     		/etc/init.d/ser start
@@ -603,7 +623,7 @@ C) Quick Start
     		You can start SIP server directly with /usr/local/sbin/ser or
 			/usr/local/sbin/kamailio.
     
-4) optionally, watch server's health using the
+  4) optionally, watch server's health using the
    	serctl or kamctl utility
 
     - to do so, first set the environment variable SIP_DOMAIN to your domain 
@@ -623,11 +643,9 @@ C) Quick Start
         /usr/local/sbin/kamctl moni (if you installed Kamailio flavour from a
 		tar.gz or solaris package)
 
-5) Connect SIP phones
+  5) Connect SIP phones
 
-  Register with the server using your favorite SIP User Agent. You may want to look 
-  at configuration hints for use of various clients on iptel.org site at
-     http://www.iptel.org/phpBB/viewforum.php?forum=1&8
+  Register with the server using your favorite SIP User Agent (phone). 
 
   In most cases, you need to set the following options:
 
@@ -643,7 +661,8 @@ D) SIP Server with Persistent Data Storage
   The default configuration is very simple and features many simplifications. 
   In particular, it does not authenticate users and loses User Location database 
   on reboot. To provide persistence, keep user credentials and remember users' 
-  locations across reboots, SIP server can be configured to use a database, like MySQL. 
+  locations across reboots, Kamailio can be configured to use a database, like MySQL. 
+
   Before you proceed, you need to make sure MySQL is installed on your box. Your
   MySQL server must be configured to deal with a large number of
   connection. To increase it, set the following line in [mysqld] section
@@ -651,9 +670,9 @@ D) SIP Server with Persistent Data Storage
 
    set-variable    = max_connections=500
 
-1) Download the package containing mysql support for SIP server from: 
-    
-    **** site not available yet
+  1) Download the package containing mysql support for SIP server from the links
+     you find on: 
+        http://www.kamailio.org/wiki/
 
     (rpm and deb provided, most of the binary tar.gz distributions and the 
      solaris package include it; if it is not present you'll have to rebuild
@@ -661,7 +680,7 @@ D) SIP Server with Persistent Data Storage
 	For gentoo please include 'mysql' to your USE variable in /etc/make.conf
 	or give it as variable to the emerge command.
 
-2) install the package
+  2) install the package
     rpm -i <package_name>
     or
     dpkg -i <package_name>
@@ -672,7 +691,7 @@ D) SIP Server with Persistent Data Storage
 	(if do not want to put 'mysql' into your USE variable you can type:
 	 USE="mysql" emerge ser)
 
-3.1) create MySQL tables for SER flavour
+  3.1) create MySQL tables for SER flavour
 	- if you have a previously installed SER on your system, use
     	/usr/sbin/ser_mysql.sh reinstall 
 	  to convert your SER database into new structures
@@ -681,7 +700,7 @@ D) SIP Server with Persistent Data Storage
 	  to create SER database structures
    (you will be prompted for password of MySql "root" user)
 
-3.2) create MySQL tables for Kamailio flavour
+  3.2) create MySQL tables for Kamailio flavour
 	- if you have a previously installed Kamailio on your system, use
     	/usr/local/sbin/kamdbctl reinstall 
 	  to convert your Kamailio database into new structures
@@ -690,7 +709,7 @@ D) SIP Server with Persistent Data Storage
 	  to create Kamailio database structures
    (you will be prompted for password of MySql "root" user)
 
-4) configure SIP server to use SQL
+  4) configure SIP server to use SQL
     uncomment all lines in configuration file ser.cfg or kamilio.cfg which are
 	related to authentication:
     - loadmodule "db_mysql.so"
@@ -704,7 +723,7 @@ D) SIP Server with Persistent Data Storage
         break;
       }
 
-5) be sure to replace realm, the first parameter in www_* actions, 
+  5) be sure to replace realm, the first parameter in www_* actions, 
    with name of your server; some broken UAC implementations don't 
    authenticate otherwise; the authentication command in your
    configuration script should look then like this:
@@ -713,12 +732,12 @@ D) SIP Server with Persistent Data Storage
         break;
       }
 
-6) restart the server
+  6) restart the server
     /etc/init.d/ser restart
 	  or
     /etc/init.d/kamailio restart
 
-7) you can now start  managing the server using the serctl or kamctl utility; 
+  7) you can now start  managing the server using the serctl or kamctl utility; 
    you need to first set the environment variable SIP_DOMAIN to your 
    local SIP realm, e.g.,
        export SIP_DOMAIN="myserver.foobar.com"

+ 25 - 226
Makefile

@@ -124,235 +124,27 @@ ifneq ($(group_include),)
 	modules_configured:=0
 endif
 
-# Module group definitions, default only include the standard group
-# Make backwards compatible, don't set group_include default...
-#group_include?="standard"
-
-# Modules in this group are considered a standard part of SER (due to 
-# widespread usage) and have no external compile or link dependencies (note 
-# that some of these interplay with external systems).
-module_group_standard=acc_syslog auth avp ctl dispatcher diversion enum\
-				eval exec fifo db_flatstore gflags maxfwd mediaproxy \
-				nathelper options pdt permissions pike print ratelimit \
-				registrar rr rtpproxy sanity sl textops timer tm uac \
-				unixsock uri usrloc xlog cfg_rpc sipcapture msrp tmrec
-
-# Modules in this group are considered a standard part of SER (due to 
-# widespread usage) but they have dependencies that must be satisfied for 
-# compilation.
-# acc_radius, auth_radius, misc_radius => radiusclient-ng
-# acc_db, auth_db, avp_db, db_ops, domain, lcr, msilo, dialog, speeddial,
-# uri_db => database module (db_mysql, db_postgres, dbtext ...)
-# mysql, postgres => mysql server and client libraries or postgres server and
-#  client libraries or other database back-end (ex. mysql-devel)
-# pa, xmlrpc => libxml2
-# rls => pa
-#
-# NOTE! All presence modules (dialog, pa, presence_b2b, rls, xcap) have been
-# included in this group due to interdependencies
-module_group_standard_dep=acc_db acc_radius auth_db auth_radius avp_db \
-				auth_identity db_ops domain lcr misc_radius \
-				msilo dialog pa \
-				presence_b2b rls speeddial uri_db xcap xmlrpc
-
-# For db use (db modules, excluding drivers)
-module_group_db=acc_db auth_db avp_db db_ops db_text \
-				uri_db domain lcr msilo speeddial
-				#dbtext (s) not migrated yet to the new db interface
-
-# For mysql
-module_group_mysql_driver=db_mysql
-module_group_mysql=$(module_group_mysql_driver) $(module_group_db)
-
-# For postgress
-module_group_postgres_driver=db_postgres
-module_group_postgres=$(module_group_postgres_driver) $(module_group_db)
-
-# For radius
-module_group_radius=acc_radius auth_radius misc_radius avp_radius uri_radius \
-					peering
-
-# For presence
-# kamailio modules
-module_group_presence=presence presence_dialoginfo presence_mwi presence_xml presence_profile\
-						pua pua_bla pua_dialoginfo pua_mi pua_usrloc pua_xmpp \
-						rls xcap_client xcap_server presence_conference \
-						presence_reginfo pua_reginfo
-#ser modules
-module_group_presence+=dialog presence_b2b xcap
-# obsolete/unmaintained ser modules
-#module_group_presence=pa rls
-
-# Modules in this group satisfy specific or niche applications, but are 
-# considered stable for production use. They may or may not have dependencies
-# cpl-c => libxml2
-# jabber => expat (library)
-# osp => OSP Toolkit (sipfoundry)
-# sms => none (external modem)
-module_group_stable=cpl-c dbtext jabber osp sms pdb
-
-# Modules in this group are either not complete, untested, or without enough
-# reports of usage to allow the module into the stable group. They may or may
-# not have dependencies
-module_group_experimental=tls oracle iptrtpproxy ndb_redis async websocket outbound
-
-# For cassandra
-module_group_cassandra_driver=db_cassandra
-module_group_cassandra=$(module_group_cassandra_driver) $(module_group_db)
-
-
-### Kamailio specific groups ###
-# Standard modules in K Debian distro
-module_group_kstandard=acc alias_db auth auth_db benchmark call_control corex \
-				cfgutils db_text dialog dispatcher diversion domain drouting \
-				exec group htable imc kex maxfwd mi_datagram mi_fifo msilo \
-				nat_traversal nathelper path pdt permissions pike pv qos \
-				ratelimit regex registrar rr rtimer rtpproxy siptrace siputils \
-				sl sms speeddial sqlops sst statistics textops tmx uac \
-				uac_redirect uri_db userblacklist usrloc xlog seas \
-				avpops cfg_db cfg_rpc ctl db_flatstore dialplan enum \
-				iptrtpproxy lcr mediaproxy mi_rpc pdb sanity tm topoh \
-				blst prefix_route counters debugger matrix mqueue mtree \
-				pipelimit rtpproxy textopsx xhttp xhttp_rpc ipops p_usrloc \
-				sdpops async sipcapture dmq msrp tmrec db_cluster
-
-# K mysql module
-module_group_kmysql=db_mysql
-
-# K postgress module
-module_group_kpostgres=db_postgres
-
-# K cpl module
-module_group_kcpl=cpl-c
-
-# K radius modules
-module_group_kradius=acc_radius auth_radius misc_radius peering
-
-# K unixodbc module
-module_group_kunixodbc=db_unixodbc
-
-# K xmlrpc modules
-module_group_kxml=xmlrpc mi_xmlrpc xmlops
-
-# K perl module
-module_group_kperl=app_perl db_perlvdb
-
-# K snmpstats module
-module_group_ksnmpstats=snmpstats
-
-# K xmpp module
-module_group_kxmpp=xmpp
-
-# K carrierroute module
-module_group_kcarrierroute=carrierroute
-
-# K berkeley module
-module_group_kberkeley=db_berkeley
-
-# K ldap modules
-module_group_kldap=ldap db2_ldap h350
-
-# K utils module
-module_group_kutils=utils
-
-# K purple module
-module_group_kpurple=purple
-
-# K memcached module
-module_group_kmemcached=memcached
-
-# K tls module
-module_group_ktls=tls
-
-# K websocket module
-module_group_kwebsocket=websocket
-
-# K outbound module
-module_group_koutbound=outbound
-
-# K presence modules
-module_group_kpresence=presence presence_dialoginfo presence_mwi presence_xml presence_profile\
-						pua pua_bla pua_dialoginfo pua_mi pua_usrloc pua_xmpp \
-						rls xcap_client xcap_server presence_conference \
-						presence_reginfo pua_reginfo
-
-# K lua module
-module_group_klua=app_lua
-
-# K python module
-module_group_kpython=app_python
-
-# K geoip module
-module_group_kgeoip=geoip
-
-# K sqlite module
-module_group_ksqlite=db_sqlite
-
-# K json modules
-module_group_kjson=json jsonrpc-c
-
-# K redis module
-module_group_kredis=ndb_redis
-
-# K mono module
-module_group_kmono=app_mono
-
-# For IMS
-# kamailio modules
-module_group_kims=ims_auth cdp cdp_avp dialog_ng ims_qos ims_isc ims_icscf\
-                        ims_registrar_pcscf ims_registrar_scscf ims_usrloc_pcscf ims_usrloc_scscf
+# get the groups of modules to compile
+include Makefile.groups
 
+# - automatically build the list of excluded modules
 # if not set on the cmd. line, env or in the modules.lst (cfg_group_include)
 # exclude the below modules.
 ifneq ($(group_include)$(cfg_group_include),)
-	# For group_include, default all modules are excluded except those in 
+	# For group_include, default all modules are excluded except those in
 	# include_modules
 	exclude_modules?=
 else
 	# Old defaults for backwards compatibility
 	# excluded because they depend on external libraries
-	exclude_modules?= 		cpl mangler postgres jabber mysql cpl-c \
-							auth_radius misc_radius avp_radius uri_radius \
-							acc_radius pa rls presence_b2b xcap xmlrpc\
-							osp tls oracle \
-							unixsock dbg print_lib auth_identity db2_ldap ldap \
-							db_berkeley db_mysql db_postgres db_oracle \
-							db_sqlite db_unixodbc db_cassandra memcached mi_xmlrpc \
-							app_perl db_perlvdb purple \
-							snmpstats xmpp cdp \
-							carrierroute peering \
-							dialplan lcr utils presence presence_mwi \
-							presence_dialoginfo presence_xml pua pua_bla \
-							pua_dialoginfo pua_usrloc pua_xmpp \
-							regex xcap_client xcap_server presence_conference \
-							presence_reginfo pua_reginfo websocket outbound
-	#excluded because they depend on external *.h files
-	exclude_modules+= h350
-	# excluded because they do not compile (remove them only after they are
-	#  fixed) -- andrei
-	exclude_modules+= bdb dbtext iptrtpproxy pa rls
-	# depends on libgeoip
-	exclude_modules+= geoip
-	# depends on liblua5.1-dev
-	exclude_modules+= app_lua
-	# depends on libpython-dev
-	exclude_modules+= app_python
-	# depends on libxml2
-	exclude_modules+= xmlops xhttp_pi
-	# depends on jsoc-c
-	exclude_modules+= json jsonrpc-c
-	# depends on libhiredis
-	exclude_modules+= ndb_redis
-	# depends on mono-devel
-	exclude_modules+= app_mono
-	# depends on tm being compiled with -DWITH_AS_SUPPORT support
-ifeq (,$(findstring -DWITH_AS_SUPPORT, $(C_DEFS)))
-		exclude_modules+= seas
+ifeq ($(origin exclude_modules), undefined)
+	exclude_modules:= $(sort \
+				$(filter-out $(module_group_default), $(mod_list_all)))
 endif
 endif
 
-# always exclude the CVS dir
-override exclude_modules+= CVS $(skip_modules)
+# always add skip_modules list - it is done now in modules.lst (dcm)
+# override exclude_modules+= $(skip_modules)
 
 # Test for the groups and add to include_modules
 ifneq (,$(group_include))
@@ -360,12 +152,6 @@ $(eval override include_modules+= $(foreach grp, $(group_include), \
 										$(module_group_$(grp)) ))
 endif
 
-# first 2 lines are excluded because of the experimental or incomplete
-# status of the modules
-# the rest is excluded because it depends on external libraries
-#
-static_modules:=
-
 ALLDEP=config.mak Makefile Makefile.dirs Makefile.sources Makefile.rules
 
 #include general defs (like CC, CFLAGS  a.s.o)
@@ -569,7 +355,7 @@ endif # (,$(basedir))
 
 else ifneq ($(config_mak),skip)
 
-config.mak: Makefile.defs
+config.mak: Makefile.defs Makefile.groups
 	@echo making config...
 	@echo "# this file is autogenerated by make cfg" >$@
 	@$(call mapf2,cfg_save_var,saved_fixed_vars,$(@))
@@ -582,15 +368,28 @@ config.mak: Makefile.defs
 
 endif # ifeq ($(config_mak),1)
 
-modules.lst:
+modules.lst: Makefile.groups
 	@echo  saving modules list...
 	@echo "# this file is autogenerated by make modules-cfg" >$@
+	@echo >>$@
+	@echo "# the list of sub-directories with modules" >>$@
 	@echo "modules_dirs:=$(modules_dirs)" >>$@
+	@echo >>$@
+	@echo "# the list of module groups to compile" >>$@
 	@echo "cfg_group_include=$(group_include)" >>$@
+	@echo >>$@
+	@echo "# the list of extra modules to compile" >>$@
 	@$(call cfg_save_var2,include_modules,$@)
+	@echo >>$@
+	@echo "# the list of static modules" >>$@
 	@$(call cfg_save_var2,static_modules,$@)
+	@echo >>$@
+	@echo "# the list of modules to skip from compile list" >>$@
 	@$(call cfg_save_var2,skip_modules,$@)
-	@$(call cfg_save_var2,exclude_modules,$@)
+	@echo >>$@
+	@echo "# the list of modules to exclude from compile list" >>$@
+	@$(call cfg_save_var3,exclude_modules,skip_modules,$@)
+	@echo >>$@
 	@$(foreach mods,$(modules_dirs), \
 		$(call cfg_save_var2,$(mods)_all,$@))
 	@$(foreach mods,$(modules_dirs), \

+ 5 - 4
Makefile.defs

@@ -148,21 +148,22 @@ CFG_NAME=kamailio
 KMSTATS ?= 1
 # fast malloc statistics on
 FMSTATS ?= 1
-# application server support on
-WITHAS ?= 1
 else # unknown:
 # main binary name
 MAIN_NAME=kamailio
 endif
 
+# application server support on
+WITHAS ?= 1
+
 # what to install
 INSTALL_FLAVOUR=$(FLAVOUR)
 
 #version number
 VERSION = 4
-PATCHLEVEL = 0
+PATCHLEVEL = 1
 SUBLEVEL =  0
-EXTRAVERSION = -pre2
+EXTRAVERSION = -dev1
 
 # memory manager switcher
 # 0 - f_malloc (fast malloc)

+ 2 - 1
Makefile.dirs

@@ -18,6 +18,7 @@ override makefile_dirs_included:=1
 #            support '-' in variables)
 # makefile module related targets will be defined based on them:
 # install-$(1), install-$(1)-doc, $(1) a.s.o.
-modules_dirs?= modules modules_s modules_k
+# - old: modules_dirs?= modules modules_s modules_k
+modules_dirs?= modules
 
 endif

+ 314 - 0
Makefile.groups

@@ -0,0 +1,314 @@
+# Module groups definitions
+#
+
+# lists are sets of modules that don't include modules that are in other lists
+# - break the lists as needed in order to use them to build desired groups
+#   and packages
+#
+
+
+# - basic used modules, with no extra dependency (widespread usage)
+mod_list_basic=async auth benchmark blst cfg_rpc cfgutils corex counters \
+				   ctl debugger diversion enum exec ipops kex mangler maxfwd \
+				   mediaproxy mi_datagram mi_fifo mi_rpc mqueue \
+				   nat_traversal nathelper path pike pv ratelimit rr rtimer \
+				   rtpproxy sanity sdpops siputils sl statistics textops \
+				   textopsx tm tmx topoh xlog
+
+# - extra used modules, with no extra dependency
+mod_list_extra=avp auth_diameter call_control dmq domainpolicy msrp pdb qos \
+				 sca seas sms sst timer tmrec uac_redirect xhttp xhttp_rpc \
+				 xprint
+
+# - common modules depending on database
+mod_list_db=acc alias_db auth_db avpops cfg_db db_text db_flatstore \
+			  db_cluster dialog dispatcher domain drouting group \
+			  htable imc matrix msilo mtree p_usrloc pdt permissions \
+			  pipelimit prefix_route registrar sipcapture siptrace speeddial \
+			  sqlops uac uri_db userblacklist usrloc
+
+
+# - common modules depending on database, using UID db schema
+mod_list_dbuid=db2_ops uid_auth_db uid_avp_db uid_domain uid_gflags \
+				 uid_uri_db
+
+# - modules for devel purposes
+mod_list_devel=malloc_test print print_lib
+
+# - modules depending on pcre3 library
+mod_list_pcre=dialplan lcr regex
+
+# - modules depending on radius client library
+mod_list_radius=acc_radius auth_radius misc_radius peering
+
+# - modules depending on ldap client library
+mod_list_ldap=db2_ldap h350 ldap
+
+# - modules depending on mysql client library
+mod_list_mysql=db_mysql
+
+# - modules depending on postgres client library
+mod_list_postgres=db_postgres
+
+# - modules depending on unixodbc library
+mod_list_unixodbc=db_unixodbc
+
+# - modules depending on mysql cassandra library
+mod_list_cassandra=db_cassandra
+
+# - modules depending on xml2 library
+mod_list_cpl=cpl-c
+
+# - modules depending on xml2 library
+mod_list_xmldeps=xhttp_pi xmlrpc xmlops
+
+# - modules depending on xml c rpc library
+mod_list_mi_xmlrpc=mi_xmlrpc
+
+# - modules depending on net-snmp library
+mod_list_snmpstats=snmpstats
+
+# - modules depending on expat library
+mod_list_xmpp=xmpp
+
+# - modules depending on confuse library
+mod_list_carrierroute=carrierroute
+
+# - modules depending on bdb (db4) library
+mod_list_berkeley=db_berkeley
+
+# - modules depending on curl library
+mod_list_utils=utils
+
+# - modules depending on purple library
+mod_list_purple=purple
+
+# - modules depending on memcache library
+mod_list_memcached=memcached
+
+# - modules depending on openssl library
+mod_list_tlsdeps=auth_identity tls
+
+# - modules depending on openssl library
+mod_list_outbound=outbound
+
+# - modules depending on unistring library
+mod_list_websocket=websocket
+
+# - modules related to SIMPLE presence extensions
+mod_list_presence=presence presence_conference presence_dialoginfo \
+					   presence_mwi presence_profile presence_reginfo \
+					   presence_xml \
+					   pua pua_bla pua_dialoginfo pua_mi pua_reginfo \
+					   pua_usrloc pua_xmpp \
+					   rls xcap_client xcap_server
+
+
+# - modules depending on lua library
+mod_list_lua=app_lua
+
+# - modules depending on perl library
+mod_list_perldeps=app_perl db_perlvdb
+
+# - modules depending on python library
+mod_list_python=app_python
+
+# - modules depending on geoip library
+mod_list_geoip=geoip
+
+# - modules depending on sqlite library
+mod_list_sqlite=db_sqlite
+
+# - modules depending on oracle library
+mod_list_oracle=db_oracle
+
+# - modules depending on json library
+mod_list_json=json jsonrpc-c
+
+# - modules depending on redis library
+mod_list_redis=ndb_redis
+
+# - modules depending on mono library
+mod_list_mono=app_mono
+
+# - modules related to IMS extensions
+mod_list_ims=cdp cdp_avp dialog_ng ims_auth ims_isc ims_icscf ims_qos \
+			   ims_registrar_pcscf ims_registrar_scscf ims_usrloc_pcscf \
+			   ims_usrloc_scscf
+
+# - modules depending on osp toolkit library
+mod_list_osp=osp
+
+# - modules depending on iptables library
+mod_list_iptrtpproxy=iptrtpproxy
+
+# - all modules
+mod_list_all=$(sort $(mod_list_basic) $(mod_list_extra) \
+			   $(mod_list_db) $(mod_list_dbuid) \
+			   $(mod_list_devel) $(mod_list_pcre) \
+			   $(mod_list_radius) $(mod_list_ldap) \
+			   $(mod_list_mysql) $(mod_list_postgres) \
+			   $(mod_list_unixodbc) $(mod_list_xmldeps) \
+			   $(mod_list_perldeps) $(mod_list_cpl) \
+			   $(mod_list_xmpp) $(mod_list_carrierroute) \
+			   $(mod_list_berkeley) $(mod_list_utils) \
+			   $(mod_list_purple) $(mod_list_memcached) \
+			   $(mod_list_tlsdeps) $(mod_list_websocket) \
+			   $(mod_list_snmpstats) $(mod_list_presence) \
+			   $(mod_list_lua) $(mod_list_python) \
+			   $(mod_list_geoip) $(mod_list_sqlite) \
+			   $(mod_list_json) $(mod_list_redis) \
+			   $(mod_list_mono) $(mod_list_ims) \
+			   $(mod_list_cassandra) $(mod_list_oracle) \
+			   $(mod_list_iptrtpproxy) $(mod_list_mi_xmlrpc) \
+			   $(mod_list_outbound) $(mod_list_osp) )
+
+
+
+### --- Groups defined for source code compilation ###
+
+# groups are sets of modules selected by compile target interest (should be
+# built by combining lists)
+
+# Modules in this group are the default compiled modules due to
+# no external compile or link dependencies
+module_group_default=$(mod_list_basic) $(mod_list_extra) \
+					  $(mod_list_db) $(mod_list_dbuid) \
+					  $(mod_list_devel)
+
+# Modules in this group are the default compiled modules due to
+# no internal/external compile or link dependencies
+module_group_standard=$(mod_list_basic) $(mod_list_extra) \
+					  $(mod_list_devel)
+
+# Modules in this group are considered a standard part due to
+# widespread usage, but they have dependencies that must be satisfied for 
+# compilation (e.g., lcr, radius, presence, tls, ...).
+module_group_common=$(mod_list_db) $(mod_list_dbuid) \
+					$(mod_list_pcre) $(mod_list_radius) \
+					$(mod_list_xmldeps) $(mod_list_presence) \
+					$(mod_list_tlsdeps)
+
+# For db use (db modules, excluding drivers)
+module_group_db=$(mod_list_db)
+
+# For mysql
+module_group_mysql_driver=$(mod_list_mysql)
+module_group_mysql=$(module_group_mysql_driver) $(module_group_db)
+
+# For postgress
+module_group_postgres_driver=$(mod_list_postgres)
+module_group_postgres=$(module_group_postgres_driver) $(module_group_db)
+
+# For radius
+module_group_radius=$(mod_list_radius)
+
+# For presence
+# kamailio modules
+module_group_presence=$(mod_list_presence)
+
+# For cassandra
+module_group_cassandra_driver=$(mod_list_cassandra)
+module_group_cassandra=$(module_group_cassandra_driver) $(module_group_db)
+
+# For all modules not compiled by default
+module_group_ignore= $(sort $(filter-out $(module_group_default), $(mod_list_all)))
+
+
+
+### --- Groups defined for pacKaging ###
+
+# Standard modules in main pkg
+module_group_kstandard=$(mod_list_basic) $(mod_list_extra) \
+					  $(mod_list_db) $(mod_list_dbuid) \
+					  $(mod_list_pcre)
+
+# pkg mysql module
+module_group_kmysql=$(mod_list_mysql)
+
+# pkg postgress module
+module_group_kpostgres=$(mod_list_postgres)
+
+# pkg cpl module
+module_group_kcpl=$(mod_list_cpl)
+
+# pkg xml modules
+module_group_kxml=$(mod_list_xmldeps)
+
+# pkg mi_xmlrpc modules
+module_group_kmi_xmlrpc=$(mod_list_mi_xmlrpc)
+
+# pkg radius modules
+module_group_kradius=$(mod_list_radius)
+
+# pkg unixodbc module
+module_group_kunixodbc=$(mod_list_unixodbc)
+
+# pkg perl module
+module_group_kperl=$(mod_list_perldeps)
+
+# pkg snmpstats module
+module_group_ksnmpstats=$(mod_list_snmpstats)
+
+# pkg xmpp module
+module_group_kxmpp=$(mod_list_xmpp)
+
+# pkg carrierroute module
+module_group_kcarrierroute=$(mod_list_carrierroute)
+
+# pkg berkeley module
+module_group_kberkeley=$(mod_list_berkeley)
+
+# pkg ldap modules
+module_group_kldap=$(mod_list_ldap)
+
+# pkg utils module
+module_group_kutils=$(mod_list_utils)
+
+# pkg purple module
+module_group_kpurple=$(mod_list_purple)
+
+# pkg memcached module
+module_group_kmemcached=$(mod_list_memcached)
+
+# pkg tls module
+module_group_ktls=$(mod_list_tlsdeps)
+
+# pkg websocket module
+module_group_kwebsocket=$(mod_list_websocket)
+
+# pkg presence modules
+module_group_kpresence=$(mod_list_presence)
+
+# pkg lua module
+module_group_klua=$(mod_list_lua)
+
+# pkg python module
+module_group_kpython=$(mod_list_python)
+
+# pkg geoip module
+module_group_kgeoip=$(mod_list_geoip)
+
+# pkg sqlite module
+module_group_ksqlite=$(mod_list_sqlite)
+
+# K json modules
+module_group_kjson=$(mod_list_json)
+
+# pkg redis module
+module_group_kredis=$(mod_list_redis)
+
+# pkg mono module
+module_group_kmono=$(mod_list_mono)
+
+# pkg IMS modules
+module_group_kims=$(mod_list_ims)
+
+# pkg outbound module
+module_group_koutbound=$(mod_list_outbound)
+
+
+# list of static modules
+#
+static_modules:=
+

+ 5 - 0
Makefile.shared

@@ -18,10 +18,15 @@ cfg_gen_var=echo "$(1)=$(call escape_values,$($(1)))"
 # it would generate "echo var=$(FOO)" and not "echo var=1"
 cfg_gen_var2=echo "$(1)=$(call escape_values,$(value $(1)))"
 
+# generate a var from itself concatenated with another one
+cfg_gen_var3=echo "$(1)=$(call escape_values,$(value $(1))) \$$($(2))"
+
 # generates echo "$(1)=escape($(1)) >> $(2)"
 cfg_save_var=$(call cfg_gen_var,$(1)) >>$(2);
 # same as above but uses cfg_gen_var2
 cfg_save_var2=$(call cfg_gen_var2,$(1)) >>$(2);
+# concatenate another var to first var
+cfg_save_var3=$(call cfg_gen_var3,$(1),$(2)) >>$(3);
 
 # map function $(1) on variable list $($(2)) (the function is used with only
 # one arg)

+ 7 - 3
NEWS

@@ -1,9 +1,13 @@
-Release notes for SIP Router (sr)
+$Id$
+
+Release notes for Kamailio/SIP Router (sr)
 ***********************************************
 
-$Id$
+For news about release 4.0, please check
+http://www.kamailio.org/wiki/features/new-in-4.0.x
+===================================================
 
-sip-router 3.1 chages
+sip-router 3.1 changes
 
 core:
   - Dragonfly BSD support

+ 4 - 4
README

@@ -38,7 +38,7 @@ Kamailio's performance and robustness allows it to serve millions of users and a
 of very large operators. With a low-cost dual-CPU, the Kamailio server is able to power 
 IP telephony services in an area as large as the Bay Area during peak hours.
 
-The Kamailio is extremely configurable to allow the creation of various routing and 
+The Kamailio server is extremely configurable to allow the creation of various routing and 
 admission policies as well as setting up new and customized services. Its configurability 
 allows it to serve many roles: network security barrier, presence server, application server, 
 IMS server or PSTN gateway guard (Session Border Controller) for example.
@@ -74,8 +74,8 @@ Router, then OpenSER and now Kamailio. A merge project was started during the fa
 of 2008 by developers from the OpenSER project, recently renamed to Kamailio.org
 and SIP Express Router (SER) from iptel.org. 
 
-Kamailio is the result of a merge of the code base and years
-of experience from both developer teams. In release 4.0, during the spring of 2013, the
+Kamailio is the result of a merge of the code base and years of experience from
+both developer teams. In release 4.0, during the spring of 2013, the
 merger of the products was completed and a unified product was released.
 
 See http://www.sip-router.org/ for the story of SER, OpenSER/Kamailio and kamailio.org.
@@ -89,7 +89,7 @@ subject to available manpower.
 
 To receive feedback to your inquiries, we recommend you to subscribe 
 to the sr-users mailing list and post your queries there. This mailing 
-list is set up for mutual help by the community of ser users and developers. 
+list is set up for mutual help by the community of Kamailio users and developers. 
 To participate in the mailing list, subscribe at the following web address: 
          http://lists.sip-router.org/mailman/listinfo/sr-users
 

+ 6 - 0
dns_cache.c

@@ -1891,8 +1891,10 @@ inline static struct dns_hash_entry* dns_cache_do_request(str* name, int type)
 #endif /* USE_DNS_CACHE_STATS */
 
 	if (type==T_A){
+#ifdef USE_IPV6
 		if (str2ip6(name)!=0)
 			goto end;
+#endif /* USE_IPV6 */
 		if ((ip=str2ip(name))!=0){
 				e=dns_cache_mk_ip_entry(name, ip);
 				if (likely(e))
@@ -2469,8 +2471,10 @@ inline static struct hostent* dns_a_get_he(str* name)
 	struct hostent* he;
 
 	e=0;
+#ifdef	USE_IPV6
 	if (str2ip6(name)!=0)
 		return 0;
+#endif
 	if ((ip=str2ip(name))!=0){
 		return ip_addr2he(name, ip);
 	}
@@ -2971,8 +2975,10 @@ inline static int dns_a_resolve( struct dns_hash_entry** e,
 	ret=-E_DNS_NO_IP;
 	if (*e==0){ /* do lookup */
 		/* if ip don't set *e */
+#ifdef	USE_IPV6
 		if (str2ip6(name)!=0)
 			goto error;
+#endif
 		if ((tmp=str2ip(name))!=0){
 			*ip=*tmp;
 			*rr_no=0;

+ 0 - 77
lib/kcore/parse_pai.c

@@ -1,77 +0,0 @@
-/*
- * Copyright (C) 2006 Juha Heinanen
- *
- * This file is part of Kamailio, a free SIP server.
- *
- * Kamailio is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version
- *
- * Kamailio is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License 
- * along with this program; if not, write to the Free Software 
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
- */
-
-/*!
- * \file
- * \brief P-Asserted-Identity header parser
- * \ingroup parser
- */
-
-#include "../../parser/parse_from.h"
-#include "../../parser/parse_to.h"
-#include <stdlib.h>
-#include <string.h>
-#include "../../dprint.h"
-#include "../../parser/msg_parser.h"
-#include "../../ut.h"
-#include "../../mem/mem.h"
-
-/*!
- * This method is used to parse P-Asserted-Identity header (RFC 3325).
- *
- * Currently only one name-addr / addr-spec is supported in the header
- * and it must contain a sip or sips URI.
- * \param msg sip msg
- * \return 0 on success, -1 on failure.
- */
-int parse_pai_header( struct sip_msg *msg )
-{
-	struct to_body* pai_b;
-
-	if ( !msg->pai && (parse_headers(msg, HDR_PAI_F,0)==-1 || !msg->pai)) {
-		goto error;
-	}
-
-	/* maybe the header is already parsed! */
-	if (msg->pai->parsed)
-		return 0;
- 
-	/* bad luck! :-( - we have to parse it */
-	/* first, get some memory */
-	pai_b = pkg_malloc(sizeof(struct to_body));
-	if (pai_b == 0) {
-		LM_ERR("out of pkg_memory\n");
-		goto error;
-	}
- 
-	/* now parse it!! */
-	memset(pai_b, 0, sizeof(struct to_body));
-	parse_to(msg->pai->body.s, msg->pai->body.s + msg->pai->body.len+1, pai_b);
-	if (pai_b->error == PARSE_ERROR) {
-		LM_ERR("bad P-Asserted-Identity header\n");
-		free_to(pai_b);
-		goto error;
-	}
- 	msg->pai->parsed = pai_b;
- 
-	return 0;
-error:
-	return -1;
-}

+ 0 - 119
lib/kcore/parse_ppi.c

@@ -1,119 +0,0 @@
-/*
- * $Id$
- *
- * Copyright (C) 2006 Juha Heinanen
- *
- * This file is part of Kamailio, a free SIP server.
- *
- * Kamailio is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version
- *
- * Kamailio is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License 
- * along with this program; if not, write to the Free Software 
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
- */
-
-/*!
- * \file
- * \brief P-Preferred-Identity header parser
- * \ingroup parser
- */
-
-#include "parse_ppi.h"
-#include "../../parser/parse_to.h"
-#include "../../parser/parse_uri.h"
-#include <stdlib.h>
-#include <string.h>
-#include "../../dprint.h"
-#include "../../parser/msg_parser.h"
-#include "../../ut.h"
-#include "../../mem/mem.h"
-
-
-/*!
- * \brief This method is used to parse P-Preferred-Identity header (RFC 3325).
- *
- * Currently only one name-addr / addr-spec is supported in the header
- * and it must contain a sip or sips URI.
- * \param msg sip msg
- * \return 0 on success, -1 on failure.
- */
-int parse_ppi_header( struct sip_msg *msg )
-{
-    struct to_body* ppi_b;
-
-    if ( !msg->ppi &&
-	 (parse_headers(msg, HDR_PPI_F,0)==-1 || !msg->ppi)) {
-	goto error;
-    }
- 
-    /* maybe the header is already parsed! */
-    if (msg->ppi->parsed)
-	return 0;
- 
-    /* bad luck! :-( - we have to parse it */
-    /* first, get some memory */
-    ppi_b = pkg_malloc(sizeof(struct to_body));
-    if (ppi_b == 0) {
-	LM_ERR("out of pkg_memory\n");
-	goto error;
-    }
- 
-    /* now parse it!! */
-    memset(ppi_b, 0, sizeof(struct to_body));
-    parse_to(msg->ppi->body.s,
-	     msg->ppi->body.s + msg->ppi->body.len+1,
-	     ppi_b);
-    if (ppi_b->error == PARSE_ERROR) {
-	LM_ERR("bad P-Preferred-Identity header\n");
-	free_to(ppi_b);
-	goto error;
-    }
- 	msg->ppi->parsed = ppi_b;
- 
- 	return 0;
- error:
- 	return -1;
-}
-
-
-/*!
- * \brief Parse P-Preferred-Identity header URI
- */
-struct sip_uri *parse_ppi_uri(struct sip_msg *msg)
-{
-	struct to_body *tb = NULL;
-	
-	if(msg==NULL)
-		return NULL;
-
-	if(parse_ppi_header(msg)<0)
-	{
-		LM_ERR("cannot parse P-P-I header\n");
-		return NULL;
-	}
-	
-	if(msg->ppi==NULL || get_ppi(msg)==NULL)
-		return NULL;
-
-	tb = get_ppi(msg);
-
-	if(tb->parsed_uri.user.s!=NULL || tb->parsed_uri.host.s!=NULL)
-		return &tb->parsed_uri;
-
-	if (parse_uri(tb->uri.s, tb->uri.len , &tb->parsed_uri)<0)
-	{
-		LM_ERR("failed to parse P-P-I URI\n");
-		memset(&tb->parsed_uri, 0, sizeof(struct sip_uri));
-		return NULL;
-	}
-
-	return &tb->parsed_uri;
-}

+ 0 - 53
lib/kcore/parse_ppi.h

@@ -1,53 +0,0 @@
-/*
- * $Id$
- *
- * Copyright (C) 2006 Juha Heinanen
- *
- * This file is part of Kamailio, a free SIP server.
- *
- * Kamailio is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version
- *
- * Kamailio is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License 
- * along with this program; if not, write to the Free Software 
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
- *
- */
-
-/*!
- * \file
- * \brief P-Preferred-Identity header parser
- * \ingroup parser
- */
-
-#ifndef PARSE_PPI_H
-#define PARSE_PPI_H
-
-#include "../../parser/msg_parser.h"
-#include "../../parser/parse_to.h"
-
-
-/*! casting macro for accessing P-Preferred-Identity body */
-#define get_ppi(p_msg)  ((struct to_body*)(p_msg)->ppi->parsed)
-
-
-/*!
- * \brief This method is used to parse P-Preferred-Identity header (RFC 3325).
- *
- * Currently only one name-addr / addr-spec is supported in the header
- * and it must contain a sip or sips URI.
- * \param msg sip msg
- * \return 0 on success, -1 on failure.
- */
-int parse_ppi_header( struct sip_msg *msg);
-
-struct sip_uri *parse_ppi_uri(struct sip_msg *msg);
- 
-#endif /* PARSE_PPI_H */

+ 82 - 35
modules/cfgutils/README

@@ -18,14 +18,18 @@ Jiri Kuthan
 
    <[email protected]>
 
+Olle E. Johansson
+
+   <[email protected]>
+
 Edited by
 
 Daniel-Constantin Mierla
 
    <[email protected]>
 
-   Copyright © 2007, 2008, 2004 1und1 Internet AG, BASIS AudioNet GmbH,
-   Elena-Ramona Modroiu, FhG FOKUS
+   Copyright © 2013, 2007, 2008, 2004 Edvina AB, 1und1 Internet AG, BASIS
+   AudioNet GmbH, Elena-Ramona Modroiu, FhG FOKUS
      __________________________________________________________________
 
    Table of Contents
@@ -59,7 +63,9 @@ Daniel-Constantin Mierla
               4.14. is_gflag(flag)
               4.15. lock(key)
               4.16. unlock(key)
-              4.17. core_hash(string1, string2, size)
+              4.17. check_route_exists(route)
+              4.18. route_if_exists(route)
+              4.19. core_hash(string1, string2, size)
 
         5. MI Commands
 
@@ -99,17 +105,19 @@ Daniel-Constantin Mierla
    1.18. is_gflag() usage
    1.19. lock() usage
    1.20. unlock() usage
-   1.21. core_hash() usage
-   1.22. rand_set_prob usage
-   1.23. rand_reset_prob usage
-   1.24. rand_get_prob usage
-   1.25. check_config_hash usage
-   1.26. get_config_hash usage
-   1.27. set_gflag usage
-   1.28. reset_gflag usage
-   1.29. is_gflag usage
-   1.30. get_gflags usage
-   1.31. RANDOM pseudo-variable usage
+   1.21. check_route_exists() usage
+   1.22. route_if_exists() usage
+   1.23. core_hash() usage
+   1.24. rand_set_prob usage
+   1.25. rand_reset_prob usage
+   1.26. rand_get_prob usage
+   1.27. check_config_hash usage
+   1.28. get_config_hash usage
+   1.29. set_gflag usage
+   1.30. reset_gflag usage
+   1.31. is_gflag usage
+   1.32. get_gflags usage
+   1.33. RANDOM pseudo-variable usage
 
 Chapter 1. Admin Guide
 
@@ -142,7 +150,9 @@ Chapter 1. Admin Guide
         4.14. is_gflag(flag)
         4.15. lock(key)
         4.16. unlock(key)
-        4.17. core_hash(string1, string2, size)
+        4.17. check_route_exists(route)
+        4.18. route_if_exists(route)
+        4.19. core_hash(string1, string2, size)
 
    5. MI Commands
 
@@ -281,7 +291,9 @@ modparam("cfgutils", "lock_set_size", 4)
    4.14. is_gflag(flag)
    4.15. lock(key)
    4.16. unlock(key)
-   4.17. core_hash(string1, string2, size)
+   4.17. check_route_exists(route)
+   4.18. route_if_exists(route)
+   4.19. core_hash(string1, string2, size)
 
 4.1. rand_event()
 
@@ -326,7 +338,7 @@ rand_reset_prob();
 ...
 rand_get_prob();
 
-4.5. sleep(time)
+4.5.  sleep(time)
 
    Waits "time" seconds.
 
@@ -341,7 +353,7 @@ rand_get_prob();
 sleep("1");
 ...
 
-4.6. usleep(time)
+4.6.  usleep(time)
 
    Waits "time" milli-seconds.
 
@@ -356,7 +368,7 @@ sleep("1");
 usleep("500");
 ...
 
-4.7. abort()
+4.7.  abort()
 
    Debugging function that aborts the server. Depending on the
    configuration of the server a core dump will be created.
@@ -369,7 +381,7 @@ usleep("500");
 abort();
 ...
 
-4.8. pkg_status()
+4.8.  pkg_status()
 
    Debugging function that dumps the status for the private (PKG) memory.
    This information is logged to the default log facility, depending on
@@ -384,7 +396,7 @@ abort();
 pkg_status();
 ...
 
-4.9. pkg_summary()
+4.9.  pkg_summary()
 
    Debugging function that dumps the summary for the private (PKG) memory
    usage. This information is logged to the default log facility,
@@ -399,7 +411,7 @@ pkg_status();
 pkg_summary();
 ...
 
-4.10. shm_status()
+4.10.  shm_status()
 
    Debugging function that dumps the status for the shared (SHM) memory.
    This information is logged to the default log facility, depending on
@@ -414,7 +426,7 @@ pkg_summary();
 shm_status();
 ...
 
-4.11. shm_summary()
+4.11.  shm_summary()
 
    Debugging function that dumps the summary for the shared (SHM) memory
    usage. This information is logged to the default log facility,
@@ -508,7 +520,42 @@ lock("$rU");
 unlock("$rU");
 ...
 
-4.17. core_hash(string1, string2, size)
+4.17. check_route_exists(route)
+
+   Check if a route block exists
+
+   Parameters:
+
+   "name" of a route block in the config file, like "route[FROGJUMP]"
+
+   This function can be used from any route. You can only check for
+   route[] blocks, not reply, event or other routes.
+
+   Example 1.21. check_route_exists() usage
+...
+if(check_route_exists("FROGJUMP") {
+        $var(jumping_frogs) = 1;
+};
+...
+
+4.18. route_if_exists(route)
+
+   Execute a routing block only if it is defined. If it's not defined,
+   silently move to the next action in the configuration script.
+
+   Parameters:
+
+   "name" of a route block in the config file, like "route[FROGJUMP]"
+
+   This function can be used from any route. You can only execute it for
+   route[] blocks, not reply, event or other routes.
+
+   Example 1.22. route_if_exists() usage
+...
+route_if_exists("PRESENCE_SANTA_CLAUS");
+...
+
+4.19. core_hash(string1, string2, size)
 
    Exported function that enables the core_hash() function to be used from
    the configuration file.
@@ -525,7 +572,7 @@ unlock("$rU");
 
    This function can be used from ANY_ROUTE.
 
-   Example 1.21. core_hash() usage
+   Example 1.23. core_hash() usage
 ...
 core_hash("$ci", "", 4);
 ...
@@ -554,7 +601,7 @@ core_hash("$ci", "", 4);
 
    The parameter value must be a number from 0 to 100.
 
-   Example 1.22. rand_set_prob usage
+   Example 1.24. rand_set_prob usage
 ...
 $ kamctl fifo rand_set_prob 10
 ...
@@ -565,7 +612,7 @@ $ kamctl fifo rand_set_prob 10
 
    This command don't need a parameter.
 
-   Example 1.23. rand_reset_prob usage
+   Example 1.25.  rand_reset_prob usage
 ...
 $ kamctl fifo rand_reset_prob
 ...
@@ -576,7 +623,7 @@ $ kamctl fifo rand_reset_prob
 
    The function return the actual probability value.
 
-   Example 1.24. rand_get_prob usage
+   Example 1.26. rand_get_prob usage
 ...
 $ kamctl fifo get_prob
 The actual probability is 50 percent.
@@ -590,7 +637,7 @@ The actual probability is 50 percent.
    there are not identical, 404 if no file for hashing has been configured
    and 500 on errors. Additional a short text message is printed.
 
-   Example 1.25. check_config_hash usage
+   Example 1.27. check_config_hash usage
 ...
 $ kamctl fifo check_config_hash
 The actual config file hash is identical to the stored one.
@@ -603,7 +650,7 @@ The actual config file hash is identical to the stored one.
    The function returns 200 OK and the hash value on success or 404 if no
    file for hashing has been configured.
 
-   Example 1.26. get_config_hash usage
+   Example 1.28. get_config_hash usage
 ...
 $ kamctl fifo get_config_hash
 1580a37104eb4de69ab9f31ce8d6e3e0
@@ -616,7 +663,7 @@ $ kamctl fifo get_config_hash
    The parameter value must be a bitmask in decimal or hexadecimal format.
    The bitmask has a 32 bit size.
 
-   Example 1.27. set_gflag usage
+   Example 1.29. set_gflag usage
 ...
 $ kamctl fifo set_gflag 1
 $ kamctl fifo set_gflag 0x3
@@ -629,7 +676,7 @@ $ kamctl fifo set_gflag 0x3
    The parameter value must be a bitmask in decimal or hexadecimal format.
    The bitmask has a 32 bit size.
 
-   Example 1.28. reset_gflag usage
+   Example 1.30.  reset_gflag usage
 ...
 $ kamctl fifo reset_gflag 1
 $ kamctl fifo reset_gflag 0x3
@@ -645,7 +692,7 @@ $ kamctl fifo reset_gflag 0x3
    The function returns TRUE if all the flags from the set are set and
    FALSE if at least one is not set.
 
-   Example 1.29. is_gflag usage
+   Example 1.31. is_gflag usage
 ...
 $ kamctl fifo set_gflag 1024
 $ kamctl fifo is_gflag 1024
@@ -668,7 +715,7 @@ TRUE
    Return the bitmap with all flags. The function gets no parameters and
    returns the bitmap in hexadecimal and decimal format.
 
-   Example 1.30. get_gflags usage
+   Example 1.32.  get_gflags usage
 ...
 $ kamctl fifo get_gflags
 0x3039
@@ -683,7 +730,7 @@ $ kamctl fifo get_gflags
 
    Returns a random value from the [0 - 2^31) range.
 
-   Example 1.31. RANDOM pseudo-variable usage
+   Example 1.33. RANDOM pseudo-variable usage
 ...
 if (rand_event()) {
   $avp(i:10) = ($RANDOM / 16777216); # 2^24

+ 34 - 0
modules/cfgutils/cfgutils.c

@@ -1,6 +1,7 @@
 /*
  * $Id$
  *
+ * Copyright (C) 2012 Edvina AB
  * Copyright (C) 2007 1&1 Internet AG
  * Copyright (C) 2007 BASIS AudioNet GmbH
  * Copyright (C) 2004 FhG
@@ -70,6 +71,7 @@
 #include "../../globals.h"
 #include "../../hashes.h"
 #include "../../locking.h"
+#include "../../route.h"
 #include <stdio.h>
 #include <stdlib.h>
 #include <sys/types.h>
@@ -91,6 +93,8 @@ static int dbg_pkg_status(struct sip_msg*, char*,char*);
 static int dbg_shm_status(struct sip_msg*, char*,char*);
 static int dbg_pkg_summary(struct sip_msg*, char*,char*);
 static int dbg_shm_summary(struct sip_msg*, char*,char*);
+static int route_exists(struct sip_msg*, char*);
+static int check_route_exists(struct sip_msg*, char*);
 
 static int set_gflag(struct sip_msg*, char *, char *);
 static int reset_gflag(struct sip_msg*, char *, char *);
@@ -178,6 +182,10 @@ static cmd_export_t cmds[]={
 		ANY_ROUTE},
 	{"core_hash",    (cmd_function)w_core_hash, 3,   fixup_core_hash, 0,
 		ANY_ROUTE},
+	{"check_route_exists",    (cmd_function)check_route_exists, 1,   0, 0,
+		ANY_ROUTE},
+	{"route_if_exists",    (cmd_function)route_exists, 1,   0, 0,
+		ANY_ROUTE},
 	{"bind_cfgutils", (cmd_function)bind_cfgutils,  0,
 		0, 0, 0},
 	{0, 0, 0, 0, 0, 0}
@@ -737,6 +745,32 @@ static int cfg_unlock(struct sip_msg *msg, char *key, char *s2)
 	return cfg_lock_wrapper(msg, (gparam_p)key, 1);
 }
 
+/*! Check if a route block exists - only request routes
+ */
+static int check_route_exists(struct sip_msg *msg, char *route)
+{
+	if (route_lookup(&main_rt, route))
+		return 1;
+	return 0;
+}
+
+/*! Run a request route block if it exists
+ */
+static int route_exists(struct sip_msg *msg, char *route)
+{
+	struct run_act_ctx ctx;
+	int newroute, backup_rt;
+
+	if (!(newroute = route_lookup(&main_rt, route))) {
+		return 0;
+	}
+	backup_rt = get_route_type();
+	set_route_type(REQUEST_ROUTE);
+	init_run_actions_ctx(&ctx);
+	run_top_route(main_rt.rlist[newroute], msg, 0);
+	set_route_type(backup_rt);
+	return 0;
+}
 
 static int mod_init(void)
 {

+ 7 - 0
modules/cfgutils/doc/cfgutils.xml

@@ -37,6 +37,11 @@
 		<surname>Kuthan</surname>
 		<email>[email protected]</email>
 		</author>
+		<author>
+		<firstname>Olle E.</firstname>
+		<surname>Johansson</surname>
+		<email>[email protected]</email>
+		</author>
 		<editor>
 		<firstname>Daniel-Constantin</firstname>
 		<surname>Mierla</surname>
@@ -44,9 +49,11 @@
 		</editor>
 	</authorgroup>
 	<copyright>
+		<year>2013</year>
 		<year>2007</year>
 		<year>2008</year>
 		<year>2004</year>
+		<holder>Edvina AB</holder>
 		<holder>1und1 Internet AG</holder>
 		<holder>BASIS AudioNet GmbH</holder>
 		<holder>Elena-Ramona Modroiu</holder>

+ 47 - 0
modules/cfgutils/doc/cfgutils_admin.xml

@@ -521,6 +521,53 @@ lock("$rU");
 ...
 unlock("$rU");
 ...
+</programlisting>
+		</example>
+	</section>
+	<section>
+		<title><function moreinfo="none">check_route_exists(route)</function></title>
+		<para>
+		Check if a route block exists
+		</para>
+		<para>Parameters:</para>
+		<para>
+		<quote>name</quote> of a route block in the config file, like <quote>route[FROGJUMP]</quote>
+		</para>
+		<para>
+		This function can be used from any route. You can only check for
+		route[] blocks, not reply, event or other routes.
+		</para>
+		<example>
+		<title><function moreinfo="none">check_route_exists()</function> usage</title>
+		<programlisting format="linespecific">
+...
+if(check_route_exists("FROGJUMP") {
+	$var(jumping_frogs) = 1;
+};
+...
+</programlisting>
+		</example>
+	</section>
+	<section>
+		<title><function moreinfo="none">route_if_exists(route)</function></title>
+		<para>
+		Execute a routing block only if it is defined. If it's not defined, silently
+		move to the next action in the configuration script.
+		</para>
+		<para>Parameters:</para>
+		<para>
+		<quote>name</quote> of a route block in the config file, like <quote>route[FROGJUMP]</quote>
+		</para>
+		<para>
+		This function can be used from any route. You can only execute it for
+		route[] blocks, not reply, event or other routes.
+		</para>
+		<example>
+		<title><function moreinfo="none">route_if_exists()</function> usage</title>
+		<programlisting format="linespecific">
+...
+route_if_exists("PRESENCE_SANTA_CLAUS");
+...
 </programlisting>
 		</example>
 	</section>

+ 70 - 1
modules/db_postgres/pg_cmd.c

@@ -198,19 +198,88 @@ static int get_types(db_cmd_t* cmd)
 {
 	struct pg_cmd* pcmd;
 	struct pg_con* pcon;
+	int i, n;
+	pg_type_t *types;
 
 	pcmd = DB_GET_PAYLOAD(cmd);
 	/* FIXME */
 	pcon = DB_GET_PAYLOAD(cmd->ctx->con[db_payload_idx]);
 
+	types = pcon->oid;
 	pcmd->types = PQdescribePrepared(pcon->con, pcmd->name);
 	
 	if (PQresultStatus(pcmd->types) != PGRES_COMMAND_OK) {
 		ERR("postgres: Error while obtaining description of prepared statement\n");
 		return -1;
 	}
+	/* adapted from check_result() in db_mysql */
+	n = PQnfields(pcmd->types);
+	if (cmd->result == NULL) {
+		/* The result set parameter of db_cmd function was empty, that
+		 * means the command is select * and we have to create the array
+		 * of result fields in the cmd structure manually.
+		 */
+		cmd->result = db_fld(n + 1);
+		cmd->result_count = n;
+		for(i = 0; i < cmd->result_count; i++) {
+			struct pg_fld *f;
+			if (pg_fld(cmd->result + i, cmd->table.s) < 0) goto error;
+			f = DB_GET_PAYLOAD(cmd->result + i);
+			f->name = pkg_malloc(strlen(PQfname(pcmd->types, i))+1);
+			if (f->name == NULL) {
+				ERR("postgres: Out of private memory\n");
+				goto error;
+			}
+			strcpy(f->name, PQfname(pcmd->types, i));
+			cmd->result[i].name = f->name;
+		}
+	} else {
+		if (cmd->result_count != n) {
+			BUG("postgres: Number of fields in PQresult does not match number of parameters in DB API\n");
+			goto error;
+		}
+	}
+
+	/* Now iterate through all the columns in the result set and replace
+	 * any occurrence of DB_UNKNOWN type with the type of the column
+	 * retrieved from the database and if no column name was provided then
+	 * update it from the database as well.
+	 */
+	for(i = 0; i < cmd->result_count; i++) {
+		Oid type = PQftype(pcmd->types, i);
+		if (cmd->result[i].type != DB_NONE) continue;
+
+		if ((type == types[PG_INT2].oid) || (type == types[PG_INT4].oid) || (type == types[PG_INT8].oid))
+			cmd->result[i].type = DB_INT;
 
+		else if (type == types[PG_FLOAT4].oid)
+			cmd->result[i].type = DB_FLOAT;
+
+		else if (type == types[PG_FLOAT8].oid)
+			cmd->result[i].type = DB_DOUBLE;
+
+		else if ((type == types[PG_TIMESTAMP].oid) || (type == types[PG_TIMESTAMPTZ].oid))
+			cmd->result[i].type = DB_DATETIME;
+
+		else if ((type == types[PG_VARCHAR].oid) || (type == types[PG_CHAR].oid) || (type == types[PG_TEXT].oid))
+			cmd->result[i].type = DB_STR;
+
+		else if ((type == types[PG_BIT].oid) || (type == types[PG_VARBIT].oid))
+			cmd->result[i].type = DB_BITMAP;
+
+		else if (type == types[PG_BYTE].oid)
+			cmd->result[i].type = DB_BLOB;
+
+		else
+		{
+			ERR("postgres: Unsupported PostgreSQL column type: %d, table: %s, column: %s\n",
+				type, cmd->table.s, PQfname(pcmd->types, i));
+			goto error;
+		}
+	}
 	return 0;
+error:
+	return -1;
 }
 
 
@@ -352,7 +421,7 @@ static int upload_cmd(db_cmd_t* cmd)
 	DBG("postgres: Uploading command '%s': '%s'\n", pcmd->name,
 		pcmd->sql_cmd.s);
 
-	res = PQprepare(pcon->con, pcmd->name, pcmd->sql_cmd.s, 0, NULL);
+	res = PQprepare(pcon->con, pcmd->name, pcmd->sql_cmd.s, (cmd->match_count + cmd->vals_count), NULL);
 	
 	st = PQresultStatus(res);
 

+ 1 - 0
modules/db_postgres/pg_fld.c

@@ -62,6 +62,7 @@
 static void pg_fld_free(db_fld_t* fld, struct pg_fld* payload)
 {
 	db_drv_free(&payload->gen);
+	if (payload->name) pkg_free(payload->name);
 	pkg_free(payload);
 }
 

+ 1 - 0
modules/db_postgres/pg_fld.h

@@ -47,6 +47,7 @@
 struct pg_fld {
 	db_drv_t gen;
 
+	char* name;
 	/**
 	 * A union of varius data types from db_fld, postgres expects binary
 	 * data in network byte order so we use these variables as temporary

+ 6 - 1
modules/db_sqlite/Makefile

@@ -6,7 +6,12 @@ include ../../Makefile.defs
 auto_gen=
 NAME=db_sqlite.so
 
-LIBS +=-lsqlite3
+# sqlite3.h locations (freebsd,openbsd  solaris)
+DEFS += -I$(LOCALBASE)/include
+
+# libodbc locations on RH/Suse, Solaris /OpenBSD, FreeBSD
+# (Debian does the right thing and puts it in /usr/lib)
+LIBS= -L$(LOCALBASE)/lib -lsqlite3
 
 DEFS+=-DKAMAILIO_MOD_INTERFACE
 

+ 1 - 1
modules/dispatcher/ds_ht.c

@@ -170,7 +170,7 @@ int ds_ht_clear_slots(ds_ht_t *dsht)
 		}
 		dsht->entries[i].first = NULL;
 		dsht->entries[i].esize = 0;
-		lock_destroy(&dsht->entries[i].lock);
+		lock_release(&dsht->entries[i].lock);
 	}
 	return 0;
 }

+ 78 - 60
modules/nathelper/README

@@ -24,13 +24,13 @@ Edited by
 
 Ovidiu Sas
 
-   Copyright (c) 2003-2008 Sippy Software, Inc.
+   Copyright © 2003-2008 Sippy Software, Inc.
 
-   Copyright (c) 2005 Voice Sistem SRL
+   Copyright © 2005 Voice Sistem SRL
 
-   Copyright (c) 2009 TuTPro Inc.
+   Copyright © 2009 TuTPro Inc.
 
-   Copyright (c) 2010 VoIPEmbedded Inc.
+   Copyright © 2010 VoIPEmbedded Inc.
      __________________________________________________________________
 
    Table of Contents
@@ -53,10 +53,11 @@ Ovidiu Sas
               4.5. natping_socket (string)
               4.6. received_avp (str)
               4.7. sipping_bflag (integer)
-              4.8. sipping_from (string)
-              4.9. sipping_method (string)
-              4.10. nortpproxy_str (string)
-              4.11. keepalive_timeout (int)
+              4.8. sipping_disable_bflag (integer)
+              4.9. sipping_from (string)
+              4.10. sipping_method (string)
+              4.11. nortpproxy_str (string)
+              4.12. keepalive_timeout (int)
 
         5. Functions
 
@@ -93,20 +94,21 @@ Ovidiu Sas
    1.5. Set natping_socket parameter
    1.6. Set received_avp parameter
    1.7. Set sipping_bflag parameter
-   1.8. Set sipping_from parameter
-   1.9. Set sipping_method parameter
-   1.10. Set nortpproxy_str parameter
-   1.11. Set keepalive_timeout parameter
-   1.12. fix_nated_contact usage
-   1.13. fix_nated_sdp usage
-   1.14. add_rcv_paramer usage
-   1.15. fix_nated_register usage
-   1.16. add_contact_alias usage
-   1.17. handle_ruri_alias usage
-   1.18. $rr_count usage
-   1.19. $rr_top_count usage
-   1.20. nh_enable_ping usage
-   1.21. @nathelper.rewrite_contact usage
+   1.8. Set sipping_disable_bflag parameter
+   1.9. Set sipping_from parameter
+   1.10. Set sipping_method parameter
+   1.11. Set nortpproxy_str parameter
+   1.12. Set keepalive_timeout parameter
+   1.13. fix_nated_contact usage
+   1.14. fix_nated_sdp usage
+   1.15. add_rcv_paramer usage
+   1.16. fix_nated_register usage
+   1.17. add_contact_alias usage
+   1.18. handle_ruri_alias usage
+   1.19. $rr_count usage
+   1.20. $rr_top_count usage
+   1.21. nh_enable_ping usage
+   1.22. @nathelper.rewrite_contact usage
 
 Chapter 1. Admin Guide
 
@@ -128,10 +130,11 @@ Chapter 1. Admin Guide
         4.5. natping_socket (string)
         4.6. received_avp (str)
         4.7. sipping_bflag (integer)
-        4.8. sipping_from (string)
-        4.9. sipping_method (string)
-        4.10. nortpproxy_str (string)
-        4.11. keepalive_timeout (int)
+        4.8. sipping_disable_bflag (integer)
+        4.9. sipping_from (string)
+        4.10. sipping_method (string)
+        4.11. nortpproxy_str (string)
+        4.12. keepalive_timeout (int)
 
    5. Functions
 
@@ -226,17 +229,18 @@ Chapter 1. Admin Guide
    4.5. natping_socket (string)
    4.6. received_avp (str)
    4.7. sipping_bflag (integer)
-   4.8. sipping_from (string)
-   4.9. sipping_method (string)
-   4.10. nortpproxy_str (string)
-   4.11. keepalive_timeout (int)
+   4.8. sipping_disable_bflag (integer)
+   4.9. sipping_from (string)
+   4.10. sipping_method (string)
+   4.11. nortpproxy_str (string)
+   4.12. keepalive_timeout (int)
 
 4.1. force_socket (string)
 
    Socket to be used when sending NAT pings for UDP communication. If no
    one specified, the OS will choose a socket.
 
-   Default value is "NULL".
+   Default value is “NULL”.
 
    Example 1.1. Set force_socket parameter
 ...
@@ -263,7 +267,7 @@ modparam("nathelper", "natping_interval", 10)
 
 4.3. ping_nated_only (integer)
 
-   If this variable is set then only contacts that have "behind_NAT" flag
+   If this variable is set then only contacts that have “behind_NAT” flag
    in user location database set will get ping.
 
    Default value is 0.
@@ -331,33 +335,47 @@ modparam("nathelper", "received_avp", "$avp(i:42)")
 modparam("nathelper", "sipping_bflag", 7)
 ...
 
-4.8. sipping_from (string)
+4.8. sipping_disable_bflag (integer)
+
+   What branch flag should be used by the module to disable NAT pings on a
+   per-registration basis. If the given flag is set for a particular
+   registration, then no NAT pings will be sent at all, regardless of any
+   other conditions.
+
+   Default value is -1 (disabled).
+
+   Example 1.8. Set sipping_disable_bflag parameter
+...
+modparam("nathelper", "sipping_disable_bflag", 8)
+...
+
+4.9. sipping_from (string)
 
    The parameter sets the SIP URI to be used in generating the SIP
    requests for NAT ping purposes. To enable the SIP request pinging
    feature, you have to set this parameter. The SIP request pinging will
    be used only for requests marked so.
 
-   Default value is "NULL".
+   Default value is “NULL”.
 
-   Example 1.8. Set sipping_from parameter
+   Example 1.9. Set sipping_from parameter
 ...
 modparam("nathelper", "sipping_from", "sip:[email protected]")
 ...
 
-4.9. sipping_method (string)
+4.10. sipping_method (string)
 
    The parameter sets the SIP method to be used in generating the SIP
    requests for NAT ping purposes.
 
-   Default value is "OPTIONS".
+   Default value is “OPTIONS”.
 
-   Example 1.9. Set sipping_method parameter
+   Example 1.10. Set sipping_method parameter
 ...
 modparam("nathelper", "sipping_method", "INFO")
 ...
 
-4.10. nortpproxy_str (string)
+4.11. nortpproxy_str (string)
 
    The parameter sets the SDP attribute used by nathelper to mark the
    packet SDP informations have already been mangled.
@@ -368,14 +386,14 @@ Note
 
    The string must be a complete SDP line, including the EOH (\r\n).
 
-   Default value is "a=nortpproxy:yes\r\n".
+   Default value is “a=nortpproxy:yes\r\n”.
 
-   Example 1.10. Set nortpproxy_str parameter
+   Example 1.11. Set nortpproxy_str parameter
 ...
 modparam("nathelper", "nortpproxy_str", "a=sdpmangled:yes\r\n")
 ...
 
-4.11. keepalive_timeout (int)
+4.12. keepalive_timeout (int)
 
    The parameter sets the interval in secods after which a natted contact
    is removed from location table if it does not reply to SIP keepalives
@@ -387,9 +405,9 @@ modparam("nathelper", "nortpproxy_str", "a=sdpmangled:yes\r\n")
    Keepalives are sent stateless, not using TM module. The value of this
    parameter has to be few times higher than natping_interval.
 
-   Default value is "0" (feature disabled).
+   Default value is “0” (feature disabled).
 
-   Example 1.11. Set keepalive_timeout parameter
+   Example 1.12. Set keepalive_timeout parameter
 ...
 modparam("nathelper", "keepalive_timeout", 120)
 ...
@@ -412,7 +430,7 @@ modparam("nathelper", "keepalive_timeout", 120)
    This function can be used from REQUEST_ROUTE, ONREPLY_ROUTE,
    BRANCH_ROUTE.
 
-   Example 1.12. fix_nated_contact usage
+   Example 1.13. fix_nated_contact usage
 ...
 if (search("User-Agent: Cisco ATA.*") {fix_nated_contact();};
 ...
@@ -420,17 +438,17 @@ if (search("User-Agent: Cisco ATA.*") {fix_nated_contact();};
 5.2.  fix_nated_sdp(flags [, ip_address])
 
    Alters the SDP information in orer to facilitate NAT traversal. What
-   changes to be performed may be controled via the "flags" parameter.
+   changes to be performed may be controled via the “flags” parameter.
    Return value is -1 if error occurred, 1 if ip's were replaced, 2 if no
    ip's were replaced.
 
    Meaning of the parameters is as follows:
      * flags - the value may be a bitwise OR of the following flags:
-          + 0x01 - adds "a=direction:active" SDP line;
+          + 0x01 - adds “a=direction:active” SDP line;
           + 0x02 - rewrite media IP address (c=) with source address of
             the message or the provided IP address (the provide IP address
             take precedence over the source address).
-          + 0x04 - adds "a=nortpproxy:yes" SDP line;
+          + 0x04 - adds “a=nortpproxy:yes” SDP line;
           + 0x08 - rewrite IP from origin description (o=) with source
             address of the message or the provided IP address (the provide
             IP address take precedence over the source address).
@@ -442,7 +460,7 @@ if (search("User-Agent: Cisco ATA.*") {fix_nated_contact();};
    This function can be used from REQUEST_ROUTE, ONREPLY_ROUTE,
    FAILURE_ROUTE, BRANCH_ROUTE.
 
-   Example 1.13. fix_nated_sdp usage
+   Example 1.14. fix_nated_sdp usage
 ...
 if (search("User-Agent: Cisco ATA.*") {fix_nated_sdp("3");};
 ...
@@ -464,7 +482,7 @@ if (search("User-Agent: Cisco ATA.*") {fix_nated_sdp("3");};
 
    This function can be used from REQUEST_ROUTE.
 
-   Example 1.14. add_rcv_paramer usage
+   Example 1.15. add_rcv_paramer usage
 ...
 add_rcv_param(); # add the parameter to the Contact header
 ....
@@ -484,7 +502,7 @@ add_rcv_param("1"); # add the parameter to the Contact URI
 
    This function can be used from REQUEST_ROUTE.
 
-   Example 1.15. fix_nated_register usage
+   Example 1.16. fix_nated_register usage
 ...
 fix_nated_register();
 ...
@@ -531,7 +549,7 @@ fix_nated_register();
    This function can be used from REQUEST_ROUTE, ONREPLY_ROUTE,
    BRANCH_ROUTE, and LOCAL_ROUTE.
 
-   Example 1.16. add_contact_alias usage
+   Example 1.17. add_contact_alias usage
 ...
     if (!is_present_hf("Record-Route")) {
         if (!add_contact_alias("$var(src_ip)", "$Rp", "tcp")) {
@@ -558,7 +576,7 @@ fix_nated_register();
    This function can be used from REQUEST_ROUTE, BRANCH_ROUTE, and
    LOCAL_ROUTE.
 
-   Example 1.17. handle_ruri_alias usage
+   Example 1.18. handle_ruri_alias usage
 ...
     if ($du == "") {
         handle_ruri_alias();
@@ -586,7 +604,7 @@ fix_nated_register();
 
    Number of Record Routes in received SIP request or reply.
 
-   Example 1.18. $rr_count usage
+   Example 1.19. $rr_count usage
 ...
     $avp(rr_count) = $rr_count;
 ...
@@ -598,7 +616,7 @@ fix_nated_register();
    value of $rr_top_count is 1. If there is no Record Route(s), value of
    $rr_top_count is 0.
 
-   Example 1.19. $rr_top_count usage
+   Example 1.20. $rr_top_count usage
 ...
     if ($rr_count == $avp(rr_count) + $rr_top_count) {
         route(ADD_CONTACT_ALIAS);
@@ -616,7 +634,7 @@ fix_nated_register();
 
    The function takes only one parameter - a number in decimal format.
 
-   Example 1.20. nh_enable_ping usage
+   Example 1.21. nh_enable_ping usage
 ...
 $ kamctl fifo nh_enable_ping 1
 ...
@@ -631,7 +649,7 @@ $ kamctl fifo nh_enable_ping 1
    counted from 1. Only IP:port is rewritten, remaining part are left
    unchanged. Full nameaddr is supported.
 
-   Example 1.21. @nathelper.rewrite_contact usage
+   Example 1.22. @nathelper.rewrite_contact usage
 ...
 $c = @nathelper.rewrite_contact[1];
 ...
@@ -639,16 +657,16 @@ $c2 = @nathelper.rewrite_contact[1].nameaddr.uri;
 
 Chapter 2. Frequently Asked Questions
 
-   2.1. What happend with "rtpproxy_disable" parameter?
+   2.1. What happend with “rtpproxy_disable” parameter?
    2.2. Where can I find more about Kamailio?
    2.3. Where can I post a question about this module?
    2.4. How can I report a bug?
 
    2.1.
 
-       What happend with "rtpproxy_disable" parameter?
+       What happend with “rtpproxy_disable” parameter?
 
-       It was removed as it became obsolete - now "rtpproxy_sock" can take
+       It was removed as it became obsolete - now “rtpproxy_sock” can take
        empty value to disable the rtpproxy functionality.
 
    2.2.

+ 22 - 0
modules/nathelper/doc/nathelper_admin.xml

@@ -282,6 +282,28 @@ modparam("nathelper", "received_avp", "$avp(i:42)")
 ...
 modparam("nathelper", "sipping_bflag", 7)
 ...
+</programlisting>
+		</example>
+	</section>
+	<section>
+		<title><varname>sipping_disable_bflag</varname> (integer)</title>
+		<para>
+		What branch flag should be used by the module to disable NAT pings
+		on a per-registration basis. If the given flag is set for a
+		particular registration, then no NAT pings will be sent at all,
+		regardless of any other conditions.
+		</para>
+		<para>
+		<emphasis>
+			Default value is -1 (disabled).
+		</emphasis>
+		</para>
+		<example>
+		<title>Set <varname>sipping_disable_bflag</varname> parameter</title>
+		<programlisting format="linespecific">
+...
+modparam("nathelper", "sipping_disable_bflag", 8)
+...
 </programlisting>
 		</example>
 	</section>

+ 6 - 0
modules/nathelper/nathelper.c

@@ -339,6 +339,7 @@ static const char sbuf[4] = {0, 0, 0, 0};
 static char *force_socket_str = 0;
 static pid_t mypid;
 static int sipping_flag = -1;
+static int sipping_disable_flag = -1;
 static int natping_processes = 1;
 
 static str nortpproxy_str = str_init("a=nortpproxy:yes");
@@ -412,6 +413,7 @@ static param_export_t params[] = {
 	{"sipping_from",          STR_PARAM, &sipping_from.s        },
 	{"sipping_method",        STR_PARAM, &sipping_method.s      },
 	{"sipping_bflag",         INT_PARAM, &sipping_flag          },
+	{"sipping_disable_bflag", INT_PARAM, &sipping_disable_flag  },
 	{"natping_processes",     INT_PARAM, &natping_processes     },
 	{"natping_socket",        STR_PARAM, &natping_socket        },
 	{"keepalive_timeout",     INT_PARAM, &nh_keepalive_timeout  },
@@ -676,6 +678,7 @@ mod_init(void)
 		}
 
 		sipping_flag = (sipping_flag==-1)?0:(1<<sipping_flag);
+		sipping_disable_flag = (sipping_disable_flag==-1)?0:(1<<sipping_disable_flag);
 
 		/* set reply function if SIP natping is enabled */
 		if (sipping_flag) {
@@ -1994,6 +1997,9 @@ nh_timer(unsigned int ticks, void *timer_idx)
 		memcpy( &aorhash, cp, sizeof(aorhash));
 		cp = (char*)cp + sizeof(aorhash);
 
+		if ((flags & sipping_disable_flag)) /* always 0 if sipping_disable_flag not set */
+			continue;
+
 		/* determin the destination */
 		if ( path.len && (flags&sipping_flag)!=0 ) {
 			/* send to first URI in path */

+ 46 - 24
modules/presence/README

@@ -16,9 +16,9 @@ Edited by
 
 Juha Heinanen
 
-   Copyright © 2006 Voice Sistem SRL
+   Copyright © 2006 Voice Sistem SRL
 
-   Copyright © 2009 Juha Heinanen
+   Copyright © 2009 Juha Heinanen
      __________________________________________________________________
 
    Table of Contents
@@ -70,7 +70,11 @@ Juha Heinanen
               5.1. refreshWatchers
               5.2. cleanup
 
-        6. Installation
+        6. RPC Commands
+
+              6.1. presence.cleanup
+
+        7. Installation
 
    2. Developer Guide
 
@@ -170,7 +174,11 @@ Chapter 1. Admin Guide
         5.1. refreshWatchers
         5.2. cleanup
 
-   6. Installation
+   6. RPC Commands
+
+        6.1. presence.cleanup
+
+   7. Installation
 
 1. Overview
 
@@ -245,19 +253,19 @@ Chapter 1. Admin Guide
    If set, the module is a fully operational presence server. Otherwise,
    it is used as a 'library', for its exported functions.
 
-   Default value is “NULL�.
+   Default value is "NULL".
 
    Example 1.1. Set db_url parameter
 ...
 modparam("presence", "db_url",
-        "mysql://openser:openserrw@localhost/openser")
+        "mysql://kamailio:kamailiorw@localhost/kamailio")
 ...
 
 3.2. presentity_table(str)
 
    The name of the db table where PUBLISH presence information is stored.
 
-   Default value is “presentity�.
+   Default value is "presentity".
 
    Example 1.2. Set presentity_table parameter
 ...
@@ -269,7 +277,7 @@ modparam("presence", "presentity_table", "presentity")
    The name of the db table where active subscription information is
    stored.
 
-   Default value is “active_watchers�.
+   Default value is "active_watchers".
 
    Example 1.3. Set active_watchers_table parameter
 ...
@@ -280,7 +288,7 @@ modparam("presence", "active_watchers_table", "active_watchers")
 
    The name of the db table where subscription states are stored.
 
-   Default value is “watchers�.
+   Default value is "watchers".
 
    Example 1.4. Set watchers_table parameter
 ...
@@ -292,7 +300,7 @@ modparam("presence", "watchers_table", "watchers")
    The period in seconds between checks if there are expired messages
    stored in database.
 
-   Default value is “100�. A zero or negative value disables this
+   Default value is "100". A zero or negative value disables this
    activity.
 
    Example 1.5. Set clean_period parameter
@@ -305,7 +313,7 @@ modparam("presence", "clean_period", 100)
    The period at which to synchronize cached subscriber info with the
    database.
 
-   Default value is “100�. A zero or negative value disables
+   Default value is "100". A zero or negative value disables
    synchronization.
 
    Example 1.6. Set db_update_period parameter
@@ -323,7 +331,7 @@ modparam("presence", "db_update_period", 100)
    than 0. When notifier_processes is less than or equal to 0 NOTIFY
    requests are sent immediately.
 
-   Default value is “5�.
+   Default value is "5".
 
    Example 1.7. Set waitn_time parameter
 ...
@@ -340,7 +348,7 @@ modparam("presence", "waitn_time", 10)
    Separate notifier processes are only run when subs_db_mode is 3 (DB
    only mode).
 
-   Default value is “10�.
+   Default value is "10".
 
    Example 1.8. Set notifier_poll_rate parameter
 ...
@@ -360,7 +368,7 @@ modparam("presence", "notifier_poll_rate", 20)
    NOTIFY requests can be sent on a dialog at the same time, there are
    race conditions which result in CSeq re-use.
 
-   Default value is “1�.
+   Default value is "1".
 
    Example 1.9. Set notifier_processes parameter
 ...
@@ -372,7 +380,7 @@ modparam("presence", "notifier_processes", 2)
    The prefix used when generating to_tag when sending replies for
    SUBSCRIBE requests.
 
-   Default value is “10�.
+   Default value is "10".
 
    Example 1.10. Set to_tag_pref parameter
 ...
@@ -385,7 +393,7 @@ modparam("presence", "to_tag_pref", 'pres')
    when sending a 200OK for a publish. It is used for forcing the client
    to send an update before the old publish expires.
 
-   Default value is “0�.
+   Default value is "0".
 
    Example 1.11. Set expires_offset parameter
 ...
@@ -397,7 +405,7 @@ modparam("presence", "expires_offset", 10)
    The the maximum admissible expires value for PUBLISH/SUBSCRIBE message
    (in seconds).
 
-   Default value is “3600�.
+   Default value is "3600".
 
    Example 1.12. Set max_expires parameter
 ...
@@ -468,7 +476,7 @@ modparam("presence", "subs_db_mode", 1)
    database or there are other external entities inserting data into the
    presentity table.
 
-   Default value is “1�.
+   Default value is "1".
 
    Example 1.15. Set publ_cache parameter
 ...
@@ -481,7 +489,7 @@ modparam("presence", "publ_cache", 0)
    This parameter will be used as the power of 2 when computing table
    size.
 
-   Default value is “9 (512)�.
+   Default value is "9 (512)".
 
    Example 1.16. Set subs_htable_size parameter
 ...
@@ -493,7 +501,7 @@ modparam("presence", "subs_htable_size", 11)
    The size of the in-memory hash table to store publish records. This
    parameter will be used as the power of 2 when computing table size.
 
-   Default value is “9 (512)�.
+   Default value is "9 (512)".
 
    Example 1.17. Set pres_htable_size parameter
 ...
@@ -508,7 +516,7 @@ modparam("presence", "pres_htable_size", 11)
    empty NOTIFY to an message-summary event. This parameter is enabled by
    default, thus addering to the standard.
 
-   Default value is “1 �.
+   Default value is "1 ".
 
    Example 1.18. Set send_fast_notify parameter
 ...
@@ -523,7 +531,7 @@ modparam("presence", "send_fast_notify", 0)
    this check requires extra processing that should be avoided if this
    feature is not supported by the clients.
 
-   Default value is “0 �.
+   Default value is "0 ".
 
    Example 1.19. Set enable_sphere_check parameter
 ...
@@ -538,7 +546,7 @@ modparam("presence", "enable_sphere_check", 1)
    on. Disabling this will keep subscriptions active on unreliable
    networks.
 
-   Default value is “1�.
+   Default value is "1".
 
    Example 1.20. Set timeout_rm_subs parameter
 ...
@@ -740,7 +748,21 @@ pres_update_watchers("sip:[email protected]", "presence");
                 :cleanup:fifo_reply
                 _empty_line_
 
-6. Installation
+6. RPC Commands
+
+   6.1. presence.cleanup
+
+6.1.  presence.cleanup
+
+   Manually triggers the cleanup functions for the active_watchers,
+   presentity, and watchers tables. Useful if you have set clean_period
+   and/or db_update_period to zero or less.
+
+   Name: presence.cleanup
+
+   Parameters: none
+
+7. Installation
 
    The module requires 3 tables in the Kamailio database: "presentity",
    "active_watchers" and "watchers". The SQL syntax to create them can be

+ 19 - 0
modules/presence/doc/presence_admin.xml

@@ -901,6 +901,25 @@ pres_update_watchers("sip:[email protected]", "presence");
 	</section>
 </section>
 
+<section>
+	<title>RPC Commands</title>
+	<section>
+	  <title>
+		<function moreinfo="none">presence.cleanup</function>
+	  </title>
+	  <para>
+		Manually triggers the cleanup functions for the active_watchers, presentity,
+		and watchers tables. Useful if you have set <varname>clean_period</varname>
+		and/or <varname>db_update_period</varname> to zero or less.
+	  </para>
+	  <para>
+		Name: <emphasis>presence.cleanup</emphasis>
+	  </para>
+	  <para>Parameters: <emphasis>none</emphasis></para>
+
+	</section>
+</section>
+
 <section>
 	<title>Installation</title>
 	<para>

+ 41 - 0
modules/presence/presence.c

@@ -73,6 +73,8 @@
 #include "notify.h"
 #include "../../mod_fix.h"
 #include "../../timer_proc.h"
+#include "../../rpc.h"
+#include "../../rpc_lookup.h"
 
 MODULE_VERSION
 
@@ -127,6 +129,7 @@ static int w_pres_update_watchers(struct sip_msg *msg, char *puri,
 		char *pevent);
 static int fixup_refresh_watchers(void** param, int param_no);
 static int fixup_update_watchers(void** param, int param_no);
+static int presence_init_rpc(void);
 
 int counter =0;
 int pid = 0;
@@ -231,6 +234,11 @@ static int mod_init(void)
 		LM_ERR("failed to register MI commands\n");
 		return -1;
 	}
+	if(presence_init_rpc()!=0)
+	{
+		LM_ERR("failed to register RPC commands\n");
+		return -1;
+	}
 
 	db_url.len = db_url.s ? strlen(db_url.s) : 0;
 	LM_DBG("db_url=%s/%d/%p\n", ZSW(db_url.s), db_url.len,db_url.s);
@@ -1780,4 +1788,37 @@ static int fixup_update_watchers(void** param, int param_no)
 		return fixup_spve_null(param, 1);
 	}
 	return 0;
+
+}
+
+void rpc_presence_cleanup(rpc_t* rpc, void* c)
+{
+	LM_DBG("rpc_presence_cleanup:start\n");
+
+	(void) msg_watchers_clean(0,0);
+	(void) msg_presentity_clean(0,0);
+	(void) timer_db_update(0,0);
+		
+	rpc->printf(c, "Reload OK");
+	return;
+}
+
+static const char* rpc_presence_cleanup_doc[2] = {
+	"Manually triggers the cleanup functions for the active_watchers, presentity, and watchers tables.",
+	0
+};
+
+rpc_export_t presence_rpc[] = {
+	{"presence.cleanup", rpc_presence_cleanup, rpc_presence_cleanup_doc, 0},
+	{0, 0, 0, 0}
+};
+
+static int presence_init_rpc(void)
+{
+	if (rpc_register_array(presence_rpc)!=0)
+	{
+		LM_ERR("failed to register RPC commands\n");
+		return -1;
+	}
+	return 0;
 }

+ 40 - 3
modules/pv/README

@@ -14,6 +14,8 @@ Daniel-Constantin Mierla
    Copyright © 2008-2011 Daniel-Constantin Mierla (asipto.com)
 
    Copyright © 2011 Juha Heinanen
+
+   Copyright © 2013 Olle E. Johansson, Edvina AB
      __________________________________________________________________
 
    Table of Contents
@@ -45,6 +47,11 @@ Daniel-Constantin Mierla
               5.1. shv_set
               5.2. shv_get
 
+        6. RPC Commands
+
+              6.1. pv.shvSet
+              6.2. pv.shvGet
+
    List of Examples
 
    1.1. shvset parameter usage
@@ -87,6 +94,11 @@ Chapter 1. Admin Guide
         5.1. shv_set
         5.2. shv_get
 
+   6. RPC Commands
+
+        6.1. pv.shvSet
+        6.2. pv.shvGet
+
 1. Overview
 
    This module collects the core pseudo-variables that can be used in
@@ -207,7 +219,7 @@ if(pv_isset("$avp("s:x")"))
 pv_unset("$avp("s:x")");
 ...
 
-4.3. is_int(pvar)
+4.3.  is_int(pvar)
 
    Function checks if pvar argument contains integer value and returns 1
    if it does and -1 otherwise.
@@ -221,7 +233,7 @@ if (is_int("$var(foo)")) {
 }
 ...
 
-4.4. typeof(pvar, vtype)
+4.4.  typeof(pvar, vtype)
 
    Returns true if the type of pseudo-variable matches the second
    parameter. The second parameter can be: 'int' - type is integer; 'str'
@@ -236,7 +248,7 @@ if (typeof("$var(foo)", "str")) {
 }
 ...
 
-4.5. not_empty(pvar)
+4.5.  not_empty(pvar)
 
    Returns true if the pseudo-variables has the type string and is not
    empty value.
@@ -296,3 +308,28 @@ $ kamctl fifo shv_set debug int 0
 $ kamctl fifo shv_get debug
 $ kamctl fifo shv_get
 ...
+
+6. RPC Commands
+
+   6.1. pv.shvSet
+   6.2. pv.shvGet
+
+6.1. pv.shvSet
+
+   Set the value of a shared variable ($shv(name)).
+
+   Parameters:
+     * _name_: shared variable name
+     * _type_: type of the value
+          + "int": integer value
+          + "str": string value
+     * _value_: value to be set
+
+6.2. pv.shvGet
+
+   Get the value of a shared variable ($shv(name)).
+
+   Parameters:
+     * _name_: shared variable name
+
+   If no name is given, all shared variables are listed

+ 4 - 0
modules/pv/doc/pv.xml

@@ -38,6 +38,10 @@
 	    <year>2011</year>
 	    <holder>Juha Heinanen</holder>
 	</copyright>
+	<copyright>
+	    <year>2013</year>
+	    <holder>Olle E. Johansson, Edvina AB</holder>
+	</copyright>
     </bookinfo>
     <toc></toc>
     

+ 34 - 0
modules/pv/doc/pv_admin.xml

@@ -336,5 +336,39 @@ $ &ctltool; fifo shv_get
 			</example>
 		</section>
 	</section>
+	<section>
+        <title>RPC Commands</title>
+		<section>
+			<title><function moreinfo="none">pv.shvSet</function></title>
+			<para>
+				Set the value of a shared variable ($shv(name)).
+			</para>
+		<para>Parameters:</para>
+		<itemizedlist>
+			<listitem><para>_name_: shared variable name</para></listitem>
+			
+			<listitem><para>_type_: type of the value</para>
+			      <itemizedlist>
+	    <listitem><para> <quote>int</quote>: integer value </para></listitem> 
+		<listitem><para> <quote>str</quote>: string value </para></listitem>	
+				  </itemizedlist>
+			</listitem>	  
+
+			<listitem><para>_value_: value to be set</para></listitem>
+		</itemizedlist>
+		</section>
+		<section>
+			<title><function moreinfo="none">pv.shvGet</function></title>
+			<para>
+				Get the value of a shared variable ($shv(name)).
+			</para>
+		<para>Parameters:</para>
+		<itemizedlist>
+			<listitem><para>_name_: shared variable name</para></listitem>
+		</itemizedlist>
+		<para>If no name is given, all shared variables are listed</para>
+		</section>
+	</section>
+	
 </chapter>
 

+ 40 - 5
modules/pv/pv.c

@@ -28,6 +28,9 @@
 #include "../../pvar.h"
 #include "../../mod_fix.h"
 #include "../../lib/kmi/mi.h"
+#include "../../rpc.h"
+#include "../../rpc_lookup.h"
+
 
 #include "pv_branch.h"
 #include "pv_core.h"
@@ -94,7 +97,7 @@ static pv_export_t mod_pvs[] = {
 		pv_set_scriptvar, pv_parse_scriptvar_name, 0, 0, 0},
 	{{"ai", (sizeof("ai")-1)}, /* */
 		PVT_OTHER, pv_get_pai, 0,
-		0, 0, 0, 0},
+		0, pv_parse_index, 0, 0},
 	{{"adu", (sizeof("adu")-1)}, /* auth digest uri */
 		PVT_OTHER, pv_get_authattr, 0,
 		0, 0, pv_init_iname, 3},
@@ -259,10 +262,10 @@ static pv_export_t mod_pvs[] = {
 		0, 0, pv_init_iname, 1},
 	{{"pd", (sizeof("pd")-1)}, /* */
 		PVT_OTHER, pv_get_ppi_attr, 0,
-		0, 0, pv_init_iname, 3},
+		0, pv_parse_index, pv_init_iname, 3},
 	{{"pn", (sizeof("pn")-1)}, /* */
 		PVT_OTHER, pv_get_ppi_attr, 0,
-		0, 0, pv_init_iname, 4},
+		0, pv_parse_index, pv_init_iname, 4},
 	{{"pp", (sizeof("pp")-1)}, /* */
 		PVT_OTHER, pv_get_pid, 0,
 		0, 0, 0, 0},
@@ -274,10 +277,10 @@ static pv_export_t mod_pvs[] = {
 		0, 0, 0, 0},
 	{{"pu", (sizeof("pu")-1)}, /* */
 		PVT_OTHER, pv_get_ppi_attr, 0,
-		0, 0, pv_init_iname, 1},
+		0, pv_parse_index, pv_init_iname, 1},
 	{{"pU", (sizeof("pU")-1)}, /* */
 		PVT_OTHER, pv_get_ppi_attr, 0,
-		0, 0, pv_init_iname, 2},
+		0, pv_parse_index, pv_init_iname, 2},
 	{{"rb", (sizeof("rb")-1)}, /* */
 		PVT_MSG_BODY, pv_get_msg_body, 0,
 		0, 0, 0, 0},
@@ -448,6 +451,7 @@ static int pv_unset(struct sip_msg* msg, char* pvid, char *foo);
 static int is_int(struct sip_msg* msg, char* pvar, char* s2);
 static int pv_typeof(sip_msg_t *msg, char *pv, char *t);
 static int pv_not_empty(sip_msg_t *msg, char *pv, char *s2);
+static int pv_init_rpc(void);
 
 static cmd_export_t cmds[]={
 	{"pv_isset",  (cmd_function)pv_isset,  1, fixup_pvar_null, 0, 
@@ -495,6 +499,11 @@ static int mod_init(void)
 		LM_ERR("failed to register MI commands\n");
 		return -1;
 	}
+	if(pv_init_rpc()!=0)
+        {
+                LM_ERR("failed to register RPC commands\n");
+                return -1;
+        }
 
 	return 0;
 }
@@ -629,3 +638,29 @@ static int is_int(struct sip_msg* msg, char* pvar, char* s2)
 
 	return -1;
 }
+
+static const char* rpc_shv_set_doc[2] = {
+	"Set a shared variable (args: name type value)",
+	0
+};
+
+static const char* rpc_shv_get_doc[2] = {
+	"Get the value of a shared variable. If no argument, dumps all",
+	0
+};
+
+rpc_export_t pv_rpc[] = {
+	{"pv.shvSet", rpc_shv_set, rpc_shv_set_doc, 0},
+	{"pv.shvGet", rpc_shv_get, rpc_shv_get_doc, 0},
+	{0, 0, 0, 0}
+};
+
+static int pv_init_rpc(void)
+{
+	if (rpc_register_array(pv_rpc)!=0)
+	{
+		LM_ERR("failed to register RPC commands\n");
+		return -1;
+	}
+	return 0;
+}

+ 114 - 28
modules/pv/pv_core.c

@@ -40,8 +40,7 @@
 #include "../../parser/parse_refer_to.h"
 #include "../../parser/parse_rpid.h"
 #include "../../parser/parse_diversion.h"
-#include "../../lib/kcore/parse_ppi.h"
-#include "../../lib/kcore/parse_pai.h"
+#include "../../parser/parse_ppi_pai.h"
 #include "../../parser/digest/digest.h"
 
 #include "pv_core.h"
@@ -865,38 +864,84 @@ int pv_get_rpid(struct sip_msg *msg, pv_param_t *param,
 int pv_get_ppi_attr(struct sip_msg *msg, pv_param_t *param,
 		pv_value_t *res)
 {
+    int idxf;
+    int idx;
     struct sip_uri *uri;
-    
-    if(msg==NULL)
-	return -1;
+    p_id_body_t *ppi_body = NULL;
+	to_body_t *ppi_uri = NULL;
+	int i, cur_id;
 
-    if(parse_ppi_header(msg) < 0) {
-	LM_DBG("no P-Preferred-Identity header\n");
-	return pv_get_null(msg, param, res);
-    }
-	
-    if(msg->ppi == NULL || get_ppi(msg) == NULL) {
-	       LM_DBG("no P-Preferred-Identity header\n");
+    if(msg==NULL)
+		return -1;
+    
+	if(parse_ppi_header(msg) < 0)
+    {
+		LM_DBG("no P-Preferred-Identity header\n");
 		return pv_get_null(msg, param, res);
     }
-    
+
+    if (pv_get_spec_index(msg, param, &idx, &idxf) != 0)
+    {
+    	LM_ERR("Invalid index\n");
+		return -1;
+    }
+
+    if (idxf == PV_IDX_ALL)
+	{
+		LM_ERR("Unable to return 'all' PPI values\n");
+		return -1;
+	}
+
+	ppi_body = get_ppi(msg);
+	ppi_uri = &ppi_body->id[0];
+	cur_id = 0;
+	i = 0;
+	while (i < idx)
+	{
+		cur_id++;
+		if (cur_id < ppi_body->num_ids)
+		{
+			ppi_uri = &ppi_body->id[cur_id];
+			i++;
+		}
+		else if (ppi_body->next != NULL)
+		{
+			ppi_body = ppi_body->next;
+			ppi_uri = &ppi_body->id[0];
+			cur_id = 0;
+			i++;
+		}
+		else
+		{
+			/* No more PPIs */
+			return pv_get_null(msg, param, res);
+		}
+
+	}
+	/* Found the ID at index 'idx' */
+
     if(param->pvn.u.isname.name.n == 1) { /* uri */
-		return pv_get_strval(msg, param, res, &(get_ppi(msg)->uri));
+		return pv_get_strval(msg, param, res, &(ppi_uri->uri));
     }
 	
     if(param->pvn.u.isname.name.n==4) { /* display name */
-		if(get_ppi(msg)->display.s == NULL ||
-				get_ppi(msg)->display.len <= 0) {
+		if(ppi_uri->display.s == NULL ||
+				ppi_uri->display.len <= 0) {
 		    LM_DBG("no P-Preferred-Identity display name\n");
 			return pv_get_null(msg, param, res);
 		}
-		return pv_get_strval(msg, param, res, &(get_ppi(msg)->display));
+		return pv_get_strval(msg, param, res, &(ppi_uri->display));
     }
 
-    if((uri=parse_ppi_uri(msg))==NULL) {
-		LM_ERR("cannot parse P-Preferred-Identity URI\n");
-		return pv_get_null(msg, param, res);
-    }
+	uri = &ppi_uri->parsed_uri;
+	if (uri->host.s == NULL && uri->user.s == NULL)
+	{
+		if (parse_uri(ppi_uri->uri.s, ppi_uri->uri.len, uri) < 0)
+		{
+			LM_ERR("cannot parse P-Preferred-Identity URI\n");
+			return pv_get_null(msg, param, res);
+		}
+	}
 
     if(param->pvn.u.isname.name.n==2) { /* username */
 		if(uri->user.s==NULL || uri->user.len<=0) {
@@ -920,21 +965,62 @@ int pv_get_ppi_attr(struct sip_msg *msg, pv_param_t *param,
 int pv_get_pai(struct sip_msg *msg, pv_param_t *param,
 		pv_value_t *res)
 {
+    int idxf;
+    int idx;
+    p_id_body_t *pai_body = NULL;
+	to_body_t *pai_uri = NULL;
+	int i, cur_id;
+
     if(msg==NULL)
 		return -1;
     
-    if(parse_pai_header(msg)==-1)
+	if(parse_pai_header(msg) < 0)
     {
 		LM_DBG("no P-Asserted-Identity header\n");
 		return pv_get_null(msg, param, res);
     }
-	
-    if(msg->pai==NULL || get_pai(msg)==NULL) {
-		LM_DBG("no P-Asserted-Identity header\n");
-		return pv_get_null(msg, param, res);
+
+    if (pv_get_spec_index(msg, param, &idx, &idxf) != 0)
+    {
+    	LM_ERR("Invalid index\n");
+		return -1;
     }
-    
-	return pv_get_strval(msg, param, res, &(get_pai(msg)->uri));
+
+    if (idxf == PV_IDX_ALL)
+	{
+		LM_ERR("Unable to return 'all' PAI values\n");
+		return -1;
+	}
+
+	pai_body = get_pai(msg);
+	pai_uri = &pai_body->id[0];
+	cur_id = 0;
+	i = 0;
+	while (i < idx)
+	{
+		cur_id++;
+		if (cur_id < pai_body->num_ids)
+		{
+			pai_uri = &pai_body->id[cur_id];
+			i++;
+		}
+		else if (pai_body->next != NULL)
+		{
+			pai_body = pai_body->next;
+			pai_uri = &pai_body->id[0];
+			cur_id = 0;
+			i++;
+		}
+		else
+		{
+			/* No more PAIs */
+			return pv_get_null(msg, param, res);
+		}
+
+	}
+	/* Found the ID at index 'idx' */
+
+	return pv_get_strval(msg, param, res, &(pai_uri->uri));
 }
 
 /* proto of received message: $pr or $proto*/

+ 147 - 0
modules/pv/pv_shv.c

@@ -2,6 +2,7 @@
  * $Id$
  *
  * Copyright (C) 2007 Elena-Ramona Modroiu
+ * Copyright (C) 2013 Olle E. Johansson
  *
  * This file is part of Kamailio, a free SIP server.
  *
@@ -615,6 +616,152 @@ error:
 	return NULL;
 }
 
+
+void rpc_shv_get(rpc_t* rpc, void* c)
+{
+	str varname;
+	int allvars = 0;
+	sh_var_t *shv = NULL;
+	void* th;
+        void* ih;
+        void* vh;
+
+	if (rpc->scan(c, "S", &varname) != 1) {
+		allvars = 1;
+        }
+
+	if (!allvars) {
+		/* Get one variable value */
+		shv = get_shvar_by_name(&varname);
+		if(shv==NULL) {
+			rpc->fault(c, 404, "Variable not found");
+			return;
+		}
+		if (rpc->add(c, "{",  &ih) < 0)
+        	{
+               		rpc->fault(c, 500, "Internal error creating rpc");
+                	return;
+        	}
+		
+		lock_shvar(shv);
+		if(shv->v.flags&VAR_VAL_STR)
+		{
+			if(rpc->struct_add(ih, "sss", "name", varname.s, "type", "string", "value", shv->v.value.s.s) < 0)
+			{
+				rpc->fault(c, 500, "Internal error creating rpc data (str)");
+				unlock_shvar(shv);
+				return;
+			}
+		} else {
+			if(rpc->struct_add(ih, "ssd", "name", varname.s, "type", "int", "value", shv->v.value.n) < 0)
+			{
+				rpc->fault(c, 500, "Internal error creating rpc data (int)");
+				unlock_shvar(shv);
+				return;
+			}
+		}
+		unlock_shvar(shv);
+
+		return;
+	}
+	if (rpc->add(c, "{", &th) < 0)
+       	{
+         	rpc->fault(c, 500, "Internal error creating rpc");
+               	return;
+       	}
+
+	if(rpc->struct_add(th, "{", "items", &ih) < 0)
+               {
+                         rpc->fault(c, 500, "Internal error creating rpc th");
+                         return;
+               }
+
+	for(shv=sh_vars; shv; shv=shv->next)
+	{
+		lock_shvar(shv);
+		if(rpc->struct_add(ih, "{", "shv", &vh) < 0)
+               {
+                         rpc->fault(c, 500, "Internal error creating rpc th");
+                         return;
+               }
+		if(shv->v.flags&VAR_VAL_STR)
+		{
+			if(rpc->struct_add(vh, "sss", "name", shv->name.s, "type", "string", "value", shv->v.value.s.s) < 0)
+			{
+				rpc->fault(c, 500, "Internal error creating rpc data");
+				unlock_shvar(shv);
+				return;
+			}
+		} else {
+			if(rpc->struct_add(vh, "ssd", "name", shv->name.s, "type", "int", "value", shv->v.value.n) < 0)
+			{
+				rpc->fault(c, 500, "Internal error creating rpc data");
+				unlock_shvar(shv);
+				return;
+			}
+		}
+		unlock_shvar(shv);
+	}
+
+	return ;
+}
+
+void rpc_shv_set(rpc_t* rpc, void* c)
+{
+	str varname, type, value;
+	int ival = 0;
+	int_str isv;
+	sh_var_t *shv = NULL;
+	int flags = 0;
+	LM_DBG("Entering SHV_set\n");
+
+	if (rpc->scan(c, "S", &varname) != 1) {
+		rpc->fault(c, 500, "Missing parameter varname (Parameters: varname type value)");
+		return;
+        }
+	LM_DBG("SHV_set Varname %.*s \n", varname.len, varname.s);
+	if (rpc->scan(c, "S", &type) != 1) {
+		rpc->fault(c, 500, "Missing parameter type (Parameters: varname type value)");
+		return;
+        }
+	if (strcasecmp(type.s, "int") == 0 ) {
+		if (rpc->scan(c, "d", &ival) != 1) {
+			rpc->fault(c, 500, "Missing integer parameter value (Parameters: varname type value)");
+			return;
+        	}
+		isv.n = ival;
+	} else  if (strcasecmp(type.s, "str") == 0 ) {
+		/* String value */
+		if (rpc->scan(c, "S", &value) != 1) {
+			rpc->fault(c, 500, "Missing parameter value (Parameters: varname type value)");
+			return;
+        	}
+		isv.s = value;
+		flags = VAR_VAL_STR;
+	} else {
+		rpc->fault(c, 500, "Unknown parameter type (Types: int or str)");
+		return;
+	}
+
+	shv = get_shvar_by_name(&varname);
+	if(shv==NULL) {
+		rpc->fault(c, 404, "Variable not found");
+		return;
+	}
+		
+	lock_shvar(shv);
+	if(set_shvar_value(shv, &isv, flags)==NULL)
+	{
+		rpc->fault(c, 500, "Cannot set shared variable value");
+		LM_ERR("cannot set shv value\n");
+	} else {
+		rpc->printf(c, "Ok. Variable set to new value.");
+	}
+
+	unlock_shvar(shv);
+	return;
+}
+
 int param_set_xvar( modparam_t type, void* val, int mode)
 {
 	str s;

+ 3 - 0
modules/pv/pv_shv.h

@@ -69,5 +69,8 @@ struct mi_root* mi_shvar_set(struct mi_root* cmd_tree, void* param);
 int param_set_var( modparam_t type, void* val);
 int param_set_shvar( modparam_t type, void* val);
 
+void rpc_shv_get(rpc_t* rpc, void* c);
+void rpc_shv_set(rpc_t* rpc, void* c);
+
 #endif
 

+ 15 - 0
modules/registrar/api.c

@@ -108,6 +108,20 @@ int regapi_registered(struct sip_msg *msg, char *table)
 	return registered(msg, d, NULL);
 }
 
+/**
+ *
+ */
+int regapi_set_q_override(struct sip_msg *msg, str *new_q)
+{
+	int _q;
+	if (str2q(&_q, new_q->s, new_q->len) < 0)
+	{
+		LM_ERR("invalid q parameter\n");
+		return -1;
+	}
+	return set_q_override(msg, _q);
+}
+
 /**
  *
  */
@@ -122,6 +136,7 @@ int bind_registrar(registrar_api_t* api)
 	api->lookup     = regapi_lookup;
 	api->lookup_uri = regapi_lookup_uri;
 	api->registered = regapi_registered;
+	api->set_q_override = regapi_set_q_override;
 
 	return 0;
 }

+ 4 - 0
modules/registrar/api.h

@@ -43,6 +43,9 @@ int regapi_lookup(struct sip_msg *msg, char *table);
 typedef int (*regapi_lookup_uri_f)(struct sip_msg *msg, char *table, str *uri);
 int regapi_lookup_uri(struct sip_msg *msg, char *table, str *uri);
 
+typedef int (*regapi_set_q_override_f)(struct sip_msg *msg, str *new_q);
+int regapi_set_q_override(struct sip_msg *msg, str *new_q);
+
 /**
  * @brief REGISTRAR API structure
  */
@@ -52,6 +55,7 @@ typedef struct registrar_api {
 	regapi_lookup_f     lookup;
 	regapi_lookup_uri_f lookup_uri;
 	regapi_lookup_f     registered;
+	regapi_set_q_override_f set_q_override;
 } registrar_api_t;
 
 typedef int (*bind_registrar_f)(registrar_api_t* api);

+ 21 - 1
modules/registrar/save.c

@@ -81,6 +81,9 @@ static int mem_only = 0;
 
 extern sruid_t _reg_sruid;
 
+static int q_override_msg_id;
+static qvalue_t q_override_value;
+
 /*! \brief
  * Process request that contained a star, in that case, 
  * we will remove all bindings with the given username 
@@ -308,7 +311,11 @@ static inline ucontact_info_t* pack_ci( struct sip_msg* _m, contact_t* _c,
 			ci.c = &_c->uri;
 
 		/* Calculate q value of the contact */
-		if (calc_contact_q(_c->q, &ci.q) < 0) {
+		if (m && m->id == q_override_msg_id)
+		{
+			ci.q = q_override_value;
+		}
+		else if (calc_contact_q(_c->q, &ci.q) < 0) {
 			rerrno = R_INV_Q;
 			LM_ERR("failed to calculate q\n");
 			goto error;
@@ -914,3 +921,16 @@ int unregister(struct sip_msg* _m, udomain_t* _d, str* _uri)
 	return 1;
 }
 
+int set_q_override(struct sip_msg* _m, int _q)
+{
+	if ((_q < 0) || (_q > 1000))
+	{
+		LM_ERR("Invalid q value\n");
+		return -1;
+	}
+	q_override_msg_id = _m->id;
+	q_override_value = _q;
+	return 1;
+}
+
+

+ 1 - 0
modules/registrar/save.h

@@ -48,6 +48,7 @@
  */
 int save(struct sip_msg* _m, udomain_t* _d, int _cflags, str* _uri);
 int unregister(struct sip_msg* _m, udomain_t* _d, str* _uri);
+int set_q_override(struct sip_msg* _m, int _q);
 
 
 #endif /* SAVE_H */

+ 16 - 4
modules/rtpproxy/rtpproxy.c

@@ -411,7 +411,7 @@ static cmd_export_t cmds[] = {
 		fixup_spve_null, fixup_free_spve_null,
 		ANY_ROUTE},
 	{"rtpproxy_manage",	(cmd_function)rtpproxy_manage2,     2,
-		fixup_spve_str, fixup_free_spve_str,
+		fixup_spve_spve, fixup_free_spve_spve,
 		ANY_ROUTE},
 	{0, 0, 0, 0, 0, 0}
 };
@@ -2037,7 +2037,11 @@ static int
 rtpproxy_manage1(struct sip_msg *msg, char *flags, char *ip)
 {
 	str flag_str;
-	fixup_get_svalue(msg, (gparam_p)flags, &flag_str);
+	if(fixup_get_svalue(msg, (gparam_p)flags, &flag_str)<0)
+	{
+		LM_ERR("invalid flags parameter\n");
+		return -1;
+	}
 	return rtpproxy_manage(msg, flag_str.s, 0);
 }
 
@@ -2046,8 +2050,16 @@ rtpproxy_manage2(struct sip_msg *msg, char *flags, char *ip)
 {
 	str flag_str;
 	str ip_str;
-	fixup_get_svalue(msg, (gparam_p)flags, &flag_str);
-	fixup_get_svalue(msg, (gparam_p)ip, &ip_str);
+	if(fixup_get_svalue(msg, (gparam_p)flags, &flag_str)<0)
+	{
+		LM_ERR("invalid flags parameter\n");
+		return -1;
+	}
+	if(fixup_get_svalue(msg, (gparam_p)ip, &ip_str)<0)
+	{
+		LM_ERR("invalid IP parameter\n");
+		return -1;
+	}
 	return rtpproxy_manage(msg, flag_str.s, ip_str.s);
 }
 

+ 39 - 6
modules/sca/sca_appearance.c

@@ -347,11 +347,12 @@ done:
 
     sca_appearance *
 sca_appearance_seize_index_unsafe( sca_mod *scam, str *aor, str *owner_uri,
-	int app_idx, int slot_idx )
+	int app_idx, int slot_idx, int *seize_error )
 {
     sca_appearance_list	*app_list;
     sca_appearance	*app = NULL;
     sca_hash_slot	*slot;
+    int			error = SCA_APPEARANCE_ERR_UNKNOWN;
 
     slot = sca_hash_table_slot_for_index( scam->appearances, slot_idx );
 
@@ -368,9 +369,8 @@ sca_appearance_seize_index_unsafe( sca_mod *scam, str *aor, str *owner_uri,
 	}
     }
     if ( app != NULL && app->index == app_idx ) {
-	LM_ERR( "sca_appearance_seize_index_unsafe: tried to seize in-use "
-		"%.*s appearance-index %d for %.*s", STR_FMT( aor ),
-		app_idx, STR_FMT( owner_uri ));
+	/* attempt to seize in-use appearance-index */
+	error = SCA_APPEARANCE_ERR_INDEX_UNAVAILABLE;
 	app = NULL;
 	goto done;
     }
@@ -379,16 +379,49 @@ sca_appearance_seize_index_unsafe( sca_mod *scam, str *aor, str *owner_uri,
     if ( app == NULL ) {
         LM_ERR( "Failed to create new appearance for %.*s at index %d",
                 STR_FMT( owner_uri ), app_idx );
+	error = SCA_APPEARANCE_ERR_MALLOC;
         goto done;
     }
     app->state = SCA_APPEARANCE_STATE_SEIZED;
 
     sca_appearance_list_insert_appearance( app_list, app );
 
+    error = SCA_APPEARANCE_OK;
+
 done:
+    if ( seize_error ) {
+	*seize_error = error;
+    }
+
     return( app );
 }
 
+    int
+sca_appearance_seize_index( sca_mod *scam, str *aor, int idx, str *owner_uri )
+{
+    sca_appearance	*app;
+    int			slot_idx;
+    int			app_idx = -1;
+    int			error = SCA_APPEARANCE_OK;
+
+    slot_idx = sca_hash_table_index_for_key( scam->appearances, aor );
+    sca_hash_table_lock_index( scam->appearances, slot_idx );
+
+    app = sca_appearance_seize_index_unsafe( scam, aor, owner_uri,
+						idx, slot_idx, &error );
+    if ( app != NULL ) {
+	app_idx = app->index;
+    }
+
+    sca_hash_table_unlock_index( scam->appearances, slot_idx );
+
+    if ( error == SCA_APPEARANCE_ERR_INDEX_UNAVAILABLE ) {
+	app_idx = SCA_APPEARANCE_INDEX_UNAVAILABLE;
+    }
+
+    return( app_idx );
+}
+
     sca_appearance *
 sca_appearance_seize_next_available_unsafe( sca_mod *scam, str *aor,
 	str *owner_uri, int slot_idx )
@@ -856,7 +889,7 @@ sca_appearance_update_index( sca_mod *scam, str *aor, int idx,
     if ( app == NULL ) {
 	LM_WARN( "Cannot update %.*s index %d to %.*s: index %d not in use",
 		 STR_FMT( aor ), idx, STR_FMT( &state_str ), idx );
-	rc = SCA_APPEARANCE_ERR_INVALID_INDEX;
+	rc = SCA_APPEARANCE_ERR_INDEX_INVALID;
 	goto done;
     }
 
@@ -974,7 +1007,7 @@ sca_appearance_release_index( sca_mod *scam, str *aor, int idx )
     if ( app == NULL ) {
 	LM_ERR( "Failed to unlink %.*s appearance-index %d: invalid index",
 		STR_FMT( aor ), idx );
-	rc = SCA_APPEARANCE_ERR_INVALID_INDEX;
+	rc = SCA_APPEARANCE_ERR_INDEX_INVALID;
 	goto done;
     }
     sca_appearance_free( app );

+ 7 - 3
modules/sca/sca_appearance.h

@@ -48,10 +48,13 @@ enum {
 enum {
     SCA_APPEARANCE_OK = 0,
     SCA_APPEARANCE_ERR_NOT_IN_USE = 0x1001,
-    SCA_APPEARANCE_ERR_INVALID_INDEX = 0x1002,
-    SCA_APPEARANCE_ERR_MALLOC = 0x1004,
+    SCA_APPEARANCE_ERR_INDEX_INVALID = 0x1002,
+    SCA_APPEARANCE_ERR_INDEX_UNAVAILABLE = 0x1004,
+    SCA_APPEARANCE_ERR_MALLOC = 0x1008,
     SCA_APPEARANCE_ERR_UNKNOWN = 0x1f00,
 };
+#define SCA_APPEARANCE_INDEX_UNAVAILABLE	-2
+
 
 extern const str SCA_APPEARANCE_INDEX_STR;
 extern const str SCA_APPEARANCE_STATE_STR;
@@ -98,7 +101,8 @@ void	sca_appearance_state_to_str( int, str * );
 int	sca_appearance_state_from_str( str * );
 
 sca_appearance 	*sca_appearance_seize_index_unsafe( sca_mod *, str *, str *,
-								int, int );
+							int, int, int * );
+int	sca_appearance_seize_index( sca_mod *, str *, int, str * );
 int	sca_appearance_seize_next_available_index( sca_mod *, str *, str * );
 sca_appearance 	*sca_appearance_seize_next_available_unsafe( sca_mod *, str *,
 							     str *, int );

+ 18 - 2
modules/sca/sca_call_info.c

@@ -31,6 +31,7 @@
 #include "sca_dialog.h"
 #include "sca_event.h"
 #include "sca_notify.h"
+#include "sca_reply.h"
 #include "sca_subscribe.h"
 #include "sca_util.h"
 
@@ -564,6 +565,19 @@ sca_call_info_seize_held_call( sip_msg_t *msg, sca_call_info *call_info,
 	goto done;
     }
 
+    if ( app->state == SCA_APPEARANCE_STATE_HELD_PRIVATE ) {
+	/*
+	 * spec calls for "403 Forbidden" when non-owner tries to
+	 * seize a privately held call. if we get here, there's no
+	 * to-tag in the INVITE, meaning this isn't a reINVITE
+	 * from the owner to take the call off private hold.
+	 */
+	SCA_REPLY_ERROR( sca, 403, "Forbidden - private call", msg );
+
+	/* rc bubbles up to script. 0 tells script to stop processing. */
+	rc = 0;
+	goto done;
+    }
     
     LM_DBG( "sca_call_info_seize_held_call: seizing %.*s index %d, callee %.*s",
 	    STR_FMT( from_aor ), app->index, STR_FMT( &app->callee ));
@@ -777,7 +791,7 @@ sca_call_info_uri_update( str *aor, sca_call_info *call_info,
 	rc = 1;
     } else {
 	app = sca_appearance_seize_index_unsafe( sca, aor, contact_uri,
-						call_info->index, slot_idx );
+					    call_info->index, slot_idx, NULL );
 	if ( app == NULL ) {
 	    LM_ERR( "sca_call_info_uri_update: failed to seize index %d "
 		    "for %.*s", call_info->index, STR_FMT( contact_uri ));
@@ -975,10 +989,12 @@ sca_call_info_invite_request_handler( sip_msg_t *msg, sca_call_info *call_info,
 					    from, to, from_aor, to_aor )) {
 	rc = sca_call_info_seize_held_call( msg, call_info, from, to,
 					   from_aor, to_aor, contact_uri );
+	if ( rc <= 0 ) {
+	    goto done;
+	}
     }
     /* otherwise, this is an initial INVITE */
 
-
     dialog.id.s = dlg_buf;
     if ( sca_dialog_build_from_tags( &dialog, sizeof( dlg_buf ),
 	    &msg->callid->body, &from->tag_value, &to->tag_value ) < 0 ) {

+ 8 - 37
modules/sca/sca_reply.c

@@ -31,52 +31,23 @@
 
     int
 sca_reply( sca_mod *scam, int status_code, char *status_msg,
-	int event_type, int expires, sip_msg_t *msg )
+	str *extra_headers, sip_msg_t *msg )
 {
     str		status_str = STR_NULL;
-    str		extra_headers = STR_NULL;
-    char	hdr_buf[ 1024 ];
-    int		len;
 
     assert( scam != NULL && scam->sl_api != NULL );
     assert( msg != NULL );
 
-    if ( event_type != SCA_EVENT_TYPE_CALL_INFO &&
-		event_type != SCA_EVENT_TYPE_LINE_SEIZE ) {
-	LM_ERR( "Unrecognized event type %d", event_type );
-	return( -1 );
-    }
-
     status_str.s = status_msg;
     status_str.len = strlen( status_msg );
 
-    if ( status_code < 300 ) {
-	/* Add Event, Contact, Allow-Events and Expires headers */
-	extra_headers.s = hdr_buf;
-	len = snprintf( extra_headers.s, sizeof( hdr_buf ),
-		"Event: %s%s", sca_event_name_from_type( event_type ), CRLF );
-	extra_headers.len = len;
-
-	SCA_STR_APPEND_CSTR( &extra_headers, "Contact: " );
-	SCA_STR_APPEND( &extra_headers, &REQ_LINE( msg ).uri );
-	SCA_STR_APPEND_CSTR( &extra_headers, CRLF );
-
-	SCA_STR_COPY_CSTR( &extra_headers,
-		"Allow-Events: call-info, line-seize" CRLF );
-
-	SCA_STR_COPY_CSTR( &extra_headers, "Expires: " );
-
-	len = snprintf( extra_headers.s + extra_headers.len,
-		  sizeof( hdr_buf ) - extra_headers.len,
-		  "%d%s", expires, CRLF );
-	extra_headers.len += len;
-
-	if ( add_lump_rpl( msg, extra_headers.s, extra_headers.len,
-			   LUMP_RPL_HDR ) == NULL ) {
-	    LM_ERR( "Failed to add Allow-Events and Expires headers" );
-	    return( -1 );
-	}
-   }
+    if ( extra_headers && extra_headers->len ) {
+        if ( add_lump_rpl( msg, extra_headers->s, extra_headers->len,
+                        LUMP_RPL_HDR ) == NULL ) {
+            LM_ERR("sca_subscription_reply: failed to add Retry-After header");
+            return( -1 );
+        }
+    }
 
     if ( scam->sl_api->freply( msg, status_code, &status_str ) < 0 ) {
 	LM_ERR( "Failed to send \"%d %s\" reply to %.*s",

+ 2 - 3
modules/sca/sca_reply.h

@@ -28,9 +28,8 @@
 #include "sca.h"
 
 #define SCA_REPLY_ERROR( mod, scode, smsg, sreply ) \
-	sca_reply((mod), (scode), (smsg), SCA_EVENT_TYPE_CALL_INFO, -1, \
-		(sreply))
+	sca_reply((mod), (scode), (smsg), NULL, (sreply))
 
-int	sca_reply( sca_mod *, int, char *, int, int, sip_msg_t * );
+int	sca_reply( sca_mod *, int, char *, str *, sip_msg_t * );
 
 #endif /* SCA_REPLY_H */

+ 106 - 38
modules/sca/sca_subscribe.c

@@ -1096,7 +1096,7 @@ sca_handle_subscribe( sip_msg_t *msg, char *p1, char *p2 )
     sca_subscription	req_sub;
     sca_subscription	*sub = NULL;
     sca_call_info	call_info;
-    hdr_field_t		*call_info_hdr;
+    hdr_field_t		*call_info_hdr = NULL;
     str			sub_key = STR_NULL;
     str			*to_tag = NULL;
     char		*status_text;
@@ -1108,34 +1108,35 @@ sca_handle_subscribe( sip_msg_t *msg, char *p1, char *p2 )
 
     if ( parse_headers( msg, HDR_EOH_F, 0 ) < 0 ) {
 	LM_ERR( "header parsing failed: bad request" );
-	SCA_REPLY_ERROR( sca, 400, "Bad Request", msg );
+	SCA_SUB_REPLY_ERROR( sca, 400, "Bad Request", msg );
 	return( -1 );
     }
 
     if ( !STR_EQ( REQ_LINE( msg ).method, SCA_METHOD_SUBSCRIBE )) {
 	LM_ERR( "bad request method %.*s", STR_FMT( &REQ_LINE( msg ).method ));
-	SCA_REPLY_ERROR( sca, 500, "Internal server error - config", msg );
+	SCA_SUB_REPLY_ERROR( sca, 500, "Internal server error - config", msg );
 	return( -1 );
     }
 
     if ( SCA_HEADER_EMPTY( msg->event )) {
-	SCA_REPLY_ERROR( sca, 400, "Missing Event", msg );
+	SCA_SUB_REPLY_ERROR( sca, 400, "Missing Event", msg );
 	return( -1 );
     }
 
     event_type = sca_event_from_str( &msg->event->body );
     if ( event_type == SCA_EVENT_TYPE_UNKNOWN ) {
-	SCA_REPLY_ERROR( sca, 400, "Bad Event", msg );
+	SCA_SUB_REPLY_ERROR( sca, 400, "Bad Event", msg );
 	return( -1 );
     }
 
     if ( sca_subscription_from_request( sca, msg, event_type, &req_sub ) < 0 ) {
-	SCA_REPLY_ERROR( sca, 400, "Bad Shared Call Appearance Request", msg );
+	SCA_SUB_REPLY_ERROR( sca, 400,
+		"Bad Shared Call Appearance Request", msg );
 	return( -1 );
     }
     if ( sca_subscription_copy_subscription_key( &req_sub, &sub_key ) < 0 ) {
-	SCA_REPLY_ERROR( sca, 500,
-			"Internal Server Error - copy dialog id", msg );
+	SCA_SUB_REPLY_ERROR( sca, 500, "Internal Server Error - "
+			    "copy dialog id", msg );
 	goto done;
     }
     sca_subscription_print( &req_sub );
@@ -1151,6 +1152,23 @@ sca_handle_subscribe( sip_msg_t *msg, char *p1, char *p2 )
     /* pkg_malloc'd in sca_subscription_copy_subscription_key above */
     pkg_free( sub_key.s );
 
+    if ( req_sub.event == SCA_EVENT_TYPE_LINE_SEIZE ) {
+	call_info_hdr = sca_call_info_header_find( msg->headers );
+	if ( call_info_hdr ) {
+	    if ( sca_call_info_body_parse( &call_info_hdr->body,
+		    &call_info ) < 0 ) {
+		SCA_SUB_REPLY_ERROR( sca, 400, "Bad Request - "
+				"Invalid Call-Info header", msg );
+		goto done;
+	    }
+	    app_idx = call_info.index;
+	} else {
+	    SCA_SUB_REPLY_ERROR( sca, 400, "Bad Request - "
+			    "missing Call-Info header", msg );
+	    goto done;
+	}
+    }
+
     sca_hash_table_lock_index( sca->subscriptions, idx );
 
     sub = sca_hash_table_index_kv_find_unsafe( sca->subscriptions, idx,
@@ -1159,62 +1177,60 @@ sca_handle_subscribe( sip_msg_t *msg, char *p1, char *p2 )
     if ( sub != NULL ) {
 	/* this will remove the subscription if expires == 0 */
 	if ( sca_subscription_update_unsafe( sca, sub, &req_sub, idx ) < 0 ) {
-	    SCA_REPLY_ERROR( sca, 500,
-		    "Internal Server Error - update subscription", msg );
+	    SCA_SUB_REPLY_ERROR( sca, 500, "Internal Server Error - "
+				"update subscription", msg );
 	    goto done;
 	}
 
 	if ( req_sub.event == SCA_EVENT_TYPE_LINE_SEIZE ) {
-	    call_info_hdr = sca_call_info_header_find( msg->headers );
-	    if ( call_info_hdr ) {
-		if ( sca_call_info_body_parse( &call_info_hdr->body,
-			&call_info ) < 0 ) {
-		    SCA_REPLY_ERROR( sca, 400, "Bad Request - "
-				    "Invalid Call-Info header", msg );
-		    goto done;
-		}
-		app_idx = call_info.index;
-	    }
-
 	    if ( req_sub.expires == 0 ) {
 		/* release the seized appearance */
 		if ( call_info_hdr == NULL ) {
-		    SCA_REPLY_ERROR( sca, 400, "Bad Request - "
+		    SCA_SUB_REPLY_ERROR( sca, 400, "Bad Request - "
 				    "missing Call-Info header", msg );
 		    goto done;
 		}
 	
 		if ( sca_appearance_release_index( sca, &req_sub.target_aor,
 			call_info.index ) != SCA_APPEARANCE_OK ) {
-		    SCA_REPLY_ERROR( sca, 500, "Internal Server Error - "
-				    "release seized line", msg );
+		    SCA_SUB_REPLY_ERROR( sca, 500, "Internal Server Error - "
+					"release seized line", msg );
 		    goto done;
 		}
 	    } else if ( SCA_STR_EMPTY( to_tag )) {
 		/* don't seize new index if this is a line-seize reSUBSCRIBE */
-		app_idx = sca_appearance_seize_next_available_index( sca,
-				&req_sub.target_aor, &req_sub.subscriber );
-		if ( app_idx < 0 ) {
-		    SCA_REPLY_ERROR( sca, 500, "Internal Server Error - "
-					"seize appearance index", msg );
+		app_idx = sca_appearance_seize_index( sca, &req_sub.target_aor,
+				app_idx, &req_sub.subscriber );
+		if ( app_idx == SCA_APPEARANCE_INDEX_UNAVAILABLE ) {
+		    SCA_SUB_REPLY_ERROR( sca, 480,
+				"Temporarily Unavailable", msg );
+		    goto done;
+		} else if ( app_idx < 0 ) {
+		    SCA_SUB_REPLY_ERROR( sca, 500,
+			"Internal Server Error - seize appearance index", msg );
 		    goto done;
 		}
+		req_sub.index = app_idx;
 	    }
 	}
     } else {
 	/* in-dialog request, but we didn't find it. */
 	if ( !SCA_STR_EMPTY( to_tag )) {
-	    SCA_REPLY_ERROR( sca, 481,
+	    SCA_SUB_REPLY_ERROR( sca, 481,
 		    "Call Leg/Transaction Does Not Exist", msg );
 	    goto done;
 	}
 
 	if ( req_sub.expires > 0 ) {
 	    if ( req_sub.event == SCA_EVENT_TYPE_LINE_SEIZE ) {
-		app_idx = sca_appearance_seize_next_available_index( sca,
-				&req_sub.target_aor, &req_sub.subscriber );
-		if ( app_idx < 0 ) {
-		    SCA_REPLY_ERROR( sca, 500, "Internal Server Error - "
+		app_idx = sca_appearance_seize_index( sca, &req_sub.target_aor,
+				app_idx, &req_sub.subscriber );
+		if ( app_idx == SCA_APPEARANCE_INDEX_UNAVAILABLE ) {
+		    SCA_SUB_REPLY_ERROR( sca, 480,
+					"Temporarily Unavailable", msg );
+		    goto done;
+		} else if ( app_idx < 0 ) {
+		    SCA_SUB_REPLY_ERROR( sca, 500, "Internal Server Error - "
 					"seize appearance index", msg );
 		    goto done;
 		}
@@ -1223,8 +1239,8 @@ sca_handle_subscribe( sip_msg_t *msg, char *p1, char *p2 )
 
 	    if ( sca_subscription_save_unsafe( sca, &req_sub, idx,
 				SCA_SUBSCRIPTION_CREATE_OPT_DEFAULT ) < 0 ) {
-		SCA_REPLY_ERROR( sca, 500,
-			"Internal Server Error - save subscription", msg );
+		SCA_SUB_REPLY_ERROR( sca, 500, "Internal Server Error - "
+				    "save subscription", msg );
 		goto done;
 	    }
 	} else {
@@ -1239,9 +1255,9 @@ sca_handle_subscribe( sip_msg_t *msg, char *p1, char *p2 )
 
     status = sca_ok_status_for_event( event_type );
     status_text = sca_ok_text_for_event( event_type );
-    if ( sca_reply( sca, status, status_text, event_type,
+    if ( sca_subscription_reply( sca, status, status_text, event_type,
 		    req_sub.expires, msg ) < 0 ) {
-	SCA_REPLY_ERROR( sca, 500, "Internal server error", msg );
+	SCA_SUB_REPLY_ERROR( sca, 500, "Internal server error", msg );
 	goto done;
     }
 
@@ -1282,6 +1298,58 @@ done:
     return( rc );
 }
 
+    int
+sca_subscription_reply( sca_mod *scam, int status_code, char *status_msg,
+	int event_type, int expires, sip_msg_t *msg )
+{
+    str			extra_headers = STR_NULL;
+    char		hdr_buf[ 1024 ];
+    int			len;
+
+    if ( event_type != SCA_EVENT_TYPE_CALL_INFO &&
+		event_type != SCA_EVENT_TYPE_LINE_SEIZE ) {
+	LM_ERR( "sca_subscription_reply: unrecognized event type %d",
+		event_type );
+	return( -1 );
+    }
+
+    if ( status_code < 300 ) {
+	/* Add Event, Contact, Allow-Events and Expires headers */
+	extra_headers.s = hdr_buf;
+	len = snprintf( extra_headers.s, sizeof( hdr_buf ),
+		"Event: %s%s", sca_event_name_from_type( event_type ), CRLF );
+	if ( len >= sizeof( hdr_buf ) || len < 0 ) {
+	    LM_ERR( "sca_subscription_reply: extra headers too long" );
+	    return( -1 );
+	}
+	extra_headers.len = len;
+
+	SCA_STR_APPEND_CSTR( &extra_headers, "Contact: " );
+	SCA_STR_APPEND( &extra_headers, &REQ_LINE( msg ).uri );
+	SCA_STR_APPEND_CSTR( &extra_headers, CRLF );
+
+	SCA_STR_COPY_CSTR( &extra_headers,
+		"Allow-Events: call-info, line-seize" CRLF );
+
+	len = snprintf( extra_headers.s + extra_headers.len,
+		sizeof( hdr_buf ) - extra_headers.len,
+		"Expires: %d%s", expires, CRLF );
+	if ( len >= (sizeof( hdr_buf ) - extra_headers.len) || len < 0 ) {
+	    LM_ERR( "sca_subscription_reply: extra headers too long" );
+	    return( -1 );
+	}
+	extra_headers.len += len;
+    } else if ( status_code == 480 ) {
+	/* tell loser of line-seize SUBSCRIBE race to try again shortly */
+	extra_headers.s = hdr_buf;
+	len = snprintf( extra_headers.s, sizeof( hdr_buf ),
+			"Retry-After: %d%s", 1, CRLF );
+	extra_headers.len = len;
+    }
+
+    return( sca_reply( scam, status_code, status_msg, &extra_headers, msg ));
+}
+
     int
 sca_subscription_terminate( sca_mod *scam, str *aor, int event,
 	str *subscriber, int termination_state, int opts )

+ 5 - 0
modules/sca/sca_subscribe.h

@@ -74,7 +74,12 @@ extern const str 	SCA_METHOD_SUBSCRIBE;
 	((sub1)->state >= SCA_SUBSCRIPTION_STATE_TERMINATED && \
 		(sub1)->state <= SCA_SUBSCRIPTION_STATE_TERMINATED_TIMEOUT )
 
+#define SCA_SUB_REPLY_ERROR( mod, scode, smsg, sreply ) \
+        sca_subscription_reply((mod), (scode), (smsg), \
+		SCA_EVENT_TYPE_CALL_INFO, -1, (sreply))
+
 int	sca_handle_subscribe( sip_msg_t *, char *, char * );
+int	sca_subscription_reply( sca_mod *, int, char *, int, int, sip_msg_t * );
 
 int	sca_subscription_from_db_result( db1_res_t *, sca_subscription * );
 int	sca_subscriptions_restore_from_db( sca_mod * );

+ 27 - 25
modules/sipcapture/sipcapture.c

@@ -68,8 +68,7 @@
 #include "../../parser/parse_from.h"
 #include "../../parser/parse_uri.h"
 #include "../../parser/digest/digest.h"
-#include "../../lib/kcore/parse_pai.h"
-#include "../../lib/kcore/parse_ppi.h"
+#include "../../parser/parse_ppi_pai.h"
 #include "../../pvar.h"
 #include "../../str.h"
 #include "../../onsend.h"
@@ -957,7 +956,7 @@ error:
 static int sip_capture(struct sip_msg *msg, char *s1, char *s2)
 {
 	struct _sipcapture_object sco;
-	struct sip_uri from, to, pai, contact;
+	struct sip_uri from, to, contact;
 	struct hdr_field *hook1 = NULL;	 
 	hdr_field_t *tmphdr[4];       
 	contact_body_t*  cb=0;	        	        
@@ -1062,32 +1061,35 @@ static int sip_capture(struct sip_msg *msg, char *s1, char *s2)
         	EMPTY_STR(sco.to_user);
         	EMPTY_STR(sco.to_tag);
         }
-	
+
 	/* Call-id */
 	if(msg->callid) sco.callid = msg->callid->body;
 	else { EMPTY_STR(sco.callid); }
-	
+
 	/* P-Asserted-Id */
-	if(msg->pai && (parse_pai_header(msg) == 0)) {
-
-	     if (parse_uri(get_pai(msg)->uri.s, get_pai(msg)->uri.len, &pai)<0){
-             	LM_DBG("DEBUG: do_action: bad pai: method:[%.*s] CID: [%.*s]\n", sco.method.len, sco.method.s, sco.callid.len, sco.callid.s);
-             }
-             else {
-	        LM_DBG("PARSE PAI: (%.*s)\n",get_pai(msg)->uri.len, get_pai(msg)->uri.s);
-	        sco.pid_user = pai.user;                          
-             }
-	}	
-	else if(msg->ppi && (parse_ppi_header(msg) == 0)) {
-		
-	     if (parse_uri(get_ppi(msg)->uri.s, get_ppi(msg)->uri.len, &pai)<0){
-             	LM_DBG("DEBUG: do_action: bad ppi: method:[%.*s] CID: [%.*s]\n", sco.method.len, sco.method.s, sco.callid.len, sco.callid.s);
-             }
-             else {
-	        sco.pid_user = pai.user;
-             }
-        }
-        else { EMPTY_STR(sco.pid_user); }
+	if((parse_pai_header(msg) == 0) && (msg->pai) && (msg->pai->parsed)) {
+		to_body_t *pai = get_pai(msg)->id; /* This returns the first entry */
+		if ((pai->parsed_uri.user.s == NULL) &&
+			(parse_uri(pai->uri.s, pai->uri.len, &pai->parsed_uri) < 0)){
+			LM_DBG("DEBUG: do_action: bad pai: method:[%.*s] CID: [%.*s]\n", sco.method.len, sco.method.s, sco.callid.len, sco.callid.s);
+		}
+		else {
+			LM_DBG("PARSE PAI: (%.*s)\n", pai->uri.len, pai->uri.s);
+			sco.pid_user = pai->parsed_uri.user;
+		}
+	}
+	else if((parse_ppi_header(msg) == 0) && (msg->ppi) && (msg->ppi->parsed)) {
+		to_body_t *ppi = get_ppi(msg)->id; /* This returns the first entry */
+		if ((ppi->parsed_uri.user.s == NULL) &&
+			(parse_uri(ppi->uri.s, ppi->uri.len, &ppi->parsed_uri) < 0)){
+			LM_DBG("DEBUG: do_action: bad ppi: method:[%.*s] CID: [%.*s]\n", sco.method.len, sco.method.s, sco.callid.len, sco.callid.s);
+		}
+		else {
+			LM_DBG("PARSE PPI: (%.*s)\n", ppi->uri.len, ppi->uri.s);
+			sco.pid_user = ppi->parsed_uri.user;
+		}
+	}
+	else { EMPTY_STR(sco.pid_user); }
 	
 	/* Auth headers */
         if(msg->proxy_auth != NULL) hook1 = msg->proxy_auth;

+ 122 - 103
modules/siputils/README

@@ -75,23 +75,24 @@ Gabriel Vasile
               4.5. uri_param(param)
               4.6. uri_param(param,value)
               4.7. add_uri_param(param)
-              4.8. tel2sip(uri, hostpart, result)
-              4.9. is_e164(pseudo-variable)
-              4.10. is_uri_user_e164(pseudo-variable)
-              4.11. encode_contact(encoding_prefix,hostpart)
-              4.12. decode_contact()
-              4.13. decode_contact_header()
-              4.14. cmp_uri(str1, str2)
-              4.15. cmp_aor(str1, str2)
-              4.16. is_rpid_user_e164()
-              4.17. append_rpid_hf()
-              4.18. append_rpid_hf(prefix, suffix)
-              4.19. is_rpid_user_e164()
-              4.20. set_uri_user(uri, user)
-              4.21. set_uri_host(uri, host)
-              4.22. is_request()
-              4.23. is_reply()
-              4.24. is_gruu([uri])
+              4.8. get_uri_param(name, var)
+              4.9. tel2sip(uri, hostpart, result)
+              4.10. is_e164(pseudo-variable)
+              4.11. is_uri_user_e164(pseudo-variable)
+              4.12. encode_contact(encoding_prefix,hostpart)
+              4.13. decode_contact()
+              4.14. decode_contact_header()
+              4.15. cmp_uri(str1, str2)
+              4.16. cmp_aor(str1, str2)
+              4.17. is_rpid_user_e164()
+              4.18. append_rpid_hf()
+              4.19. append_rpid_hf(prefix, suffix)
+              4.20. is_rpid_user_e164()
+              4.21. set_uri_user(uri, user)
+              4.22. set_uri_host(uri, host)
+              4.23. is_request()
+              4.24. is_reply()
+              4.25. is_gruu([uri])
 
    List of Examples
 
@@ -111,23 +112,24 @@ Gabriel Vasile
    1.14. uri_param usage
    1.15. uri_param usage
    1.16. add_uri_param usage
-   1.17. tel2sip usage
-   1.18. is_e164 usage
-   1.19. is_uri_user_e164 usage
-   1.20. encode_contact usage
-   1.21. decode_contact usage
-   1.22. decode_contact_header usage
-   1.23. cmp_uri usage
-   1.24. cmp_aor usage
-   1.25. is_rpid_user_e164 usage
-   1.26. append_rpid_hf usage
-   1.27. append_rpid_hf(prefix, suffix) usage
-   1.28. is_rpid_user_e164 usage
-   1.29. set_uri_user usage
-   1.30. set_uri_host usage
-   1.31. is_request usage
-   1.32. is_reply usage
-   1.33. is_gruu() usage
+   1.17. add_uri_param usage
+   1.18. tel2sip usage
+   1.19. is_e164 usage
+   1.20. is_uri_user_e164 usage
+   1.21. encode_contact usage
+   1.22. decode_contact usage
+   1.23. decode_contact_header usage
+   1.24. cmp_uri usage
+   1.25. cmp_aor usage
+   1.26. is_rpid_user_e164 usage
+   1.27. append_rpid_hf usage
+   1.28. append_rpid_hf(prefix, suffix) usage
+   1.29. is_rpid_user_e164 usage
+   1.30. set_uri_user usage
+   1.31. set_uri_host usage
+   1.32. is_request usage
+   1.33. is_reply usage
+   1.34. is_gruu() usage
 
 Chapter 1. Admin Guide
 
@@ -160,23 +162,24 @@ Chapter 1. Admin Guide
         4.5. uri_param(param)
         4.6. uri_param(param,value)
         4.7. add_uri_param(param)
-        4.8. tel2sip(uri, hostpart, result)
-        4.9. is_e164(pseudo-variable)
-        4.10. is_uri_user_e164(pseudo-variable)
-        4.11. encode_contact(encoding_prefix,hostpart)
-        4.12. decode_contact()
-        4.13. decode_contact_header()
-        4.14. cmp_uri(str1, str2)
-        4.15. cmp_aor(str1, str2)
-        4.16. is_rpid_user_e164()
-        4.17. append_rpid_hf()
-        4.18. append_rpid_hf(prefix, suffix)
-        4.19. is_rpid_user_e164()
-        4.20. set_uri_user(uri, user)
-        4.21. set_uri_host(uri, host)
-        4.22. is_request()
-        4.23. is_reply()
-        4.24. is_gruu([uri])
+        4.8. get_uri_param(name, var)
+        4.9. tel2sip(uri, hostpart, result)
+        4.10. is_e164(pseudo-variable)
+        4.11. is_uri_user_e164(pseudo-variable)
+        4.12. encode_contact(encoding_prefix,hostpart)
+        4.13. decode_contact()
+        4.14. decode_contact_header()
+        4.15. cmp_uri(str1, str2)
+        4.16. cmp_aor(str1, str2)
+        4.17. is_rpid_user_e164()
+        4.18. append_rpid_hf()
+        4.19. append_rpid_hf(prefix, suffix)
+        4.20. is_rpid_user_e164()
+        4.21. set_uri_user(uri, user)
+        4.22. set_uri_host(uri, host)
+        4.23. is_request()
+        4.24. is_reply()
+        4.25. is_gruu([uri])
 
 1. Overview
 
@@ -359,23 +362,24 @@ modparam("auth", "rpid_avp", "$avp(myrpid)")
    4.5. uri_param(param)
    4.6. uri_param(param,value)
    4.7. add_uri_param(param)
-   4.8. tel2sip(uri, hostpart, result)
-   4.9. is_e164(pseudo-variable)
-   4.10. is_uri_user_e164(pseudo-variable)
-   4.11. encode_contact(encoding_prefix,hostpart)
-   4.12. decode_contact()
-   4.13. decode_contact_header()
-   4.14. cmp_uri(str1, str2)
-   4.15. cmp_aor(str1, str2)
-   4.16. is_rpid_user_e164()
-   4.17. append_rpid_hf()
-   4.18. append_rpid_hf(prefix, suffix)
-   4.19. is_rpid_user_e164()
-   4.20. set_uri_user(uri, user)
-   4.21. set_uri_host(uri, host)
-   4.22. is_request()
-   4.23. is_reply()
-   4.24. is_gruu([uri])
+   4.8. get_uri_param(name, var)
+   4.9. tel2sip(uri, hostpart, result)
+   4.10. is_e164(pseudo-variable)
+   4.11. is_uri_user_e164(pseudo-variable)
+   4.12. encode_contact(encoding_prefix,hostpart)
+   4.13. decode_contact()
+   4.14. decode_contact_header()
+   4.15. cmp_uri(str1, str2)
+   4.16. cmp_aor(str1, str2)
+   4.17. is_rpid_user_e164()
+   4.18. append_rpid_hf()
+   4.19. append_rpid_hf(prefix, suffix)
+   4.20. is_rpid_user_e164()
+   4.21. set_uri_user(uri, user)
+   4.22. set_uri_host(uri, host)
+   4.23. is_request()
+   4.24. is_reply()
+   4.25. is_gruu([uri])
 
 4.1. ring_insert_callid()
 
@@ -498,7 +502,22 @@ if (uri_param("param1","value1")) {
 add_uri_param("nat=yes");
 ...
 
-4.8. tel2sip(uri, hostpart, result)
+4.8. get_uri_param(name, var)
+
+   Get the value of RURI parameter.
+
+   Meaning of the parameters is as follows:
+     * name - the name of R-URI parameter
+     * var - the variable where to store the value of the parameter
+
+   This function can be used from REQUEST_ROUTE.
+
+   Example 1.17. add_uri_param usage
+...
+get_uri_param("nat", "$var(nat)");
+...
+
+4.9. tel2sip(uri, hostpart, result)
 
    Converts URI in first param (pseudo variable or string) to SIP URI, if
    it is a tel URI. If conversion was done, writes resulting SIP URI to
@@ -517,7 +536,7 @@ add_uri_param("nat=yes");
    This function can be used from REQUEST_ROUTE, FAILURE_ROUTE,
    BRANCH_ROUTE, or ONREPLY_ROUTE.
 
-   Example 1.17. tel2sip usage
+   Example 1.18. tel2sip usage
 ...
 # $ru: tel:+(34)-999-888-777
 # $fu: sip:[email protected]
@@ -530,14 +549,14 @@ tel2sip("$ru", $fd", "$ru");
 # $ru:  sip:+12345678;ext=200;[email protected];user=phone
 ...
 
-4.9. is_e164(pseudo-variable)
+4.10. is_e164(pseudo-variable)
 
    Checks if string value of pseudo variable argument is an E164 number.
 
    This function can be used from REQUEST_ROUTE, FAILURE_ROUTE, and
    LOCAL_ROUTE.
 
-   Example 1.18. is_e164 usage
+   Example 1.19. is_e164 usage
 ...
 if (is_164("$fU")) {  # Check From header URI user part
    ...
@@ -548,13 +567,13 @@ if (is_e164("$avp(i:705)") {
 };
 ...
 
-4.10. is_uri_user_e164(pseudo-variable)
+4.11. is_uri_user_e164(pseudo-variable)
 
    Checks if userpart of URI stored in pseudo variable is E164 number.
 
    This function can be used from ANY_ROUTE.
 
-   Example 1.19. is_uri_user_e164 usage
+   Example 1.20. is_uri_user_e164 usage
 ...
 if (is_uri_user_e164("$fu")) {  # Check From header URI user part
    ...
@@ -565,7 +584,7 @@ if (is_uri_user_e164("$avp(i:705)") {
 };
 ...
 
-4.11. encode_contact(encoding_prefix,hostpart)
+4.12. encode_contact(encoding_prefix,hostpart)
 
    This function will encode uri-s inside Contact header in the following
    manner sip:username:password@ip:port;transport=protocol goes
@@ -587,12 +606,12 @@ if (is_uri_user_e164("$avp(i:705)") {
 
    This function can be used from REQUEST_ROUTE, ONREPLY_ROUTE.
 
-   Example 1.20. encode_contact usage
+   Example 1.21. encode_contact usage
 ...
 if (src_ip == 10.0.0.0/8) encode_contact("natted_client","1.2.3.4");
 ...
 
-4.12. decode_contact()
+4.13. decode_contact()
 
    This function will decode the request URI. If the RURI is in the format
    sip:encoding_prefix*username*ip*port*protocol@hostpart it will be
@@ -605,12 +624,12 @@ if (src_ip == 10.0.0.0/8) encode_contact("natted_client","1.2.3.4");
 
    This function can be used from REQUEST_ROUTE.
 
-   Example 1.21. decode_contact usage
+   Example 1.22. decode_contact usage
 ...
 if (uri =~ "^sip:natted_client") { decode_contact(); }
 ...
 
-4.13. decode_contact_header()
+4.14. decode_contact_header()
 
    This function will decode URIs inside Contact header. If the URI in the
    format sip:encoding_prefix*username*ip*port*protocol@hostpart it will
@@ -623,7 +642,7 @@ if (uri =~ "^sip:natted_client") { decode_contact(); }
 
    This function can be used from REQUEST_ROUTE, ONREPLY_ROUTE.
 
-   Example 1.22. decode_contact_header usage
+   Example 1.23. decode_contact_header usage
 ...
 reply_route[2] {
         ...
@@ -632,13 +651,13 @@ reply_route[2] {
 }
 ...
 
-4.14. cmp_uri(str1, str2)
+4.15. cmp_uri(str1, str2)
 
    The function returns true if the two parameters matches as SIP URI.
 
    This function can be used from ANY_ROUTE.
 
-   Example 1.23. cmp_uri usage
+   Example 1.24. cmp_uri usage
 ...
 if(cmp_uri("$ru", "sip:[email protected]"))
 {
@@ -646,14 +665,14 @@ if(cmp_uri("$ru", "sip:[email protected]"))
 }
 ...
 
-4.15. cmp_aor(str1, str2)
+4.16. cmp_aor(str1, str2)
 
    The function returns true if the two parameters matches as AoR. The
    parameters have to be SIP URIs.
 
    This function can be used from ANY_ROUTE.
 
-   Example 1.24. cmp_aor usage
+   Example 1.25. cmp_aor usage
 ...
 if(cmp_aor("[email protected]", "sip:kamailio@$fd"))
 {
@@ -661,7 +680,7 @@ if(cmp_aor("[email protected]", "sip:kamailio@$fd"))
 }
 ...
 
-4.16. is_rpid_user_e164()
+4.17. is_rpid_user_e164()
 
    The function checks if the SIP URI received from the database or radius
    server and will potentially be used in Remote-Party-ID header field
@@ -671,14 +690,14 @@ if(cmp_aor("[email protected]", "sip:kamailio@$fd"))
 
    This function can be used from REQUEST_ROUTE.
 
-   Example 1.25. is_rpid_user_e164 usage
+   Example 1.26. is_rpid_user_e164 usage
 ...
 if (is_rpid_user_e164()) {
     # do something here
 };
 ...
 
-4.17. append_rpid_hf()
+4.18. append_rpid_hf()
 
    Appends to the message a Remote-Party-ID header that contains header
    'Remote-Party-ID: ' followed by the saved value of the SIP URI received
@@ -689,14 +708,14 @@ if (is_rpid_user_e164()) {
    This function can be used from REQUEST_ROUTE, FAILURE_ROUTE,
    BRANCH_ROUTE.
 
-   Example 1.26. append_rpid_hf usage
+   Example 1.27. append_rpid_hf usage
 ...
 append_rpid_hf();  # Append Remote-Party-ID header field
 ...
 
-4.18. append_rpid_hf(prefix, suffix)
+4.19. append_rpid_hf(prefix, suffix)
 
-   This function is the same as Section 4.17, " append_rpid_hf()". The
+   This function is the same as Section 4.18, " append_rpid_hf()". The
    only difference is that it accepts two parameters--prefix and suffix to
    be added to Remote-Party-ID header field. This function ignores
    rpid_prefix and rpid_suffix parameters, instead of that allows to set
@@ -713,13 +732,13 @@ append_rpid_hf();  # Append Remote-Party-ID header field
    This function can be used from REQUEST_ROUTE, FAILURE_ROUTE,
    BRANCH_ROUTE.
 
-   Example 1.27. append_rpid_hf(prefix, suffix) usage
+   Example 1.28. append_rpid_hf(prefix, suffix) usage
 ...
 # Append Remote-Party-ID header field
 append_rpid_hf("", ";party=calling;id-type=subscriber;screen=yes");
 ...
 
-4.19. is_rpid_user_e164()
+4.20. is_rpid_user_e164()
 
    The function checks if the SIP URI received from the database or radius
    server and will potentially be used in Remote-Party-ID header field
@@ -729,68 +748,68 @@ append_rpid_hf("", ";party=calling;id-type=subscriber;screen=yes");
 
    This function can be used from REQUEST_ROUTE.
 
-   Example 1.28. is_rpid_user_e164 usage
+   Example 1.29. is_rpid_user_e164 usage
 ...
 if (is_rpid_user_e164()) {
     # do something here
 };
 ...
 
-4.20. set_uri_user(uri, user)
+4.21. set_uri_user(uri, user)
 
    Sets userpart of SIP URI stored in writable pseudo variable 'uri' to
    value of pseudo variable 'user'.
 
    This function can be used from ANY_ROUTE.
 
-   Example 1.29. set_uri_user usage
+   Example 1.30. set_uri_user usage
 ...
 $var(uri) = "sip:user@host";
 $var(user) = "new_user";
 set_uri_user("$var(uri)", "$var(user)");
 ...
 
-4.21. set_uri_host(uri, host)
+4.22. set_uri_host(uri, host)
 
    Sets hostpart of SIP URI stored in writable pseudo variable 'uri' to
    value of pseudo variable 'host'.
 
    This function can be used from ANY_ROUTE.
 
-   Example 1.30. set_uri_host usage
+   Example 1.31. set_uri_host usage
 ...
 $var(uri) = "sip:user@host";
 $var(host) = "new_host";
 set_uri_host("$var(uri)", "$var(host)");
 ...
 
-4.22. is_request()
+4.23. is_request()
 
    Return true if the SIP message is a request.
 
    This function can be used from ANY_ROUTE.
 
-   Example 1.31. is_request usage
+   Example 1.32. is_request usage
 ...
 if (is_request()) {
         ...
 }
 ...
 
-4.23. is_reply()
+4.24. is_reply()
 
    Return true if the SIP message is a reply.
 
    This function can be used from ANY_ROUTE.
 
-   Example 1.32. is_reply usage
+   Example 1.33. is_reply usage
 ...
 if (is_reply()) {
         ...
 }
 ...
 
-4.24. is_gruu([uri])
+4.25. is_gruu([uri])
 
    The function returns true if the uri is GRUU ('gr' parameter is
    present): 1 - pub-gruu; 2 - temp-gruu.
@@ -801,7 +820,7 @@ if (is_reply()) {
 
    This function can be used from ANY_ROUTE.
 
-   Example 1.33. is_gruu() usage
+   Example 1.34. is_gruu() usage
 ...
 if(is_gruu()) { ... }
 ...

+ 50 - 0
modules/siputils/checks.c

@@ -675,3 +675,53 @@ int set_uri_host(struct sip_msg* _m, char* _uri, char* _value)
 
     return 1;
 }
+
+/**
+ * Find if Request URI has a given parameter and returns the value.
+ */
+int get_uri_param(struct sip_msg* _msg, char* _param, char* _value)
+{
+	str *param, t;
+	pv_spec_t* dst;
+	pv_value_t val;
+
+	param_hooks_t hooks;
+	param_t* params;
+
+	param = (str*)_param;
+	dst = (pv_spec_t *) _value;
+  
+	if (parse_sip_msg_uri(_msg) < 0) {
+		LM_ERR("ruri parsing failed\n");
+		return -1;
+	}
+
+	t = _msg->parsed_uri.params;
+
+	if (parse_params(&t, CLASS_ANY, &hooks, &params) < 0) {
+		LM_ERR("ruri parameter parsing failed\n");
+		return -1;
+	}
+
+	while (params) {
+		if ((params->name.len == param->len)
+				&& (strncmp(params->name.s, param->s, param->len) == 0)) {
+			memset(&val, 0, sizeof(pv_value_t));
+			val.rs.s = params->body.s;
+			val.rs.len = params->body.len;
+			val.flags = PV_VAL_STR;
+			dst->setf(_msg, &dst->pvp, (int)EQ_T, &val);
+			goto found;
+		} else {
+			params = params->next;
+		}
+	}
+  
+	free_params(params);
+	return -1;
+
+found:
+	free_params(params);
+	return 1;
+}
+

+ 5 - 0
modules/siputils/checks.h

@@ -112,4 +112,9 @@ int w_is_request(struct sip_msg* msg, char *foo, char *bar);
  */
 int w_is_reply(struct sip_msg* msg, char *foo, char *bar);
 
+/*
+ * Find if Request URI has a given parameter with matching value
+ */
+int get_uri_param(struct sip_msg* _msg, char* _param, char* _value);
+
 #endif /* CHECKS_H */

+ 29 - 0
modules/siputils/doc/siputils_admin.xml

@@ -473,6 +473,35 @@ if (uri_param("param1","value1")) {
 ...
 add_uri_param("nat=yes");
 ...
+</programlisting>
+		</example>
+	</section>
+	<section>
+		<title>
+		<function moreinfo="none">get_uri_param(name, var)</function>
+		</title>
+		<para>
+		Get the value of RURI parameter.
+		</para>
+		<para>Meaning of the parameters is as follows:</para>
+		<itemizedlist>
+		<listitem>
+			<para><emphasis>name</emphasis> - the name of R-URI parameter</para>
+		</listitem>
+		<listitem>
+			<para><emphasis>var</emphasis> - the variable where to store the
+			value of the parameter</para>
+		</listitem>
+		</itemizedlist>
+		<para>
+		This function can be used from REQUEST_ROUTE.
+		</para>
+		<example>
+		<title><function>add_uri_param</function> usage</title>
+		<programlisting format="linespecific">
+...
+get_uri_param("nat", "$var(nat)");
+...
 </programlisting>
 		</example>
 	</section>

+ 39 - 0
modules/siputils/siputils.c

@@ -110,6 +110,9 @@ static void mod_destroy(void);
 static int fixup_set_uri(void** param, int param_no);
 static int fixup_free_set_uri(void** param, int param_no);
 static int fixup_tel2sip(void** param, int param_no);
+static int fixup_get_uri_param(void** param, int param_no);
+static int free_fixup_get_uri_param(void** param, int param_no);
+
 
 char *contact_flds_separator = DEFAULT_SEPARATOR;
 
@@ -128,6 +131,8 @@ static cmd_export_t cmds[]={
 		0, REQUEST_ROUTE|LOCAL_ROUTE},
 	{"add_uri_param",      (cmd_function)add_uri_param,     1, fixup_str_null,
 		0, REQUEST_ROUTE},
+	{"get_uri_param",      (cmd_function)get_uri_param,     2, fixup_get_uri_param, 
+		free_fixup_get_uri_param, REQUEST_ROUTE|LOCAL_ROUTE},
 	{"tel2sip", (cmd_function)tel2sip, 3, fixup_tel2sip, 0,
 	 REQUEST_ROUTE|FAILURE_ROUTE|BRANCH_ROUTE|ONREPLY_ROUTE},
 	{"is_e164",            (cmd_function)is_e164,           1, fixup_pvar_null,
@@ -336,3 +341,37 @@ static int fixup_tel2sip(void** param, int param_no)
     LM_ERR("invalid parameter number <%d>\n", param_no);
     return -1;
 }
+
+/* */
+static int fixup_get_uri_param(void** param, int param_no) {
+	if (param_no == 1) {
+		return fixup_str_null(param, 1);
+	}
+	if (param_no == 2) {
+		if (fixup_pvar_null(param, 1) != 0) {
+			LM_ERR("failed to fixup result pvar\n");
+			return -1;
+		}
+		if (((pv_spec_t *)(*param))->setf == NULL) {
+			LM_ERR("result pvar is not writeble\n");
+			return -1;
+		}
+		return 0;
+	}
+
+	LM_ERR("invalid parameter number <%d>\n", param_no);
+	return -1;
+}
+
+/* */
+static int free_fixup_get_uri_param(void** param, int param_no) {
+	if (param_no == 1) {
+		LM_WARN("free function has not been defined for spve\n");
+		return 0;
+	}
+	if (param_no == 2) {
+		return fixup_free_pvar_null(param, 1);
+	}
+	LM_ERR("invalid parameter number <%d>\n", param_no);
+	return -1;
+}

+ 11 - 3
modules/tm/t_msgbuilder.c

@@ -1512,6 +1512,7 @@ char* build_uac_req(str* method, str* headers, str* body, dlg_t* dialog, int bra
 {
 	char* buf, *w;
 	str content_length, cseq, via;
+	unsigned int maxfwd_len;
 
 	if (!method || !dialog) {
 		LOG(L_ERR, "build_uac_req(): Invalid parameter value\n");
@@ -1525,6 +1526,14 @@ char* build_uac_req(str* method, str* headers, str* body, dlg_t* dialog, int bra
 		LOG(L_ERR, "build_uac_req(): Error while printing CSeq number\n");
 		return 0;
 	}
+
+	if(headers==NULL || headers->len<15
+			|| _strnstr(headers->s, "Max-Forwards:", headers->len)==NULL) {
+		maxfwd_len = MAXFWD_HEADER_LEN;
+	} else {
+		maxfwd_len = 0;
+	}
+
 	*len = method->len + 1 + dialog->hooks.request_uri->len + 1 + SIP_VERSION_LEN + CRLF_LEN;
 
 	if (assemble_via(&via, t, dst, branch) < 0) {
@@ -1540,7 +1549,7 @@ char* build_uac_req(str* method, str* headers, str* body, dlg_t* dialog, int bra
 	*len += CALLID_LEN + dialog->id.call_id.len + CRLF_LEN;                                      /* Call-ID */
 	*len += CSEQ_LEN + cseq.len + 1 + method->len + CRLF_LEN;                                    /* CSeq */
 	*len += calculate_routeset_length(dialog);                                                   /* Route set */
-	*len += MAXFWD_HEADER_LEN;                                                                   /* Max-forwards */	
+	*len += maxfwd_len;                                                                          /* Max-forwards */	
 	*len += CONTENT_LENGTH_LEN + content_length.len + CRLF_LEN; /* Content-
 																	 Length */
 	*len += (server_signature ? (user_agent_hdr.len + CRLF_LEN) : 0);	                         /* Signature */
@@ -1564,8 +1573,7 @@ char* build_uac_req(str* method, str* headers, str* body, dlg_t* dialog, int bra
 	w = print_callid(w, dialog, t);                       /* Call-ID */
 	w = print_routeset(w, dialog);                        /* Route set */
 
-	if(headers==NULL || headers->len<15
-			|| _strnstr(headers->s, "Max-Forwards:", headers->len)==NULL)
+	if(maxfwd_len>0)
 		memapp(w, MAXFWD_HEADER, MAXFWD_HEADER_LEN);      /* Max-forwards */
 
      /* Content-Length */

+ 2 - 2
modules/usrloc/ul_mi.c

@@ -660,7 +660,7 @@ struct mi_root* mi_usrloc_show_contact(struct mi_root *cmd, void *param)
 			}
 
 			node = addf_mi_node_child( rpl, 0, "Contact", 7,
-				"<%.*s>;q=%s;expires=%d;flags=0x%X;cflags=0x%X;socket=<%.*s>;"
+				"<%.*s>;q=%s;expires=%d;flags=0x%X;cflags=0x%X;state=%d;socket=<%.*s>;"
 				"methods=0x%X"
 				"%s%.*s%s" /*received*/
 				"%s%.*s%s" /*user-agent*/
@@ -669,7 +669,7 @@ struct mi_root* mi_usrloc_show_contact(struct mi_root *cmd, void *param)
 			        ";reg-id=%u",
 				con->c.len, ZSW(con->c.s),
 				q2str(con->q, 0), (int)(con->expires - act_time),
-				con->flags, con->cflags,
+				con->flags, con->cflags, con->state,
 				con->sock?con->sock->sock_str.len:3,
 					con->sock?con->sock->sock_str.s:"NULL",
 				con->methods,

+ 3 - 2
parser/hf.c

@@ -57,6 +57,7 @@
 #include "parse_disposition.h"
 #include "parse_allow.h"
 #include "../ut.h"
+#include "parse_ppi_pai.h"
 
 /** Frees a hdr_field structure.
  * WARNING: it frees only parsed (and not name.s, body.s)
@@ -122,11 +123,11 @@ void clean_hdr_field(struct hdr_field* const hf)
 			break;
 
 		case HDR_PAI_T:
-			free_to(hf->parsed);
+			free_pai_ppi_body(hf->parsed);
 			break;
 
 		case HDR_PPI_T:
-			free_to(hf->parsed);
+			free_pai_ppi_body(hf->parsed);
 			break;
 
 		case HDR_PROXYAUTH_T:

+ 926 - 0
parser/parse_addr_spec.c

@@ -0,0 +1,926 @@
+/*
+ * Copyright (C) 2001-2003 Fhg Fokus
+ *
+ * This file is part of ser, a free SIP server.
+ *
+ * ser is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version
+ *
+ * ser is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License 
+ * along with this program; if not, write to the Free Software 
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ * History:
+ * ---------
+ * 2003-04-26 ZSW (jiri)
+ * 2010-03-03  fix multi-token no-quotes display name (andrei)
+ */
+
+/** Parser :: Parse To: header.
+ * @file
+ * @ingroup parser
+ */
+
+#include "parse_to.h"
+#include <stdlib.h>
+#include <string.h>
+#include "../dprint.h"
+#include "msg_parser.h"
+#include "parse_uri.h"
+#include "../ut.h"
+#include "../mem/mem.h"
+
+
+enum {
+	START_TO, DISPLAY_QUOTED, E_DISPLAY_QUOTED, DISPLAY_TOKEN,
+	DISPLAY_TOKEN_SP, S_URI_ENCLOSED, URI_ENCLOSED, E_URI_ENCLOSED,
+	URI_OR_TOKEN, MAYBE_URI_END, END, F_CR, F_LF, F_CRLF
+};
+
+
+enum {
+	S_PARA_NAME=20, PARA_NAME, S_EQUAL, S_PARA_VALUE, TAG1, TAG2,
+	TAG3, PARA_VALUE_TOKEN , PARA_VALUE_QUOTED, E_PARA_VALUE
+};
+
+
+
+#define add_param( _param , _body , _newparam ) \
+	do{\
+		DBG("DEBUG: add_param: %.*s=%.*s\n",param->name.len,ZSW(param->name.s),\
+			param->value.len,ZSW(param->value.s));\
+		if (!(_body)->param_lst)  (_body)->param_lst=(_param);\
+		else (_body)->last_param->next=(_param);\
+		(_body)->last_param =(_param);\
+		if ((_param)->type==TAG_PARAM)\
+			memcpy(&((_body)->tag_value),&((_param)->value),sizeof(str));\
+		_newparam = 0;\
+	}while(0);
+
+
+
+
+
+static char* parse_to_param(char* const buffer, const char* const end,
+					struct to_body* const to_b, const int allow_comma_sep,
+					int* const returned_status)
+{
+	struct to_param *param;
+	struct to_param *newparam;
+	int status;
+	int saved_status;
+	char  *tmp;
+
+	param=0;
+	newparam=0;
+	status=E_PARA_VALUE;
+	saved_status=E_PARA_VALUE;
+	for( tmp=buffer; tmp<end; tmp++)
+	{
+		switch(*tmp)
+		{
+			case ' ':
+			case '\t':
+				switch (status)
+				{
+					case TAG3:
+						param->type=TAG_PARAM;
+					case PARA_NAME:
+					case TAG1:
+					case TAG2:
+						param->name.len = tmp-param->name.s;
+						status = S_EQUAL;
+						break;
+					case PARA_VALUE_TOKEN:
+						param->value.len = tmp-param->value.s;
+						status = E_PARA_VALUE;
+						add_param(param, to_b, newparam);
+						break;
+					case F_CRLF:
+					case F_LF:
+					case F_CR:
+						/*previous=crlf and now =' '*/
+						status=saved_status;
+						break;
+				}
+				break;
+			case '\n':
+				switch (status)
+				{
+					case S_PARA_NAME:
+					case S_EQUAL:
+					case S_PARA_VALUE:
+					case E_PARA_VALUE:
+						saved_status=status;
+						status=F_LF;
+						break;
+					case TAG3:
+						param->type=TAG_PARAM;
+					case PARA_NAME:
+					case TAG1:
+					case TAG2:
+						param->name.len = tmp-param->name.s;
+						saved_status = S_EQUAL;
+						status = F_LF;
+						break;
+					case PARA_VALUE_TOKEN:
+						param->value.len = tmp-param->value.s;
+						saved_status = E_PARA_VALUE;
+						status = F_LF;
+						add_param(param, to_b, newparam);
+						break;
+					case F_CR:
+						status=F_CRLF;
+						break;
+					case F_CRLF:
+					case F_LF:
+						status=saved_status;
+						goto endofheader;
+					default:
+						LOG( L_ERR , "ERROR: parse_to_param : "
+							"unexpected char [%c] in status %d: <<%.*s>> .\n",
+							*tmp,status, (int)(tmp-buffer), ZSW(buffer));
+						goto error;
+				}
+				break;
+			case '\r':
+				switch (status)
+				{
+					case S_PARA_NAME:
+					case S_EQUAL:
+					case S_PARA_VALUE:
+					case E_PARA_VALUE:
+						saved_status=status;
+						status=F_CR;
+						break;
+					case TAG3:
+						param->type=TAG_PARAM;
+					case PARA_NAME:
+					case TAG1:
+					case TAG2:
+						param->name.len = tmp-param->name.s;
+						saved_status = S_EQUAL;
+						status = F_CR;
+						break;
+					case PARA_VALUE_TOKEN:
+						param->value.len = tmp-param->value.s;
+						saved_status = E_PARA_VALUE;
+						status = F_CR;
+						add_param(param, to_b, newparam);
+						break;
+					case F_CRLF:
+					case F_CR:
+					case F_LF:
+						status=saved_status;
+						goto endofheader;
+					default:
+						LOG( L_ERR , "ERROR: parse_to_param : "
+							"unexpected char [%c] in status %d: <<%.*s>> .\n",
+							*tmp,status, (int)(tmp-buffer), ZSW(buffer));
+						goto error;
+				}
+				break;
+			case 0:
+				switch (status)
+				{
+					case TAG3:
+						param->type = TAG_PARAM;
+					case PARA_NAME:
+					case TAG1:
+					case TAG2:
+						param->name.len = tmp-param->name.s;
+						status = S_EQUAL;
+					case S_EQUAL:
+					case S_PARA_VALUE:
+						saved_status=status;
+						goto endofheader;
+					case PARA_VALUE_TOKEN:
+						status = E_PARA_VALUE;
+						param->value.len = tmp-param->value.s;
+						add_param(param , to_b, newparam);
+					case E_PARA_VALUE:
+						saved_status = status;
+						goto endofheader;
+						break;
+					default:
+						LOG( L_ERR , "ERROR: parse_to_param : "
+							"unexpected char [%c] in status %d: <<%.*s>> .\n",
+							*tmp,status, (int)(tmp-buffer), ZSW(buffer));
+						goto error;
+				}
+				break;
+			case '\\':
+				switch (status)
+				{
+					case PARA_VALUE_QUOTED:
+						switch (*(tmp+1))
+						{
+							case '\r':
+							case '\n':
+								break;
+							default:
+								tmp++;
+						}
+					default:
+						LOG( L_ERR , "ERROR: parse_to_param : "
+							"unexpected char [%c] in status %d: <<%.*s>> .\n",
+							*tmp,status, (int)(tmp-buffer), ZSW(buffer));
+						goto error;
+				}
+				break;
+			case '"':
+				switch (status)
+				{
+					case S_PARA_VALUE:
+						param->value.s = tmp+1;
+						status = PARA_VALUE_QUOTED;
+						break;
+					case PARA_VALUE_QUOTED:
+						param->value.len=tmp-param->value.s;
+						add_param(param, to_b, newparam);
+						status = E_PARA_VALUE;
+						break;
+					case F_CRLF:
+					case F_LF:
+					case F_CR:
+						/*previous=crlf and now !=' '*/
+						goto endofheader;
+					default:
+						LOG( L_ERR , "ERROR: parse_to_param :"
+							"unexpected char [%c] in status %d: <<%.*s>> .\n",
+							*tmp,status,(int)(tmp-buffer), ZSW(buffer));
+						goto error;
+				}
+				break;
+			case ';' :
+				switch (status)
+				{
+					case PARA_VALUE_QUOTED:
+						break;
+					case TAG3:
+						param->type = TAG_PARAM;
+					case PARA_NAME:
+					case TAG1:
+					case TAG2:
+						param->name.len = tmp-param->name.s;
+					case S_EQUAL:
+						param->value.s = 0;
+						param->value.len = 0;
+						goto semicolon_add_param;
+					case S_PARA_VALUE:
+						param->value.s = tmp;
+					case PARA_VALUE_TOKEN:
+						param->value.len=tmp-param->value.s;
+semicolon_add_param:
+						add_param(param, to_b, newparam);
+					case E_PARA_VALUE:
+						param = (struct to_param*)
+							pkg_malloc(sizeof(struct to_param));
+						if (!param){
+							LOG( L_ERR , "ERROR: parse_to_param"
+							" - out of memory\n" );
+							goto error;
+						}
+						memset(param,0,sizeof(struct to_param));
+						param->type=GENERAL_PARAM;
+						status = S_PARA_NAME;
+						/* link to free mem if not added in to_body list */
+						newparam = param;
+						break;
+					case F_CRLF:
+					case F_LF:
+					case F_CR:
+						/*previous=crlf and now !=' '*/
+						goto endofheader;
+					default:
+						LOG( L_ERR , "ERROR: parse_to_param :"
+							"unexpected char [%c] in status %d: <<%.*s>> .\n",
+							*tmp,status, (int)(tmp-buffer), ZSW(buffer));
+						goto error;
+				}
+				break;
+			case 'T':
+			case 't' :
+				switch (status)
+				{
+					case PARA_VALUE_QUOTED:
+					case PARA_VALUE_TOKEN:
+					case PARA_NAME:
+						break;
+					case S_PARA_NAME:
+						param->name.s = tmp;
+						status = TAG1;
+						break;
+					case S_PARA_VALUE:
+						param->value.s = tmp;
+						status = PARA_VALUE_TOKEN;
+						break;
+					case TAG1:
+					case TAG2:
+					case TAG3:
+						status = PARA_NAME;
+						break;
+					case F_CRLF:
+					case F_LF:
+					case F_CR:
+						/*previous=crlf and now !=' '*/
+						goto endofheader;
+					default:
+						LOG( L_ERR , "ERROR: parse_to_param :"
+							"unexpected char [%c] in status %d: <<%.*s>> .\n",
+							*tmp,status, (int)(tmp-buffer), ZSW(buffer));
+						goto error;
+				}
+				break;
+			case 'A':
+			case 'a' :
+				switch (status)
+				{
+					case PARA_VALUE_QUOTED:
+					case PARA_VALUE_TOKEN:
+					case PARA_NAME:
+						break;
+					case S_PARA_NAME:
+						param->name.s = tmp;
+						status = PARA_NAME;
+						break;
+					case S_PARA_VALUE:
+						param->value.s = tmp;
+						status = PARA_VALUE_TOKEN;
+						break;
+					case TAG1:
+						status = TAG2;
+						break;
+					case TAG2:
+					case TAG3:
+						status = PARA_NAME;
+						break;
+					case F_CRLF:
+					case F_LF:
+					case F_CR:
+						/*previous=crlf and now !=' '*/
+						goto endofheader;
+					default:
+						LOG( L_ERR , "ERROR: parse_to_param : "
+							"unexpected char [%c] in status %d: <<%.*s>> .\n",
+							*tmp,status, (int)(tmp-buffer), ZSW(buffer));
+						goto error;
+				}
+				break;
+			case 'G':
+			case 'g' :
+				switch (status)
+				{
+					case PARA_VALUE_QUOTED:
+					case PARA_VALUE_TOKEN:
+					case PARA_NAME:
+						break;
+					case S_PARA_NAME:
+						param->name.s = tmp;
+						status = PARA_NAME;
+						break;
+					case S_PARA_VALUE:
+						param->value.s = tmp;
+						status = PARA_VALUE_TOKEN;
+						break;
+					case TAG1:
+					case TAG3:
+						status = PARA_NAME;
+						break;
+					case TAG2:
+						status = TAG3;
+						break;
+					case F_CRLF:
+					case F_LF:
+					case F_CR:
+						/*previous=crlf and now !=' '*/
+						goto endofheader;
+					default:
+						LOG( L_ERR , "ERROR: parse_to_param : "
+							"unexpected char [%c] in status %d: <<%.*s>> .\n",
+							*tmp,status, (int)(tmp-buffer), ZSW(buffer));
+						goto error;
+				}
+				break;
+			case '=':
+				switch (status)
+				{
+					case PARA_VALUE_QUOTED:
+						break;
+					case TAG3:
+						param->type=TAG_PARAM;
+					case PARA_NAME:
+					case TAG1:
+					case TAG2:
+						param->name.len = tmp-param->name.s;
+						status = S_PARA_VALUE;
+						break;
+					case S_EQUAL:
+						status = S_PARA_VALUE;
+						break;
+					case F_CRLF:
+					case F_LF:
+					case F_CR:
+						/*previous=crlf and now !=' '*/
+						goto endofheader;
+					default:
+						LOG( L_ERR , "ERROR: parse_to_param : "
+							"unexpected char [%c] in status %d: <<%.*s>> .\n",
+							*tmp,status, (int)(tmp-buffer), ZSW(buffer));
+						goto error;
+				}
+				break;
+			case ',':
+				if (allow_comma_sep)
+				{
+					switch (status)
+					{
+						case S_PARA_NAME:
+						case S_EQUAL:
+						case S_PARA_VALUE:
+						case E_PARA_VALUE:
+							saved_status=status;
+							status=E_PARA_VALUE;
+							goto endofheader;
+						case TAG3:
+							param->type=TAG_PARAM;
+						case PARA_NAME:
+						case TAG1:
+						case TAG2:
+							param->name.len = tmp-param->name.s;
+							saved_status = S_EQUAL;
+							status = E_PARA_VALUE;
+							goto endofheader;
+						case PARA_VALUE_TOKEN:
+							param->value.len = tmp-param->value.s;
+							saved_status = E_PARA_VALUE;
+							status = E_PARA_VALUE;
+							add_param(param, to_b, newparam);
+							goto endofheader;
+						case F_CRLF:
+						case F_CR:
+						case F_LF:
+							status=saved_status;
+							goto endofheader;
+						default:
+							LOG( L_ERR , "ERROR: parse_to_param : "
+								"unexpected char [%c] in status %d: <<%.*s>> .\n",
+								*tmp,status, (int)(tmp-buffer), ZSW(buffer));
+							goto error;
+					}
+					break;
+				}
+				else
+				{
+					LOG( L_ERR, "ERROR parse_to_param : "
+							"invalid character ',' in status %d: <<%.*s>>\n",
+							status, (int)(tmp-buffer), ZSW(buffer));
+				}
+			default:
+				switch (status)
+				{
+					case TAG1:
+					case TAG2:
+					case TAG3:
+						status = PARA_NAME;
+						break;
+					case PARA_VALUE_TOKEN:
+					case PARA_NAME:
+					case PARA_VALUE_QUOTED:
+						break;
+					case S_PARA_NAME:
+						param->name.s = tmp;
+						status = PARA_NAME;
+						break;
+					case S_PARA_VALUE:
+						param->value.s = tmp;
+						status = PARA_VALUE_TOKEN;
+						break;
+					case F_CRLF:
+					case F_LF:
+					case F_CR:
+						/*previous=crlf and now !=' '*/
+						goto endofheader;
+					default:
+						LOG(L_ERR, "ERROR: parse_to_param: "
+							"spitting out [%c] in status %d\n",*tmp,status );
+						goto error;
+				}
+		}/*switch*/
+	}/*for*/
+	if (!(status==F_CR || status==F_LF || status==F_CRLF))
+		saved_status=status;
+
+
+endofheader:
+	switch(saved_status){
+		case TAG3:
+			param->type = TAG_PARAM; /* tag at the end */
+			/* no break */
+		case PARA_NAME:
+		case TAG1:
+		case TAG2:
+			param->name.len = tmp-param->name.s;
+			/* no break */
+		case S_EQUAL:
+			/* parameter without '=', e.g. foo */
+			param->value.s=0;
+			param->value.len=0;
+			add_param(param, to_b, newparam);
+			saved_status=E_PARA_VALUE;
+			break;
+		case S_PARA_VALUE:
+			/* parameter with null value, e.g. foo= */
+			param->value.s=tmp;
+			param->value.len=0;
+			add_param(param, to_b, newparam);
+			saved_status=E_PARA_VALUE;
+			break;
+		case PARA_VALUE_TOKEN:
+			param->value.len=tmp-param->value.s;
+			add_param(param, to_b, newparam);
+			saved_status=E_PARA_VALUE;
+			break;
+		case E_PARA_VALUE:
+			break;
+		default:
+			LOG( L_ERR , "ERROR: parse_to_param : unexpected end of header,"
+						" status %d: <<%.*s>> .\n",
+						saved_status, (int)(tmp-buffer), ZSW(buffer));
+			goto error;
+	}
+	*returned_status=saved_status;
+	return tmp;
+
+error:
+	if (newparam) pkg_free(newparam);
+	to_b->error=PARSE_ERROR;
+	*returned_status = status;
+	return tmp;
+}
+
+
+
+char* parse_addr_spec(char* const buffer, const char* const end, struct to_body* const to_b, const int allow_comma_sep)
+{
+	int status;
+	int saved_status;
+	char  *tmp,*foo;
+	
+	saved_status=START_TO; /* fixes gcc 4.x warning */
+	status=START_TO;
+	memset(to_b, 0, sizeof(struct to_body));
+	to_b->error=PARSE_OK;
+	foo=0;
+
+	for( tmp=buffer; tmp<end; tmp++)
+	{
+		switch(*tmp)
+		{
+			case ' ':
+			case '\t':
+				switch (status)
+				{
+					case F_CRLF:
+					case F_LF:
+					case F_CR:
+						/*previous=crlf and now =' '*/
+						status=saved_status;
+						break;
+					case URI_ENCLOSED:
+						to_b->uri.len = tmp - to_b->uri.s;
+						status = E_URI_ENCLOSED;
+						break;
+					case URI_OR_TOKEN:
+						foo = tmp;
+						status = MAYBE_URI_END;
+						break;
+					case DISPLAY_TOKEN:
+						foo = tmp;
+						status = DISPLAY_TOKEN_SP;
+						break;
+				}
+				break;
+			case '\n':
+				switch (status)
+				{
+					case URI_OR_TOKEN:
+						foo = tmp;
+						status = MAYBE_URI_END;
+					case MAYBE_URI_END:
+					case DISPLAY_TOKEN_SP:
+					case E_DISPLAY_QUOTED:
+					case END:
+						saved_status=status;
+						status=F_LF;
+						break;
+					case DISPLAY_TOKEN:
+						foo=tmp;
+						saved_status=DISPLAY_TOKEN_SP;
+						status=F_LF;
+						break;
+					case F_CR:
+						status=F_CRLF;
+						break;
+					case F_CRLF:
+					case F_LF:
+						status=saved_status;
+						goto endofheader;
+					default:
+						LOG( L_ERR , "ERROR: parse_to : unexpected char [%c] "
+							"in status %d: <<%.*s>> .\n",
+							*tmp,status, (int)(tmp-buffer), ZSW(buffer));
+						goto error;
+				}
+				break;
+			case '\r':
+				switch (status)
+				{
+					case URI_OR_TOKEN:
+						foo = tmp;
+						status = MAYBE_URI_END;
+					case MAYBE_URI_END:
+					case DISPLAY_TOKEN_SP:
+					case E_DISPLAY_QUOTED:
+					case END:
+						saved_status=status;
+						status=F_CR;
+						break;
+					case DISPLAY_TOKEN:
+						foo=tmp;
+						saved_status=DISPLAY_TOKEN_SP;
+						status=F_CR;
+						break;
+					case F_CRLF:
+					case F_CR:
+					case F_LF:
+						status=saved_status;
+						goto endofheader;
+					default:
+						LOG( L_ERR , "ERROR: parse_to : unexpected char [%c] "
+							"in status %d: <<%.*s>> .\n",
+							*tmp,status, (int)(tmp-buffer), ZSW(buffer));
+						goto error;
+				}
+				break;
+			case 0:
+				switch (status)
+				{
+					case URI_OR_TOKEN:
+					case MAYBE_URI_END:
+						to_b->uri.len = tmp - to_b->uri.s;
+					case END:
+						saved_status = status = END;
+						goto endofheader;
+					default:
+						LOG( L_ERR , "ERROR: parse_to : unexpected char [%c] "
+							"in status %d: <<%.*s>> .\n",
+							*tmp,status, (int)(tmp-buffer), ZSW(buffer));
+						goto error;
+				}
+				break;
+			case '\\':
+				switch (status)
+				{
+					case DISPLAY_QUOTED:
+						tmp++; /* jump over next char */
+						break;
+					default:
+						LOG( L_ERR , "ERROR: parse_to : unexpected char [%c] "
+							"in status %d: <<%.*s>> .\n",
+							*tmp,status, (int)(tmp-buffer), ZSW(buffer));
+						goto error;
+				}
+				break;
+			case '<':
+				switch (status)
+				{
+					case START_TO:
+						to_b->body.s=tmp;
+						status = S_URI_ENCLOSED;
+						break;
+					case DISPLAY_QUOTED:
+						break;
+					case E_DISPLAY_QUOTED:
+						status = S_URI_ENCLOSED;
+						break;
+					case URI_OR_TOKEN:
+					case DISPLAY_TOKEN:
+						to_b->display.len=tmp-to_b->display.s;
+						status = S_URI_ENCLOSED;
+						break;
+					case DISPLAY_TOKEN_SP:
+					case MAYBE_URI_END:
+						to_b->display.len=foo-to_b->display.s;
+						status = S_URI_ENCLOSED;
+						break;
+					case F_CRLF:
+					case F_LF:
+					case F_CR:
+						/*previous=crlf and now !=' '*/
+						goto endofheader;
+					default:
+						LOG( L_ERR , "ERROR: parse_to : unexpected char [%c] "
+							"in status %d: <<%.*s>> .\n",
+							*tmp,status, (int)(tmp-buffer), ZSW(buffer));
+						goto error;
+				}
+				break;
+			case '>':
+				switch (status)
+				{
+					case DISPLAY_QUOTED:
+						break;
+					case URI_ENCLOSED:
+						to_b->uri.len = tmp - to_b->uri.s;
+					case E_URI_ENCLOSED:
+						status = END;
+						foo = 0;
+						break;
+					case F_CRLF:
+					case F_LF:
+					case F_CR:
+						/*previous=crlf and now !=' '*/
+						goto endofheader;
+					default:
+						LOG( L_ERR , "ERROR: parse_to : unexpected char [%c] "
+							"in status %d: <<%.*s>> .\n",
+							*tmp,status, (int)(tmp-buffer), ZSW(buffer));
+						goto error;
+				}
+				break;
+			case '"':
+				switch (status)
+				{
+					case START_TO:
+						to_b->body.s = tmp;
+						to_b->display.s = tmp;
+						status = DISPLAY_QUOTED;
+						break;
+					case DISPLAY_QUOTED:
+						status = E_DISPLAY_QUOTED;
+						to_b->display.len = tmp-to_b->display.s+1;
+						break;
+					case F_CRLF:
+					case F_LF:
+					case F_CR:
+						/*previous=crlf and now !=' '*/
+						goto endofheader;
+					default:
+						LOG( L_ERR , "ERROR: parse_to : unexpected char [%c] "
+							"in status %d: <<%.*s>> .\n",
+							*tmp,status, (int)(tmp-buffer), buffer);
+						goto error;
+				}
+				break;
+			case ';' :
+				switch (status)
+				{
+					case DISPLAY_QUOTED:
+					case URI_ENCLOSED:
+						break;
+					case URI_OR_TOKEN:
+						foo = tmp;
+					case MAYBE_URI_END:
+						to_b->uri.len = foo - to_b->uri.s;
+					case END:
+						to_b->body.len = tmp-to_b->body.s;
+						tmp = parse_to_param(tmp,end,to_b,allow_comma_sep,&saved_status);
+						goto endofheader;
+					case F_CRLF:
+					case F_LF:
+					case F_CR:
+						/*previous=crlf and now !=' '*/
+						goto endofheader;
+					default:
+						LOG( L_ERR , "ERROR: parse_to : unexpected char [%c] "
+							"in status %d: <<%.*s>> .\n",
+							*tmp,status, (int)(tmp-buffer), buffer);
+						goto error;
+				}
+				break;
+			case ',' :
+				if (allow_comma_sep)
+				{
+					switch (status)
+					{
+						case DISPLAY_QUOTED:
+						case URI_ENCLOSED:
+							break;
+						case URI_OR_TOKEN:
+							foo = tmp;
+						case MAYBE_URI_END:
+							to_b->uri.len = foo - to_b->uri.s;
+						case END:
+							to_b->body.len = tmp-to_b->body.s;
+							saved_status = END;
+							goto endofheader;
+						case F_CRLF:
+						case F_LF:
+						case F_CR:
+							/*previous=crlf and now !=' '*/
+							goto endofheader;
+						default:
+							LOG( L_ERR , "ERROR: parse_to : unexpected char [%c] "
+								"in status %d: <<%.*s>> .\n",
+								*tmp,status, (int)(tmp-buffer), buffer);
+							goto error;
+					}
+					break;
+				}
+				/* If commas not allowed treat as a default character */
+			default:
+				switch (status)
+				{
+					case START_TO:
+						to_b->uri.s = to_b->body.s = tmp;
+						status = URI_OR_TOKEN;
+						to_b->display.s=tmp;
+						break;
+					case S_URI_ENCLOSED:
+						to_b->uri.s=tmp;
+						status=URI_ENCLOSED;
+						break;
+					case MAYBE_URI_END:
+					case DISPLAY_TOKEN_SP:
+						status = DISPLAY_TOKEN;
+					case DISPLAY_QUOTED:
+					case DISPLAY_TOKEN:
+					case URI_ENCLOSED:
+					case URI_OR_TOKEN:
+						break;
+					case F_CRLF:
+					case F_LF:
+					case F_CR:
+						/*previous=crlf and now !=' '*/
+						goto endofheader;
+					default:
+						DBG("DEBUG:parse_to: spitting out [%c] in status %d\n",
+						*tmp,status );
+						goto error;
+				}
+		}/*char switch*/
+	}/*for*/
+
+	/* Reached end of buffer */
+	switch (status)
+	{
+		case URI_OR_TOKEN:
+		case MAYBE_URI_END:
+		case END:
+			saved_status = status;
+			foo = tmp;
+	}
+
+endofheader:
+	if (to_b->display.len==0) to_b->display.s=0;
+	status=saved_status;
+	DBG("end of header reached, state=%d\n", status);
+	/* check if error*/
+	switch(status){
+		case URI_OR_TOKEN:
+		case MAYBE_URI_END:
+			to_b->uri.len = foo - to_b->uri.s;
+		case END:
+			to_b->body.len = tmp - to_b->body.s;
+		case E_PARA_VALUE:
+			break;
+		default:
+			LOG(L_ERR, "ERROR: parse_to: invalid To -  unexpected "
+					"end of header in state %d\n", status);
+			goto error;
+	}
+	return tmp;
+
+error:
+	to_b->error=PARSE_ERROR;
+	return tmp;
+
+}
+
+
+void free_to_params(struct to_body* const tb)
+{
+	struct to_param *tp=tb->param_lst;
+	struct to_param *foo;
+	while (tp){
+		foo = tp->next;
+		pkg_free(tp);
+		tp=foo;
+	}
+}
+
+
+void free_to(struct to_body* const tb)
+{
+	free_to_params(tb);
+	pkg_free(tb);
+}
+

+ 70 - 0
parser/parse_addr_spec.h

@@ -0,0 +1,70 @@
+/*
+ * Copyright (C) 2001-2003 Fhg Fokus
+ *
+ * This file is part of Kamailio, a free SIP server.
+ *
+ * Kamailio is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version
+ *
+ * Kamailio is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License 
+ * along with this program; if not, write to the Free Software 
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ */
+
+/*! \file
+ * \brief Parser :: Parse addr-spec
+ *
+ * \ingroup parser
+ */
+
+#ifndef PARSE_ADDR_SPEC
+#define PARSE_ADDR_SPEC
+
+#include "../str.h"
+#include "msg_parser.h"
+
+enum {
+	TAG_PARAM = 400, GENERAL_PARAM
+};
+
+typedef struct to_param{
+	int type;              /*!< Type of parameter */
+	str name;              /*!< Name of parameter */
+	str value;             /*!< Parameter value */
+	struct to_param* next; /*!< Next parameter in the list */
+} to_param_t;
+
+
+typedef struct to_body{
+	int error;                    /*!< Error code */
+	str body;                     /*!< The whole header field body */
+	str uri;                      /*!< URI */
+	str display;				  /*!< Display Name */
+	str tag_value;                /*!< Value of tag */
+	struct sip_uri parsed_uri;
+	struct to_param *param_lst;   /*!< Linked list of parameters */
+	struct to_param *last_param;  /*!< Last parameter in the list */
+} to_body_t;
+
+
+/*! \brief
+ * To header field parser
+ */
+char* parse_addr_spec(char* const buffer, const char* const end, struct to_body* const to_b, int allow_comma_separated);
+
+void free_to_params(struct to_body* const tb);
+
+void free_to(struct to_body* const tb);
+
+int parse_to_header(struct sip_msg* const msg);
+
+sip_uri_t *parse_to_uri(struct sip_msg* const msg);
+
+#endif

+ 299 - 0
parser/parse_body.c

@@ -294,3 +294,302 @@ next_hf:
 	}
 	return NULL;
 }
+
+
+/**
+ * trim_leading_hts
+ *
+ * trim leading all spaces ' ' and horizontal tabs '\t' characters.
+ *   - buffer, pointer to the beginning of the buffer.
+ *   - end_buffer, pointer to the end of the buffer.
+ * returns
+ *   - pointer to the first non-match character if success.
+ *   - pointer to NULL if the end_buffer is reached.
+ */
+char *trim_leading_hts (char *buffer, char *end_buffer)
+{
+	char *cpy_buffer = buffer;
+	while ((cpy_buffer < end_buffer) &&
+			((*cpy_buffer == ' ') || (*cpy_buffer == '\t'))) {
+		cpy_buffer++;
+	}
+
+	return ((cpy_buffer < end_buffer) ? cpy_buffer : NULL);
+}
+
+
+/**
+ * trim_leading_e_r
+ *
+ * trim leading characters until get a '\r'.
+ *   - buffer, pointer to the beginning of the buffer.
+ *   - end_buffer, pointer to the end of the buffer.
+ *
+ * returns
+ *   - pointer to the first '\r' character if success.
+ *   - pointer to NULL if the end_buffer is reached.
+ */
+char *trim_leading_e_r (char *buffer, char *end_buffer)
+{
+	char *cpy_buffer = buffer;
+	while ((cpy_buffer < end_buffer) && (*cpy_buffer != '\r')) {
+		cpy_buffer++;
+	}
+	return ((cpy_buffer < end_buffer) ? cpy_buffer : NULL);
+}
+
+
+/**
+ * part_multipart_headers_cmp
+ * trim leading characters until get a '\r'.
+ * receives
+ *   - buffer, pointer to the beginning of the headers in a part of the multipart body.
+ *   - end_buffer, pointer to the end of the headers in the multipart body.
+ *   - content type/ content subtype.
+ *         if (type == 0 / subtype == 0): Content-Type: disabled in the search.
+ *   - content id.
+ *         if (id == NULL): Content-ID: disabled in the search.
+ *   - content length.
+ *         if (length == NULL) Content-Length: disabled in the search.
+ *
+ * returns
+ *   - true, if the part of the multipart body has :
+ *            -- Content-Type   that matches content_type / content_subtype. (if Content-Type enabled) &&
+ *            -- Content-ID     that matches content_id. (if Content-ID enabled) &&
+ *            -- Content-Length that matches content_length. (if Content-Length enabled)
+ *   - false, if any of them doesnt match.
+ */
+int part_multipart_headers_cmp (char *buffer,
+				char *end_buffer,
+				unsigned short content_type,
+				unsigned short content_subtype,
+				char *content_id,
+				char *content_length)
+{
+	int error = 0;
+	char *error_msg = NULL;
+
+	char *cpy_c = NULL;
+	char *cpy_d = NULL;
+
+	char *value_ini = NULL;
+	char *value_fin = NULL;
+	unsigned int umime;
+
+	int found = 0;
+	int found_content_type   = 0;
+	int found_content_id     = 0;
+	int found_content_length = 0;
+
+	if ((buffer == NULL) || (end_buffer == NULL)) {
+		error = -1;
+		error_msg = "buffer and/or end_buffer are NULL";
+	} else {
+		cpy_c = buffer;
+		cpy_d = end_buffer;
+
+		if ((content_type == 0) && (content_subtype == 0)) {
+			found_content_type   = 1;
+		}
+		if (content_id == NULL) {
+			found_content_id = 1;
+		}
+		if (content_length == NULL) {
+			found_content_length = 1;
+		}
+
+		found = found_content_type * found_content_id * found_content_length;
+		while ((!found) && (!error) && (cpy_c < cpy_d)) {
+			if ((cpy_c + 8) < cpy_d) {
+				if ( (LOWER_DWORD(READ(cpy_c)) == _cont_)
+						&& (LOWER_DWORD(READ(cpy_c + 4)) == _ent__) ) {
+					cpy_c += 8;
+					if ( (!found_content_type)
+							&& ((cpy_c + 5) < cpy_d)
+							&& ((*(cpy_c + 0) == 't') || (*(cpy_c + 0) == 'T'))
+							&& ((*(cpy_c + 1) == 'y') || (*(cpy_c + 1) == 'Y'))
+							&& ((*(cpy_c + 2) == 'p') || (*(cpy_c + 2) == 'P'))
+							&& ((*(cpy_c + 3) == 'e') || (*(cpy_c + 3) == 'E'))
+							&& (*(cpy_c + 4) == ':') ) {
+						cpy_c += 5;
+						/* value_ has the content of the header */
+						value_ini = trim_leading_hts(cpy_c, cpy_d);
+						value_fin = trim_leading_e_r(cpy_c, cpy_d);
+						if ((value_ini != NULL) && (value_fin != NULL)) {
+							cpy_c = value_fin;
+							if (decode_mime_type(value_ini, value_fin, &umime)) {
+								if (umime == ((content_type<<16)|content_subtype)) {
+									found_content_type = 1;
+								} else {
+									error = -2;
+									error_msg = "MIME types mismatch";
+								}
+							} else {
+								error = -3;
+								error_msg = "Failed to decode MIME type";
+							}
+						} else {
+							error = -4;
+							error_msg = "Failed to perform trim_leading_hts || trim_leading_e_r";
+						}
+					} else if( (!found_content_id) && ((cpy_c + 3) < cpy_d)
+							&& ((*(cpy_c + 0) == 'i') || (*(cpy_c + 0) == 'I'))
+							&& ((*(cpy_c + 1) == 'd') || (*(cpy_c + 1) == 'D'))
+							&& (*(cpy_c + 2) == ':') ) {
+						cpy_c += 3;
+						/* value_ has the content of the header */
+						value_ini = trim_leading_hts(cpy_c, cpy_d);
+						value_fin = trim_leading_e_r(cpy_c, cpy_d);
+						if ((value_ini != NULL) && (value_fin != NULL)) {
+							cpy_c = value_fin;
+							if (strncmp(content_id, value_ini, value_fin-value_ini) == 0) {
+								found_content_id = 1;
+							} else {
+								error = -5;
+								error_msg = "Content-ID mismatch";
+							}
+						} else {
+							error = -6;
+							error_msg = "Failed to perform trim_leading_hts || trim_leading_e_r";
+						}
+					} else if( (!found_content_length) && ((cpy_c + 7) < cpy_d)
+							&& ((*(cpy_c + 0) == 'l') || (*(cpy_c + 0) == 'L'))
+							&& ((*(cpy_c + 1) == 'e') || (*(cpy_c + 1) == 'E'))
+							&& ((*(cpy_c + 2) == 'n') || (*(cpy_c + 2) == 'N'))
+							&& ((*(cpy_c + 3) == 'g') || (*(cpy_c + 3) == 'G'))
+							&& ((*(cpy_c + 4) == 't') || (*(cpy_c + 4) == 'T'))
+							&& ((*(cpy_c + 5) == 'h') || (*(cpy_c + 5) == 'H'))
+							&& (*(cpy_c + 6) == ':') ) {
+						cpy_c += 7;
+						/* value_ has the content of the header */
+						value_ini = trim_leading_hts(cpy_c, cpy_d);
+						value_fin = trim_leading_e_r(cpy_c, cpy_d);
+						if ((value_ini != NULL) && (value_fin != NULL)) {
+							cpy_c = value_fin;
+							if (strncmp(content_length, value_ini, value_fin-value_ini) == 0) {
+								found_content_length = 1;
+							} else {
+								error = -7;
+								error_msg = "Content-Length mismatch";
+							}
+						} else {
+							error = -8;
+							error_msg = "Failed to perform trim_leading_hts || trim_leading_e_r";
+						}
+					} else {
+						/* Next characters dont match "Type:" or "ID:" or "Length:" OR
+					     * header already parsed (maybe duplicates?) and founded OR
+					     * header initially set as disabled and it doesnt need to be treated.
+					     * This is NOT an error. */
+						;
+					}
+				} else {
+					/* First 8 characters dont match "Content-"
+					 * This is NOT an error. */
+					;
+				}
+			} else {
+				error = -9;
+				error_msg = "We reached the end of the buffer";
+			}
+			found = found_content_type * found_content_id * found_content_length;
+			if ((!found) && (!error)) {
+				value_fin = trim_leading_e_r(cpy_c, cpy_d);
+				if (value_fin != NULL) {
+					cpy_c = value_fin;
+					if ((cpy_c + 1) < cpy_d) {
+						if ((*cpy_c == '\r') && (*(cpy_c + 1) == '\n')) {
+							cpy_c++;
+							cpy_c++;
+						} else {
+							error = -10;
+							error_msg = "Each line must end with a \r\n";
+						}
+					} else {
+						error = -11;
+						error_msg = "We reached the end of the buffer";
+					}
+				} else {
+					error = -12;
+					error_msg = "Failed to perform trim_leading_e_r";
+				}
+			}
+		} /* End main while loop */
+	}
+
+	if (error < 0) {
+		LM_ERR("part_multipart_headers_cmp. error. \"%i\". \"%s\".\n", error, error_msg);
+		return 0;
+	} else {
+		return found;
+	}
+}
+
+/**
+ * get_body_part_by_filter
+ *
+ * Filters the multipart part from a given SIP message which matches the
+ * Content-Type && || Content-ID  && || Content-Length
+ * receives
+ *   - SIP message
+ *   - pointer to the beginning of the headers in a part of the multipart body.
+ *   - pointer to the end of the headers in the multipart body.
+ *   - content type/ content subtype.
+ *         if (type == 0 / subtype == 0): Content-Type: disabled in the search.
+ *   - content id.
+ *         if (id == NULL): Content-ID: disabled in the search.
+ *   - content length.
+ *         if (length == NULL) Content-Length: disabled in the search.
+ *   - len. Length of the multipart message returned.
+ *
+ * returns
+ *   - pointer to the multipart if success.
+ *   - NULL, if none of the multiparts match.
+ */
+char *get_body_part_by_filter(struct sip_msg *msg,
+		     unsigned short content_type,
+		     unsigned short content_subtype,
+		     char *content_id,
+		     char *content_length,
+		     int *len)
+{
+	int mime;
+	char*c, *d, *buf_end;
+	str boundary;
+
+	if ((mime = parse_content_type_hdr(msg)) <= 0)
+		return NULL;
+
+	if ((mime>>16) == TYPE_MULTIPART) {
+		/* type is multipart/something, search for type/subtype part */
+		if (get_boundary_param(msg, &boundary)) {
+			ERR("failed to get boundary parameter\n");
+			return NULL;
+		}
+		if (!(c = get_body(msg)))
+			return NULL;
+		buf_end = msg->buf+msg->len;
+
+		while ((c = search_boundary(c, buf_end, &boundary))) {
+			/* skip boundary */
+			c += 2 + boundary.len;
+
+			if ((c+2 > buf_end) || ((*c == '-') && (*(c+1) == '-')) )
+				/* end boundary, no more body part will follow */
+				return NULL;
+
+			/* go to the next line */
+			while ((c < buf_end) && (*c != '\n')) c++;
+			c++;
+			if (c >= buf_end)
+				return NULL;
+
+			d = get_multipart_body(c, buf_end, &boundary, len);
+			if (part_multipart_headers_cmp(c, d, content_type, content_subtype,
+						content_id, content_length)) {
+				return d;
+			}
+		}
+	}
+	return NULL;
+}

+ 11 - 0
parser/parse_body.h

@@ -41,4 +41,15 @@ char *get_body_part(	struct sip_msg *msg,
 			unsigned short type, unsigned short subtype,
 			int *len);
 
+/*! \brief Returns the pointer within the msg body to the given part matching
+ * type/subtype, content id or content lenght. It sets the length.
+ * The result can be the whole msg body, or a part of a multipart body.
+ */
+char *get_body_part_by_filter(struct sip_msg *msg,
+		     unsigned short content_type,
+		     unsigned short content_subtype,
+		     char *content_id,
+		     char *content_length,
+		     int *len);
+
 #endif /* PARSE_BODY_H */

+ 211 - 0
parser/parse_ppi_pai.c

@@ -0,0 +1,211 @@
+/*
+ * Copyright (C) 2013 Hugh Waite
+ *
+ * This file is part of Kamailio, a free SIP server.
+ *
+ * Kamailio is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version
+ *
+ * Kamailio is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License 
+ * along with this program; if not, write to the Free Software 
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ * History:
+ * ---------
+ * 2013-03-06 Created (hpw)
+ */
+
+/** Parser :: Parse P-Asserted-Identity: header.
+ * @file
+ * @ingroup parser
+ */
+
+#include "parse_ppi_pai.h"
+#include <stdlib.h>
+#include <string.h>
+#include "../dprint.h"
+#include "msg_parser.h"
+#include "parse_uri.h"
+#include "../ut.h"
+#include "../mem/mem.h"
+
+/* 
+ * A P-Asserted-Identity or P-Preferred-Identity header value is an addr-spec or name-addr
+ * There can be only one of any URI scheme (sip(s), tel etc), which may occur on separate
+ * headers or can be comma separated in a single header.
+ * RFC3325 only mentions sip(s) and tel schemes, but there is no reason why other schemes
+ * cannot be used in the future.
+ */
+
+/*!
+ *
+ */
+#define NUM_PAI_BODIES 10
+int parse_pai_ppi_body(char *buf, int len, p_id_body_t **body)
+{
+	static to_body_t uri_b[NUM_PAI_BODIES]; /* Temporary storage */
+	int num_uri = 0;
+	char *tmp;
+	int i;
+	memset(uri_b, 0, NUM_PAI_BODIES * sizeof(to_body_t));
+
+	tmp = parse_addr_spec(buf, buf+len, &uri_b[num_uri], 1);
+	if (uri_b[num_uri].error == PARSE_ERROR)
+	{
+		LM_ERR("Error parsing PAI/PPI body %u '%.*s'\n", num_uri, len, buf);
+		return -1;
+	}
+	num_uri++;
+	while ((*tmp == ',') && (num_uri < NUM_PAI_BODIES))
+	{
+		tmp++;
+		tmp = parse_addr_spec(tmp, buf+len, &uri_b[num_uri], 1);
+		if (uri_b[num_uri].error == PARSE_ERROR)
+		{
+			LM_ERR("Error parsing PAI/PPI body %u '%.*s'\n", num_uri, len, buf);
+			return -1;
+		}
+		num_uri++;
+	}
+	if (num_uri >= NUM_PAI_BODIES)
+	{
+		LM_WARN("Too many bodies in PAI/PPI header '%.*s'\n", len, buf);
+		LM_WARN("Ignoring bodies beyond %u\n", NUM_PAI_BODIES);
+	}
+	*body = pkg_malloc(sizeof(p_id_body_t) + num_uri * sizeof(to_body_t));
+	if (*body == NULL)
+	{
+		LM_ERR("No pkg memory for pai/ppi body\n");
+		return -1;
+	}
+	memset(*body, 0, sizeof(p_id_body_t));
+	(*body)->id = (to_body_t*)((char*)(*body) + sizeof(p_id_body_t));
+	(*body)->num_ids = num_uri;
+	for (i=0; i< num_uri; i++)
+	{
+		memcpy(&(*body)->id[i], &uri_b[i], sizeof(to_body_t));
+	}
+	return 0;
+}
+
+int free_pai_ppi_body(p_id_body_t *pid_b)
+{
+	if (pid_b != NULL)
+	{
+		pkg_free(pid_b);
+	}
+	return 0;
+}
+
+/*!
+ * \brief Parse all P-Asserted-Identity headers
+ * \param msg The SIP message structure
+ * \return 0 on success, -1 on failure
+ */
+int parse_pai_header(struct sip_msg* const msg)
+{
+	p_id_body_t *pai_b;
+	p_id_body_t **prev_pid_b;
+	hdr_field_t *hf;
+
+	if ( !msg->pai )
+	{
+		if (parse_headers(msg, HDR_PAI_F, 0) < 0)
+		{
+			LM_ERR("Error parsing PAI header\n");
+			return -1;
+		}
+		if ( !msg->pai )
+			/* No PAI headers */
+			return -1;
+	}
+
+	if ( msg->pai->parsed )
+		return 0;
+
+	prev_pid_b = (p_id_body_t**)(&msg->pai->parsed);
+
+	for (hf = msg->pai; hf != NULL; hf = next_sibling_hdr(hf))
+	{
+		if (parse_pai_ppi_body(hf->body.s, hf->body.len, &pai_b) < 0)
+		{
+			return -1;
+		}
+		hf->parsed = (void*)pai_b;
+		*prev_pid_b = pai_b;
+		prev_pid_b = &pai_b->next;
+
+		if (parse_headers(msg, HDR_PAI_F, 1) < 0)
+		{
+			LM_ERR("Error looking for subsequent PAI header");
+			return -1;
+		}
+	}
+	return 0;
+}
+
+/*!
+ * \brief Parse all P-Preferred-Identity headers
+ * \param msg The SIP message structure
+ * \return 0 on success, -1 on failure
+ */
+int parse_ppi_header(struct sip_msg* const msg)
+{
+	p_id_body_t *ppi_b, *prev_pidb;
+	hdr_field_t *hf;
+
+	if ( !msg->ppi )
+	{
+		if (parse_headers(msg, HDR_PPI_F, 0) < 0)
+		{
+			LM_ERR("Error parsing PPI header\n");
+			return -1;
+		}
+		if ( !msg->ppi )
+			/* No PPI headers */
+			return -1;
+	}
+
+	if ( msg->ppi->parsed )
+		return 0;
+
+	if (parse_pai_ppi_body(msg->ppi->body.s, msg->ppi->body.len, &ppi_b) < 0)
+	{
+		return -1;
+	}
+	msg->ppi->parsed = (void*)ppi_b;
+
+	if (parse_headers(msg, HDR_PPI_F, 1) < 0)
+	{
+		LM_ERR("Error looking for subsequent PPI header");
+		return -1;
+	}
+	prev_pidb = ppi_b;
+	hf = msg->ppi;
+
+	if ((hf = next_sibling_hdr(hf)) != NULL)
+	{
+		if (parse_pai_ppi_body(hf->body.s, hf->body.len, &ppi_b) < 0)
+		{
+			return -1;
+		}
+		hf->parsed = (void*)ppi_b;
+
+		if (parse_headers(msg, HDR_PPI_F, 1) < 0)
+		{
+			LM_ERR("Error looking for subsequent PPI header");
+			return -1;
+		}
+		prev_pidb->next = ppi_b;
+		prev_pidb = ppi_b;
+	}
+	return 0;
+}
+

+ 22 - 16
lib/kcore/parse_pai.h → parser/parse_ppi_pai.h

@@ -1,6 +1,5 @@
 /*
- *
- * Copyright (C) 2006 Juha Heinanen
+ * Copyright (C) 2013 Hugh Waite
  *
  * This file is part of Kamailio, a free SIP server.
  *
@@ -17,29 +16,36 @@
  * You should have received a copy of the GNU General Public License 
  * along with this program; if not, write to the Free Software 
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
- *
  */
 
-/*!
- * \file
- * \brief P-Asserted-Identity header parser
+/*! \file
+ * \brief Parser :: Parse P-Asserted-Identity: header
+ *
  * \ingroup parser
  */
 
-#ifndef PARSE_PAI_H
-#define PARSE_PAI_H
+#ifndef PARSE_PAI_PPI_H
+#define PARSE_PAI_PPI_H
 
-#include "../../parser/msg_parser.h"
-#include "../../parser/parse_to.h"
+#include "../str.h"
+#include "msg_parser.h"
+#include "parse_to.h"
 
+typedef struct p_id_body {
+	to_body_t *id;
+	int num_ids;
+	struct p_id_body *next;
+} p_id_body_t;
+
+int parse_pai_header(struct sip_msg* const msg);
+int parse_ppi_header(struct sip_msg* const msg);
 
 /*! casting macro for accessing P-Asserted-Identity body */
-#define get_pai(p_msg)  ((struct to_body*)(p_msg)->pai->parsed)
+#define get_pai(p_msg)  ((p_id_body_t*)(p_msg)->pai->parsed)
 
+/*! casting macro for accessing P-Preferred-Identity body */
+#define get_ppi(p_msg)  ((p_id_body_t*)(p_msg)->ppi->parsed)
 
-/*!
- * P-Asserted-Identity header field parser
- */
-int parse_pai_header( struct sip_msg *msg);
+int free_pai_ppi_body(p_id_body_t *pid_b);
 
-#endif /* PARSE_PAI_H */
+#endif

+ 2 - 795
parser/parse_to.c

@@ -29,6 +29,7 @@
  */
 
 #include "parse_to.h"
+#include "parse_addr_spec.h"
 #include <stdlib.h>
 #include <string.h>
 #include "../dprint.h"
@@ -38,803 +39,9 @@
 #include "../mem/mem.h"
 
 
-enum {
-	START_TO, DISPLAY_QUOTED, E_DISPLAY_QUOTED, DISPLAY_TOKEN,
-	DISPLAY_TOKEN_SP, S_URI_ENCLOSED, URI_ENCLOSED, E_URI_ENCLOSED,
-	URI_OR_TOKEN, MAYBE_URI_END, END, F_CR, F_LF, F_CRLF
-};
-
-
-enum {
-	S_PARA_NAME=20, PARA_NAME, S_EQUAL, S_PARA_VALUE, TAG1, TAG2,
-	TAG3, PARA_VALUE_TOKEN , PARA_VALUE_QUOTED, E_PARA_VALUE
-};
-
-
-
-#define add_param( _param , _body , _newparam ) \
-	do{\
-		DBG("DEBUG: add_param: %.*s=%.*s\n",param->name.len,ZSW(param->name.s),\
-			param->value.len,ZSW(param->value.s));\
-		if (!(_body)->param_lst)  (_body)->param_lst=(_param);\
-		else (_body)->last_param->next=(_param);\
-		(_body)->last_param =(_param);\
-		if ((_param)->type==TAG_PARAM)\
-			memcpy(&((_body)->tag_value),&((_param)->value),sizeof(str));\
-		_newparam = 0;\
-	}while(0);
-
-
-
-
-
-static char* parse_to_param(char* const buffer, const char* const end,
-					struct to_body* const to_b,
-					int* const returned_status)
-{
-	struct to_param *param;
-	struct to_param *newparam;
-	int status;
-	int saved_status;
-	char  *tmp;
-
-	param=0;
-	newparam=0;
-	status=E_PARA_VALUE;
-	saved_status=E_PARA_VALUE;
-	for( tmp=buffer; tmp<end; tmp++)
-	{
-		switch(*tmp)
-		{
-			case ' ':
-			case '\t':
-				switch (status)
-				{
-					case TAG3:
-						param->type=TAG_PARAM;
-					case PARA_NAME:
-					case TAG1:
-					case TAG2:
-						param->name.len = tmp-param->name.s;
-						status = S_EQUAL;
-						break;
-					case PARA_VALUE_TOKEN:
-						param->value.len = tmp-param->value.s;
-						status = E_PARA_VALUE;
-						add_param(param, to_b, newparam);
-						break;
-					case F_CRLF:
-					case F_LF:
-					case F_CR:
-						/*previous=crlf and now =' '*/
-						status=saved_status;
-						break;
-				}
-				break;
-			case '\n':
-				switch (status)
-				{
-					case S_PARA_NAME:
-					case S_EQUAL:
-					case S_PARA_VALUE:
-					case E_PARA_VALUE:
-						saved_status=status;
-						status=F_LF;
-						break;
-					case TAG3:
-						param->type=TAG_PARAM;
-					case PARA_NAME:
-					case TAG1:
-					case TAG2:
-						param->name.len = tmp-param->name.s;
-						saved_status = S_EQUAL;
-						status = F_LF;
-						break;
-					case PARA_VALUE_TOKEN:
-						param->value.len = tmp-param->value.s;
-						saved_status = E_PARA_VALUE;
-						status = F_LF;
-						add_param(param, to_b, newparam);
-						break;
-					case F_CR:
-						status=F_CRLF;
-						break;
-					case F_CRLF:
-					case F_LF:
-						status=saved_status;
-						goto endofheader;
-					default:
-						LOG( L_ERR , "ERROR: parse_to_param : "
-							"unexpected char [%c] in status %d: <<%.*s>> .\n",
-							*tmp,status, (int)(tmp-buffer), ZSW(buffer));
-						goto error;
-				}
-				break;
-			case '\r':
-				switch (status)
-				{
-					case S_PARA_NAME:
-					case S_EQUAL:
-					case S_PARA_VALUE:
-					case E_PARA_VALUE:
-						saved_status=status;
-						status=F_CR;
-						break;
-					case TAG3:
-						param->type=TAG_PARAM;
-					case PARA_NAME:
-					case TAG1:
-					case TAG2:
-						param->name.len = tmp-param->name.s;
-						saved_status = S_EQUAL;
-						status = F_CR;
-						break;
-					case PARA_VALUE_TOKEN:
-						param->value.len = tmp-param->value.s;
-						saved_status = E_PARA_VALUE;
-						status = F_CR;
-						add_param(param, to_b, newparam);
-						break;
-					case F_CRLF:
-					case F_CR:
-					case F_LF:
-						status=saved_status;
-						goto endofheader;
-					default:
-						LOG( L_ERR , "ERROR: parse_to_param : "
-							"unexpected char [%c] in status %d: <<%.*s>> .\n",
-							*tmp,status, (int)(tmp-buffer), ZSW(buffer));
-						goto error;
-				}
-				break;
-			case 0:
-				switch (status)
-				{
-					case TAG3:
-						param->type = TAG_PARAM;
-					case PARA_NAME:
-					case TAG1:
-					case TAG2:
-						param->name.len = tmp-param->name.s;
-						status = S_EQUAL;
-					case S_EQUAL:
-					case S_PARA_VALUE:
-						saved_status=status;
-						goto endofheader;
-					case PARA_VALUE_TOKEN:
-						status = E_PARA_VALUE;
-						param->value.len = tmp-param->value.s;
-						add_param(param , to_b, newparam);
-					case E_PARA_VALUE:
-						saved_status = status;
-						goto endofheader;
-						break;
-					default:
-						LOG( L_ERR , "ERROR: parse_to_param : "
-							"unexpected char [%c] in status %d: <<%.*s>> .\n",
-							*tmp,status, (int)(tmp-buffer), ZSW(buffer));
-						goto error;
-				}
-				break;
-			case '\\':
-				switch (status)
-				{
-					case PARA_VALUE_QUOTED:
-						switch (*(tmp+1))
-						{
-							case '\r':
-							case '\n':
-								break;
-							default:
-								tmp++;
-						}
-					default:
-						LOG( L_ERR , "ERROR: parse_to_param : "
-							"unexpected char [%c] in status %d: <<%.*s>> .\n",
-							*tmp,status, (int)(tmp-buffer), ZSW(buffer));
-						goto error;
-				}
-				break;
-			case '"':
-				switch (status)
-				{
-					case S_PARA_VALUE:
-						param->value.s = tmp+1;
-						status = PARA_VALUE_QUOTED;
-						break;
-					case PARA_VALUE_QUOTED:
-						param->value.len=tmp-param->value.s;
-						add_param(param, to_b, newparam);
-						status = E_PARA_VALUE;
-						break;
-					case F_CRLF:
-					case F_LF:
-					case F_CR:
-						/*previous=crlf and now !=' '*/
-						goto endofheader;
-					default:
-						LOG( L_ERR , "ERROR: parse_to_param :"
-							"unexpected char [%c] in status %d: <<%.*s>> .\n",
-							*tmp,status,(int)(tmp-buffer), ZSW(buffer));
-						goto error;
-				}
-				break;
-			case ';' :
-				switch (status)
-				{
-					case PARA_VALUE_QUOTED:
-						break;
-					case TAG3:
-						param->type = TAG_PARAM;
-					case PARA_NAME:
-					case TAG1:
-					case TAG2:
-						param->name.len = tmp-param->name.s;
-					case S_EQUAL:
-						param->value.s = 0;
-						param->value.len = 0;
-						goto semicolon_add_param;
-					case S_PARA_VALUE:
-						param->value.s = tmp;
-					case PARA_VALUE_TOKEN:
-						param->value.len=tmp-param->value.s;
-semicolon_add_param:
-						add_param(param, to_b, newparam);
-					case E_PARA_VALUE:
-						param = (struct to_param*)
-							pkg_malloc(sizeof(struct to_param));
-						if (!param){
-							LOG( L_ERR , "ERROR: parse_to_param"
-							" - out of memory\n" );
-							goto error;
-						}
-						memset(param,0,sizeof(struct to_param));
-						param->type=GENERAL_PARAM;
-						status = S_PARA_NAME;
-						/* link to free mem if not added in to_body list */
-						newparam = param;
-						break;
-					case F_CRLF:
-					case F_LF:
-					case F_CR:
-						/*previous=crlf and now !=' '*/
-						goto endofheader;
-					default:
-						LOG( L_ERR , "ERROR: parse_to_param :"
-							"unexpected char [%c] in status %d: <<%.*s>> .\n",
-							*tmp,status, (int)(tmp-buffer), ZSW(buffer));
-						goto error;
-				}
-				break;
-			case 'T':
-			case 't' :
-				switch (status)
-				{
-					case PARA_VALUE_QUOTED:
-					case PARA_VALUE_TOKEN:
-					case PARA_NAME:
-						break;
-					case S_PARA_NAME:
-						param->name.s = tmp;
-						status = TAG1;
-						break;
-					case S_PARA_VALUE:
-						param->value.s = tmp;
-						status = PARA_VALUE_TOKEN;
-						break;
-					case TAG1:
-					case TAG2:
-					case TAG3:
-						status = PARA_NAME;
-						break;
-					case F_CRLF:
-					case F_LF:
-					case F_CR:
-						/*previous=crlf and now !=' '*/
-						goto endofheader;
-					default:
-						LOG( L_ERR , "ERROR: parse_to_param :"
-							"unexpected char [%c] in status %d: <<%.*s>> .\n",
-							*tmp,status, (int)(tmp-buffer), ZSW(buffer));
-						goto error;
-				}
-				break;
-			case 'A':
-			case 'a' :
-				switch (status)
-				{
-					case PARA_VALUE_QUOTED:
-					case PARA_VALUE_TOKEN:
-					case PARA_NAME:
-						break;
-					case S_PARA_NAME:
-						param->name.s = tmp;
-						status = PARA_NAME;
-						break;
-					case S_PARA_VALUE:
-						param->value.s = tmp;
-						status = PARA_VALUE_TOKEN;
-						break;
-					case TAG1:
-						status = TAG2;
-						break;
-					case TAG2:
-					case TAG3:
-						status = PARA_NAME;
-						break;
-					case F_CRLF:
-					case F_LF:
-					case F_CR:
-						/*previous=crlf and now !=' '*/
-						goto endofheader;
-					default:
-						LOG( L_ERR , "ERROR: parse_to_param : "
-							"unexpected char [%c] in status %d: <<%.*s>> .\n",
-							*tmp,status, (int)(tmp-buffer), ZSW(buffer));
-						goto error;
-				}
-				break;
-			case 'G':
-			case 'g' :
-				switch (status)
-				{
-					case PARA_VALUE_QUOTED:
-					case PARA_VALUE_TOKEN:
-					case PARA_NAME:
-						break;
-					case S_PARA_NAME:
-						param->name.s = tmp;
-						status = PARA_NAME;
-						break;
-					case S_PARA_VALUE:
-						param->value.s = tmp;
-						status = PARA_VALUE_TOKEN;
-						break;
-					case TAG1:
-					case TAG3:
-						status = PARA_NAME;
-						break;
-					case TAG2:
-						status = TAG3;
-						break;
-					case F_CRLF:
-					case F_LF:
-					case F_CR:
-						/*previous=crlf and now !=' '*/
-						goto endofheader;
-					default:
-						LOG( L_ERR , "ERROR: parse_to_param : "
-							"unexpected char [%c] in status %d: <<%.*s>> .\n",
-							*tmp,status, (int)(tmp-buffer), ZSW(buffer));
-						goto error;
-				}
-				break;
-			case '=':
-				switch (status)
-				{
-					case PARA_VALUE_QUOTED:
-						break;
-					case TAG3:
-						param->type=TAG_PARAM;
-					case PARA_NAME:
-					case TAG1:
-					case TAG2:
-						param->name.len = tmp-param->name.s;
-						status = S_PARA_VALUE;
-						break;
-					case S_EQUAL:
-						status = S_PARA_VALUE;
-						break;
-					case F_CRLF:
-					case F_LF:
-					case F_CR:
-						/*previous=crlf and now !=' '*/
-						goto endofheader;
-					default:
-						LOG( L_ERR , "ERROR: parse_to_param : "
-							"unexpected char [%c] in status %d: <<%.*s>> .\n",
-							*tmp,status, (int)(tmp-buffer), ZSW(buffer));
-						goto error;
-				}
-				break;
-			default:
-				switch (status)
-				{
-					case TAG1:
-					case TAG2:
-					case TAG3:
-						status = PARA_NAME;
-						break;
-					case PARA_VALUE_TOKEN:
-					case PARA_NAME:
-					case PARA_VALUE_QUOTED:
-						break;
-					case S_PARA_NAME:
-						param->name.s = tmp;
-						status = PARA_NAME;
-						break;
-					case S_PARA_VALUE:
-						param->value.s = tmp;
-						status = PARA_VALUE_TOKEN;
-						break;
-					case F_CRLF:
-					case F_LF:
-					case F_CR:
-						/*previous=crlf and now !=' '*/
-						goto endofheader;
-					default:
-						LOG(L_ERR, "ERROR: parse_to_param: "
-							"spitting out [%c] in status %d\n",*tmp,status );
-						goto error;
-				}
-		}/*switch*/
-	}/*for*/
-	if (!(status==F_CR || status==F_LF || status==F_CRLF))
-		saved_status=status;
-
-
-endofheader:
-	switch(saved_status){
-		case TAG3:
-			param->type = TAG_PARAM; /* tag at the end */
-			/* no break */
-		case PARA_NAME:
-		case TAG1:
-		case TAG2:
-			param->name.len = tmp-param->name.s;
-			/* no break */
-		case S_EQUAL:
-			/* parameter without '=', e.g. foo */
-			param->value.s=0;
-			param->value.len=0;
-			add_param(param, to_b, newparam);
-			saved_status=E_PARA_VALUE;
-			break;
-		case S_PARA_VALUE:
-			/* parameter with null value, e.g. foo= */
-			param->value.s=tmp;
-			param->value.len=0;
-			add_param(param, to_b, newparam);
-			saved_status=E_PARA_VALUE;
-			break;
-		case PARA_VALUE_TOKEN:
-			param->value.len=tmp-param->value.s;
-			add_param(param, to_b, newparam);
-			saved_status=E_PARA_VALUE;
-			break;
-		case E_PARA_VALUE:
-			break;
-		default:
-			LOG( L_ERR , "ERROR: parse_to_param : unexpected end of header,"
-						" status %d: <<%.*s>> .\n",
-						saved_status, (int)(tmp-buffer), ZSW(buffer));
-			goto error;
-	}
-	*returned_status=saved_status;
-	return tmp;
-
-error:
-	if (newparam) pkg_free(newparam);
-	to_b->error=PARSE_ERROR;
-	*returned_status = status;
-	return tmp;
-}
-
-
-
 char* parse_to(char* const buffer, const char* const end, struct to_body* const to_b)
 {
-	int status;
-	int saved_status;
-	char  *tmp,*foo;
-	
-	saved_status=START_TO; /* fixes gcc 4.x warning */
-	status=START_TO;
-	memset(to_b, 0, sizeof(struct to_body));
-	to_b->error=PARSE_OK;
-	foo=0;
-
-	for( tmp=buffer; tmp<end; tmp++)
-	{
-		switch(*tmp)
-		{
-			case ' ':
-			case '\t':
-				switch (status)
-				{
-					case F_CRLF:
-					case F_LF:
-					case F_CR:
-						/*previous=crlf and now =' '*/
-						status=saved_status;
-						break;
-					case URI_ENCLOSED:
-						to_b->uri.len = tmp - to_b->uri.s;
-						status = E_URI_ENCLOSED;
-						break;
-					case URI_OR_TOKEN:
-						foo = tmp;
-						status = MAYBE_URI_END;
-						break;
-					case DISPLAY_TOKEN:
-						foo = tmp;
-						status = DISPLAY_TOKEN_SP;
-						break;
-				}
-				break;
-			case '\n':
-				switch (status)
-				{
-					case URI_OR_TOKEN:
-						foo = tmp;
-						status = MAYBE_URI_END;
-					case MAYBE_URI_END:
-					case DISPLAY_TOKEN_SP:
-					case E_DISPLAY_QUOTED:
-					case END:
-						saved_status=status;
-						status=F_LF;
-						break;
-					case DISPLAY_TOKEN:
-						foo=tmp;
-						saved_status=DISPLAY_TOKEN_SP;
-						status=F_LF;
-						break;
-					case F_CR:
-						status=F_CRLF;
-						break;
-					case F_CRLF:
-					case F_LF:
-						status=saved_status;
-						goto endofheader;
-					default:
-						LOG( L_ERR , "ERROR: parse_to : unexpected char [%c] "
-							"in status %d: <<%.*s>> .\n",
-							*tmp,status, (int)(tmp-buffer), ZSW(buffer));
-						goto error;
-				}
-				break;
-			case '\r':
-				switch (status)
-				{
-					case URI_OR_TOKEN:
-						foo = tmp;
-						status = MAYBE_URI_END;
-					case MAYBE_URI_END:
-					case DISPLAY_TOKEN_SP:
-					case E_DISPLAY_QUOTED:
-					case END:
-						saved_status=status;
-						status=F_CR;
-						break;
-					case DISPLAY_TOKEN:
-						foo=tmp;
-						saved_status=DISPLAY_TOKEN_SP;
-						status=F_CR;
-						break;
-					case F_CRLF:
-					case F_CR:
-					case F_LF:
-						status=saved_status;
-						goto endofheader;
-					default:
-						LOG( L_ERR , "ERROR: parse_to : unexpected char [%c] "
-							"in status %d: <<%.*s>> .\n",
-							*tmp,status, (int)(tmp-buffer), ZSW(buffer));
-						goto error;
-				}
-				break;
-			case 0:
-				switch (status)
-				{
-					case URI_OR_TOKEN:
-					case MAYBE_URI_END:
-						to_b->uri.len = tmp - to_b->uri.s;
-					case END:
-						saved_status = status = END;
-						goto endofheader;
-					default:
-						LOG( L_ERR , "ERROR: parse_to : unexpected char [%c] "
-							"in status %d: <<%.*s>> .\n",
-							*tmp,status, (int)(tmp-buffer), ZSW(buffer));
-						goto error;
-				}
-				break;
-			case '\\':
-				switch (status)
-				{
-					case DISPLAY_QUOTED:
-						tmp++; /* jump over next char */
-						break;
-					default:
-						LOG( L_ERR , "ERROR: parse_to : unexpected char [%c] "
-							"in status %d: <<%.*s>> .\n",
-							*tmp,status, (int)(tmp-buffer), ZSW(buffer));
-						goto error;
-				}
-				break;
-			case '<':
-				switch (status)
-				{
-					case START_TO:
-						to_b->body.s=tmp;
-						status = S_URI_ENCLOSED;
-						break;
-					case DISPLAY_QUOTED:
-						break;
-					case E_DISPLAY_QUOTED:
-						status = S_URI_ENCLOSED;
-						break;
-					case URI_OR_TOKEN:
-					case DISPLAY_TOKEN:
-						to_b->display.len=tmp-to_b->display.s;
-						status = S_URI_ENCLOSED;
-						break;
-					case DISPLAY_TOKEN_SP:
-					case MAYBE_URI_END:
-						to_b->display.len=foo-to_b->display.s;
-						status = S_URI_ENCLOSED;
-						break;
-					case F_CRLF:
-					case F_LF:
-					case F_CR:
-						/*previous=crlf and now !=' '*/
-						goto endofheader;
-					default:
-						LOG( L_ERR , "ERROR: parse_to : unexpected char [%c] "
-							"in status %d: <<%.*s>> .\n",
-							*tmp,status, (int)(tmp-buffer), ZSW(buffer));
-						goto error;
-				}
-				break;
-			case '>':
-				switch (status)
-				{
-					case DISPLAY_QUOTED:
-						break;
-					case URI_ENCLOSED:
-						to_b->uri.len = tmp - to_b->uri.s;
-					case E_URI_ENCLOSED:
-						status = END;
-						foo = 0;
-						break;
-					case F_CRLF:
-					case F_LF:
-					case F_CR:
-						/*previous=crlf and now !=' '*/
-						goto endofheader;
-					default:
-						LOG( L_ERR , "ERROR: parse_to : unexpected char [%c] "
-							"in status %d: <<%.*s>> .\n",
-							*tmp,status, (int)(tmp-buffer), ZSW(buffer));
-						goto error;
-				}
-				break;
-			case '"':
-				switch (status)
-				{
-					case START_TO:
-						to_b->body.s = tmp;
-						to_b->display.s = tmp;
-						status = DISPLAY_QUOTED;
-						break;
-					case DISPLAY_QUOTED:
-						status = E_DISPLAY_QUOTED;
-						to_b->display.len = tmp-to_b->display.s+1;
-						break;
-					case F_CRLF:
-					case F_LF:
-					case F_CR:
-						/*previous=crlf and now !=' '*/
-						goto endofheader;
-					default:
-						LOG( L_ERR , "ERROR: parse_to : unexpected char [%c] "
-							"in status %d: <<%.*s>> .\n",
-							*tmp,status, (int)(tmp-buffer), buffer);
-						goto error;
-				}
-				break;
-			case ';' :
-				switch (status)
-				{
-					case DISPLAY_QUOTED:
-					case URI_ENCLOSED:
-						break;
-					case URI_OR_TOKEN:
-						foo = tmp;
-					case MAYBE_URI_END:
-						to_b->uri.len = foo - to_b->uri.s;
-					case END:
-						to_b->body.len = tmp-to_b->body.s;
-						tmp = parse_to_param(tmp,end,to_b,&saved_status);
-						goto endofheader;
-					case F_CRLF:
-					case F_LF:
-					case F_CR:
-						/*previous=crlf and now !=' '*/
-						goto endofheader;
-					default:
-						LOG( L_ERR , "ERROR: parse_to : unexpected char [%c] "
-							"in status %d: <<%.*s>> .\n",
-							*tmp,status, (int)(tmp-buffer), buffer);
-						goto error;
-				}
-				break;
-			default:
-				switch (status)
-				{
-					case START_TO:
-						to_b->uri.s = to_b->body.s = tmp;
-						status = URI_OR_TOKEN;
-						to_b->display.s=tmp;
-						break;
-					case S_URI_ENCLOSED:
-						to_b->uri.s=tmp;
-						status=URI_ENCLOSED;
-						break;
-					case MAYBE_URI_END:
-					case DISPLAY_TOKEN_SP:
-						status = DISPLAY_TOKEN;
-					case DISPLAY_QUOTED:
-					case DISPLAY_TOKEN:
-					case URI_ENCLOSED:
-					case URI_OR_TOKEN:
-						break;
-					case F_CRLF:
-					case F_LF:
-					case F_CR:
-						/*previous=crlf and now !=' '*/
-						goto endofheader;
-					default:
-						DBG("DEBUG:parse_to: spitting out [%c] in status %d\n",
-						*tmp,status );
-						goto error;
-				}
-		}/*char switch*/
-	}/*for*/
-
-endofheader:
-	if (to_b->display.len==0) to_b->display.s=0;
-	status=saved_status;
-	DBG("end of header reached, state=%d\n", status);
-	/* check if error*/
-	switch(status){
-		case MAYBE_URI_END:
-			to_b->uri.len = foo - to_b->uri.s;
-		case END:
-			to_b->body.len = tmp - to_b->body.s;
-		case E_PARA_VALUE:
-			break;
-		default:
-			LOG(L_ERR, "ERROR: parse_to: invalid To -  unexpected "
-					"end of header in state %d\n", status);
-			goto error;
-	}
-	return tmp;
-
-error:
-	to_b->error=PARSE_ERROR;
-	return tmp;
-
-}
-
-
-void free_to_params(struct to_body* const tb)
-{
-	struct to_param *tp=tb->param_lst;
-	struct to_param *foo;
-	while (tp){
-		foo = tp->next;
-		pkg_free(tp);
-		tp=foo;
-	}
-}
-
-
-void free_to(struct to_body* const tb)
-{
-	free_to_params(tb);
-	pkg_free(tb);
+	return parse_addr_spec(buffer, end, to_b, 0);
 }
 
 

+ 1 - 28
parser/parse_to.h

@@ -29,30 +29,7 @@
 
 #include "../str.h"
 #include "msg_parser.h"
-
-enum {
-	TAG_PARAM = 400, GENERAL_PARAM
-};
-
-typedef struct to_param{
-	int type;              /*!< Type of parameter */
-	str name;              /*!< Name of parameter */
-	str value;             /*!< Parameter value */
-	struct to_param* next; /*!< Next parameter in the list */
-} to_param_t;
-
-
-typedef struct to_body{
-	int error;                    /*!< Error code */
-	str body;                     /*!< The whole header field body */
-	str uri;                      /*!< URI */
-	str display;				  /*!< Display Name */
-	str tag_value;                /*!< Value of tag */
-	struct sip_uri parsed_uri;
-	struct to_param *param_lst;   /*!< Linked list of parameters */
-	struct to_param *last_param;  /*!< Last parameter in the list */
-} to_body_t;
-
+#include "parse_addr_spec.h"
 
 /* casting macro for accessing To body */
 #define get_to(p_msg)      ((struct to_body*)(p_msg)->to->parsed)
@@ -65,10 +42,6 @@ typedef struct to_body{
  */
 char* parse_to(char* const buffer, const char* const end, struct to_body* const to_b);
 
-void free_to_params(struct to_body* const tb);
-
-void free_to(struct to_body* const tb);
-
 int parse_to_header(struct sip_msg* const msg);
 
 sip_uri_t *parse_to_uri(struct sip_msg* const msg);

+ 6 - 0
pkg/kamailio/deb/debian/changelog

@@ -1,3 +1,9 @@
+kamailio (4.0.0) unstable; urgency=low
+
+  * update to 4.0.0 from upstream
+
+ -- Daniel-Constantin Mierla <[email protected]>  Mon, 11 Mar 2013 10:40:30 +0100
+
 kamailio (3.4.0~dev0) unstable; urgency=low
 
   * update version to 3.4.0~dev0

+ 21 - 0
pkg/kamailio/deb/debian/control

@@ -34,6 +34,7 @@ Build-Depends: bison,
                libssl-dev,
                libxml2-dev,
                libxmlrpc-c3-dev,
+               libunistring-dev,
                python,
                python-dev,
                unixodbc-dev,
@@ -441,3 +442,23 @@ Description: Kamailio - IMS Modules
  This package contains various Diameter interfaces and modules for Kamailio
  to run as an IMS core.
 
+Package: kamailio-outbound-modules
+Architecture: any
+Depends: ${shlibs:Depends}, kamailio (= ${binary:Version})
+Description: Kamailio - Outbound Module
+ Kamailio is a very fast and flexible SIP (RFC3261)
+ proxy server. Written entirely in C, Kamailio can handle thousands calls
+ per second even on low-budget hardware.
+ .
+ This package contains the module implementing SIP outbound extension.
+
+Package: kamailio-websocket-modules
+Architecture: any
+Depends: ${shlibs:Depends}, kamailio (= ${binary:Version})
+Description: Kamailio - Websocket Module
+ Kamailio is a very fast and flexible SIP (RFC3261)
+ proxy server. Written entirely in C, Kamailio can handle thousands calls
+ per second even on low-budget hardware.
+ .
+ This package contains the module implementing WebSocket transport layer.
+

+ 3 - 3
pkg/kamailio/deb/debian/rules

@@ -29,7 +29,7 @@ EXTRA_EXCLUDED_MODULES=bdb dbtext oracle pa iptrtpproxy
 
 # possible module directories that can appear in MODULES_SP
 # (only used for deducing a module name)
-MDIRS=modules modules_s modules_k
+MDIRS=modules
 
 # modules packaged in separate packages (complete with full modules_* path)
 # with the package name: kamailio-$(module_name)-module
@@ -41,8 +41,8 @@ MODULES_SP=
 # on which other depend first)
 PACKAGE_GROUPS=mysql postgres berkeley unixodbc radius presence \
 			   ldap xml perl utils purple memcached tls \
-			   snmpstats carrierroute xmpp cpl lua python geoip\
-			   redis sqlite json mono ims
+			   snmpstats carrierroute xmpp cpl lua python geoip \
+			   redis sqlite json mono ims outbound websocket
 
 # name of libdir in the path for libraries (e.g., lib for 32b, lib64 for 64b)
 LIBDIR ?= lib

+ 6 - 0
pkg/kamailio/deb/lenny/changelog

@@ -1,3 +1,9 @@
+kamailio (4.0.0) unstable; urgency=low
+
+  * update to 4.0.0 from upstream
+
+ -- Daniel-Constantin Mierla <[email protected]>  Mon, 11 Mar 2013 10:40:30 +0100
+
 kamailio (3.4.0~dev0) unstable; urgency=low
 
   * update version to 3.4.0~dev0

+ 1 - 1
pkg/kamailio/deb/lenny/rules

@@ -29,7 +29,7 @@ EXTRA_EXCLUDED_MODULES=bdb dbtext oracle pa iptrtpproxy
 
 # possible module directories that can appear in MODULES_SP
 # (only used for deducing a module name)
-MDIRS=modules modules_s modules_k
+MDIRS=modules
 
 # modules packaged in separate packages (complete with full modules_* path)
 # with the package name: kamailio-$(module_name)-module

+ 6 - 0
pkg/kamailio/deb/precise/changelog

@@ -1,3 +1,9 @@
+kamailio (4.0.0) unstable; urgency=low
+
+  * update to 4.0.0 from upstream
+
+ -- Daniel-Constantin Mierla <[email protected]>  Mon, 11 Mar 2013 10:40:30 +0100
+
 kamailio (3.4.0~dev0) unstable; urgency=low
 
   * update version to 3.4.0~dev0

+ 21 - 0
pkg/kamailio/deb/precise/control

@@ -34,6 +34,7 @@ Build-Depends: bison,
                libssl-dev,
                libxml2-dev,
                libxmlrpc-c3-dev,
+               libunistring-dev,
                python,
                python-dev,
                unixodbc-dev,
@@ -435,3 +436,23 @@ Description: Kamailio - IMS Modules
  This package contains various Diameter interfaces and modules for Kamailio
  to run as an IMS core.
 
+Package: kamailio-outbound-modules
+Architecture: any
+Depends: ${shlibs:Depends}, kamailio (= ${binary:Version})
+Description: Kamailio - Outbound Module
+ Kamailio is a very fast and flexible SIP (RFC3261)
+ proxy server. Written entirely in C, Kamailio can handle thousands calls
+ per second even on low-budget hardware.
+ .
+ This package contains the module implementing SIP outbound extension.
+
+Package: kamailio-websocket-modules
+Architecture: any
+Depends: ${shlibs:Depends}, kamailio (= ${binary:Version})
+Description: Kamailio - Websocket Module
+ Kamailio is a very fast and flexible SIP (RFC3261)
+ proxy server. Written entirely in C, Kamailio can handle thousands calls
+ per second even on low-budget hardware.
+ .
+ This package contains the module implementing WebSocket transport layer.
+

+ 3 - 3
pkg/kamailio/deb/precise/rules

@@ -29,7 +29,7 @@ EXTRA_EXCLUDED_MODULES=bdb dbtext oracle pa iptrtpproxy
 
 # possible module directories that can appear in MODULES_SP
 # (only used for deducing a module name)
-MDIRS=modules modules_s modules_k
+MDIRS=modules
 
 # modules packaged in separate packages (complete with full modules_* path)
 # with the package name: kamailio-$(module_name)-module
@@ -41,8 +41,8 @@ MODULES_SP=
 # on which other depend first)
 PACKAGE_GROUPS=mysql postgres berkeley unixodbc radius presence \
 			   ldap xml perl utils purple memcached tls \
-			   snmpstats carrierroute xmpp cpl lua python geoip\
-			   redis sqlite json mono ims
+			   snmpstats carrierroute xmpp cpl lua python geoip \
+			   redis sqlite json mono ims outbound websocket
 
 # name of libdir in the path for libraries (e.g., lib for 32b, lib64 for 64b)
 LIBDIR ?= lib

+ 6 - 0
pkg/kamailio/deb/squeeze/changelog

@@ -1,3 +1,9 @@
+kamailio (4.0.0) unstable; urgency=low
+
+  * update to 4.0.0 from upstream
+
+ -- Daniel-Constantin Mierla <[email protected]>  Mon, 11 Mar 2013 10:40:30 +0100
+
 kamailio (3.4.0~dev0) unstable; urgency=low
 
   * update version to 3.4.0~dev0

+ 21 - 0
pkg/kamailio/deb/squeeze/control

@@ -31,6 +31,7 @@ Build-Depends: bison,
                libssl-dev,
                libxml2-dev,
                libxmlrpc-c3-dev,
+               libunistring-dev,
                python,
                python-dev,
                unixodbc-dev,
@@ -400,3 +401,23 @@ Description: Kamailio - IMS Modules
  This package contains various Diameter interfaces and modules for Kamailio
  to run as an IMS core.
 
+Package: kamailio-outbound-modules
+Architecture: any
+Depends: ${shlibs:Depends}, kamailio (= ${binary:Version})
+Description: Kamailio - Outbound Module
+ Kamailio is a very fast and flexible SIP (RFC3261)
+ proxy server. Written entirely in C, Kamailio can handle thousands calls
+ per second even on low-budget hardware.
+ .
+ This package contains the module implementing SIP outbound extension.
+
+Package: kamailio-websocket-modules
+Architecture: any
+Depends: ${shlibs:Depends}, kamailio (= ${binary:Version})
+Description: Kamailio - Websocket Module
+ Kamailio is a very fast and flexible SIP (RFC3261)
+ proxy server. Written entirely in C, Kamailio can handle thousands calls
+ per second even on low-budget hardware.
+ .
+ This package contains the module implementing WebSocket transport layer.
+

+ 2 - 2
pkg/kamailio/deb/squeeze/rules

@@ -29,7 +29,7 @@ EXTRA_EXCLUDED_MODULES=bdb dbtext oracle pa iptrtpproxy
 
 # possible module directories that can appear in MODULES_SP
 # (only used for deducing a module name)
-MDIRS=modules modules_s modules_k
+MDIRS=modules
 
 # modules packaged in separate packages (complete with full modules_* path)
 # with the package name: kamailio-$(module_name)-module
@@ -42,7 +42,7 @@ MODULES_SP=
 PACKAGE_GROUPS=mysql postgres berkeley unixodbc radius presence \
 			   ldap xml perl utils geoip memcached tls \
 			   snmpstats carrierroute xmpp cpl lua python \
-			   sqlite json ims
+			   sqlite json ims outbound websocket
 
 # name of libdir in the path for libraries (e.g., lib for 32b, lib64 for 64b)
 LIBDIR ?= lib

+ 6 - 0
pkg/kamailio/deb/wheezy/changelog

@@ -1,3 +1,9 @@
+kamailio (4.0.0) unstable; urgency=low
+
+  * update to 4.0.0 from upstream
+
+ -- Daniel-Constantin Mierla <[email protected]>  Mon, 11 Mar 2013 10:40:30 +0100
+
 kamailio (3.4.0~dev0) unstable; urgency=low
 
   * update version to 3.4.0~dev0

+ 21 - 0
pkg/kamailio/deb/wheezy/control

@@ -33,6 +33,7 @@ Build-Depends: bison,
                libssl-dev,
                libxml2-dev,
                libxmlrpc-c3-dev,
+               libunistring-dev,
                python,
                python-dev,
                unixodbc-dev,
@@ -427,3 +428,23 @@ Description: Kamailio - IMS Modules
  This package contains various Diameter interfaces and modules for Kamailio
  to run as an IMS core.
 
+Package: kamailio-outbound-modules
+Architecture: any
+Depends: ${shlibs:Depends}, kamailio (= ${binary:Version})
+Description: Kamailio - Outbound Module
+ Kamailio is a very fast and flexible SIP (RFC3261)
+ proxy server. Written entirely in C, Kamailio can handle thousands calls
+ per second even on low-budget hardware.
+ .
+ This package contains the module implementing SIP outbound extension.
+
+Package: kamailio-websocket-modules
+Architecture: any
+Depends: ${shlibs:Depends}, kamailio (= ${binary:Version})
+Description: Kamailio - Websocket Module
+ Kamailio is a very fast and flexible SIP (RFC3261)
+ proxy server. Written entirely in C, Kamailio can handle thousands calls
+ per second even on low-budget hardware.
+ .
+ This package contains the module implementing WebSocket transport layer.
+

+ 3 - 3
pkg/kamailio/deb/wheezy/rules

@@ -29,7 +29,7 @@ EXTRA_EXCLUDED_MODULES=bdb dbtext oracle pa iptrtpproxy mi_xmlrpc purple
 
 # possible module directories that can appear in MODULES_SP
 # (only used for deducing a module name)
-MDIRS=modules modules_s modules_k
+MDIRS=modules
 
 # modules packaged in separate packages (complete with full modules_* path)
 # with the package name: kamailio-$(module_name)-module
@@ -41,8 +41,8 @@ MODULES_SP=
 # on which other depend first)
 PACKAGE_GROUPS=mysql postgres berkeley unixodbc radius presence \
 			   ldap xml perl utils lua memcached tls \
-			   snmpstats carrierroute xmpp cpl redis python geoip\
-			   sqlite json mono ims
+			   snmpstats carrierroute xmpp cpl redis python geoip \
+			   sqlite json mono ims outbound websocket
 
 # name of libdir in the path for libraries (e.g., lib for 32b, lib64 for 64b)
 LIBDIR ?= lib

+ 92 - 65
pkg/kamailio/fedora/17/kamailio.spec

@@ -1,6 +1,6 @@
 %define name    kamailio
-%define ver     4.0.0
-%define rel     pre1%{dist}
+%define ver     4.1.0
+%define rel     dev0%{dist}
 
 
 
@@ -27,6 +27,7 @@ Conflicts:     kamailio-dialplan < %ver, kamailio-lcr < %ver
 Conflicts:     kamailio-xmlops < %ver, kamailio-cdp < %ver
 Conflicts:     kamailio-websocket < %ver, kamailio-xhttp-pi < %ver
 Conflicts:     kamailio-outbound < %ver, kamailio-ims < %ver
+Conflicts:     kamailio-auth-identity < %ver
 %if 0%{?fedora}
 Conflicts:     kamailio-radius < %ver, kamailio-carrierroute < %ver
 Conflicts:     kamailio-redis < %ver, kamailio-json < %ver 
@@ -35,6 +36,9 @@ Conflicts:     kamailio-mono < %ver, kamailio-GeoIP < %ver
 Requires:      openssl lksctp-tools
 BuildRequires: bison flex gcc make redhat-rpm-config openssl-devel
 BuildRequires: lksctp-tools-devel
+%if 0%{?fedora}
+BuildRequires: docbook2X
+%endif
 
 %description
 Kamailio (former OpenSER) is an Open Source SIP Server released under GPL, able
@@ -153,6 +157,21 @@ BuildRequires: expat-devel
 SIP/XMPP IM gateway for Kamailio.
 
 
+%package  purple
+Summary:  Multi-protocol IM and presence gateway module.
+Group:    System Environment/Daemons
+%if 0%{?fedora}
+Requires: glib, libpurple, libxml2, kamailio = %ver, kamailio-presence = %ver
+BuildRequires: glib-devel, libpurple-devel, libxml2-devel
+%else
+Requires: glib2, libpurple, libxml2, kamailio = %ver, kamailio-presence = %ver
+BuildRequires: glib2-devel, libpurple-devel, libxml2-devel
+%endif
+
+%description purple
+Multi-protocol IM and presence gateway module.
+
+
 %package ldap
 Summary:       LDAP search interface for Kamailio.
 Group:         System Environment/Daemons
@@ -243,6 +262,36 @@ BuildRequires: libxml2-devel
 XML operation functions for Kamailio.
 
 
+%package  cdp
+Summary:  C Diameter Peer module and extensions module for Kamailio.
+Group:    System Environment/Daemons
+Requires: libxml2, kamailio = %ver
+BuildRequires: libxml2-devel
+
+%description cdp
+C Diameter Peer module and extensions module for Kamailio.
+
+
+%package  ims
+Summary:  IMS modules and extensions module for Kamailio.
+Group:    System Environment/Daemons
+Requires: libxml2, kamailio = %ver, kamailio-cdp = %ver
+BuildRequires: libxml2-devel
+
+%description ims
+IMS modules and extensions module for Kamailio.
+
+
+%package  auth-identity
+Summary:  Functions for secure identification of originators of SIP messages for Kamailio.
+Group:    System Environment/Daemons
+Requires: libcurl, kamailio = %ver
+BuildRequires: libcurl-devel
+
+%description auth-identity
+Functions for secure identification of originators of SIP messages for Kamailio.
+
+
 %package websocket
 Summary:       WebSocket transport for Kamailio.
 Group:         System Environment/Daemons
@@ -274,41 +323,6 @@ RFC 5626, "Managing Client-Initiated Connections in the Session Initiation
 Protocol (SIP)" support for Kamailio.
 
 
-%package  purple
-Summary:  Multi-protocol IM and presence gateway module.
-Group:    System Environment/Daemons
-%if 0%{?fedora}
-Requires: glib, libpurple, libxml2, kamailio = %ver, kamailio-presence = %ver
-BuildRequires: glib-devel, libpurple-devel, libxml2-devel
-%else
-Requires: glib2, libpurple, libxml2, kamailio = %ver, kamailio-presence = %ver
-BuildRequires: glib2-devel, libpurple-devel, libxml2-devel
-%endif
-
-%description purple
-Multi-protocol IM and presence gateway module.
-
-
-%package  cdp
-Summary:  C Diameter Peer module and extensions module for Kamailio.
-Group:    System Environment/Daemons
-Requires: libxml2, kamailio = %ver
-BuildRequires: libxml2-devel
-
-%description cdp
-C Diameter Peer module and extensions module for Kamailio.
-
-
-%package  ims
-Summary:  IMS modules and extensions module for Kamailio.
-Group:    System Environment/Daemons
-Requires: libxml2, kamailio = %ver, kamailio-cdp = %ver
-BuildRequires: libxml2-devel
-
-%description ims
-IMS modules and extensions module for Kamailio.
-
-
 %if 0%{?fedora}
 %package radius
 Summary:       Radius AAA API for Kamailio.
@@ -383,21 +397,19 @@ make FLAVOUR=kamailio cfg prefix=/usr cfg_prefix=$RPM_BUILD_ROOT\
 	modules_dirs="modules" SCTP=1 STUN=1
 make
 %if 0%{?fedora}
-make every-module skip_modules="auth_identity db_cassandra iptrtpproxy \
-	db_oracle memcached mi_xmlrpc osp" \
-	group_include="kstandard kmysql kpostgres kcpl kradius kunixodbc \
-	kxml kperl ksnmpstats kxmpp kcarrierroute kberkeley kldap kutils \
-	kpurple ktls kwebsocket kpresence klua kpython kgeoip ksqlite kjson \
-	kredis kmono koutbound kims" \
-	include_modules="cdp mangler print_lib xhttp_pi"
+make every-module skip_modules="db_cassandra iptrtpproxy db_oracle memcached \
+	mi_xmlrpc osp" \
+	group_include="kstandard kmysql kpostgres kcpl kxml kradius kunixodbc \
+	kperl ksnmpstats kxmpp kcarrierroute kberkeley kldap kutils kpurple \
+	ktls kwebsocket kpresence klua kpython kgeoip ksqlite kjson kredis \
+	kmono kims koutbound"
 %else
-make every-module skip_modules="auth_identity db_cassandra iptrtpproxy\
-	db_oracle memcached mi_xmlrpc osp" \
-	group_include="kstandard kmysql kpostgres kcpl kunixodbc \
-	kxml kperl ksnmpstats kxmpp kberkeley kldap kutils \
-	kpurple ktls kwebsocket kpresence klua kpython ksqlite \
-	koutbound kims" \
-	include_modules="cdp mangler print_lib xhttp_pi"
+make every-module skip_modules="db_cassandra iptrtpproxy db_oracle memcached \
+	mi_xmlrpc osp" \
+	group_include="kstandard kmysql kpostgres kcpl kxml kunixodbc \
+	kperl ksnmpstats kxmpp kberkeley kldap kutils kpurple \
+	ktls kwebsocket kpresence klua kpython ksqlite \
+	kims koutbound"
 %endif
 make utils
 
@@ -408,13 +420,12 @@ make utils
 
 make install
 %if 0%{?fedora}
-make install-modules-all skip_modules="auth_identity db_cassandra iptrtpproxy\
-	db_oracle memcached mi_xmlrpc osp" \
-	group_include="kstandard kmysql kpostgres kcpl kradius kunixodbc\
-	kxml kperl ksnmpstats kxmpp kcarrierroute kberkeley kldap kutils\
-	kpurple ktls kwebsocket kpresence klua kpython kgeoip ksqlite kjson\
-	kredis kmono koutbound kims" \
-	include_modules="cdp mangler print_lib xhttp_pi"
+make install-modules-all skip_modules="db_cassandra iptrtpproxy db_oracle \
+	memcached mi_xmlrpc osp" \
+	group_include="kstandard kmysql kpostgres kcpl kxml kradius kunixodbc \
+	kperl ksnmpstats kxmpp kcarrierroute kberkeley kldap kutils kpurple \
+	ktls kwebsocket kpresence klua kpython kgeoip ksqlite kjson kredis \
+	kmono kims koutbound"
 
 mkdir -p $RPM_BUILD_ROOT/%{_unitdir}
 install -m644 pkg/kamailio/fedora/%{?fedora}/kamailio.service \
@@ -424,13 +435,12 @@ mkdir -p $RPM_BUILD_ROOT/%{_sysconfdir}/sysconfig
 install -m644 pkg/kamailio/fedora/%{?fedora}/kamailio.sysconfig \
 		$RPM_BUILD_ROOT/%{_sysconfdir}/sysconfig/kamailio
 %else
-make install-modules-all skip_modules="auth_identity db_cassandra iptrtpproxy\
-	db_oracle memcached mi_xmlrpc osp" \
-	group_include="kstandard kmysql kpostgres kcpl kunixodbc \
-	kxml kperl ksnmpstats kxmpp kberkeley kldap kutils \
-	kpurple ktls kwebsocket kpresence klua kpython ksqlite \
-	koutbound kims" \
-	include_modules="cdp mangler print_lib xhttp_pi"
+make install-modules-all skip_modules="db_cassandra iptrtpproxy db_oracle \
+	memcached mi_xmlrpc osp" \
+	group_include="kstandard kmysql kpostgres kcpl kxml kunixodbc \
+	kperl ksnmpstats kxmpp kberkeley kldap kutils kpurple \
+	ktls kwebsocket kpresence klua kpython ksqlite \
+	kims koutbound"
 
 mkdir -p $RPM_BUILD_ROOT/%{_sysconfdir}/rc.d/init.d
 install -m755 pkg/kamailio/centos/%{?centos}/kamailio.init \
@@ -1004,6 +1014,12 @@ fi
 %{_libdir}/kamailio/modules/ims_usrloc_scscf.so
 
 
+%files auth-identity
+%defattr(-,root,root)
+%doc %{_docdir}/kamailio/modules/README.auth_identity
+%{_libdir}/kamailio/modules/auth_identity.so
+
+
 %files websocket
 %defattr(-,root,root)
 %doc %{_docdir}/kamailio/modules/README.websocket
@@ -1072,6 +1088,17 @@ fi
 
 
 %changelog
+* Thu Mar 7 2013 Peter Dunkley <[email protected]>
+  - Added build requirement for docbook2X for Fedora builds
+* Wed Mar 6 2013 Peter Dunkley <[email protected]>
+  - Restored perl related files
+* Tue Mar 5 2013 Peter Dunkley <[email protected]>
+  - Updated rel to dev0 and ver to 4.1.0
+  - Re-ordered file to make it internally consistent
+  - Updated make commands to match updated module groups
+  - Added auth_identity back in
+  - Temporarily commented out perl related files as perl modules do not appear
+    to be working
 * Sun Jan 20 2013 Peter Dunkley <[email protected]>
   - Updated rel to pre1
   - Moved modules from modules_k/ to modules/