
2005 July 23
  Implemented routing and authorization validation.  The module can:
   o Request authorization and routing information from an OSP server
   o Use provided routes to:
     o Redirect the originating UI to all routes OR
     o Try all routes simultaneously using parallel forking OR
     o Try routes in the order they were received using sequential forking
   o Add and retrieve P-OSP-Auth-Token header
   o Perform local validation of the P-OSP-Auth-Token

2005 September 12
   o Bug 4863 - the module will remove OSP Auth token from the incoming Invite
     after validating the token and before forwarding Invite to the next hop.
   o Bug 4891 - added a new flag 'validate_call_id' for disabling call id
     validation in OSP tokens.  The value is optional, call id validation
     can be turned off by setting the value to 0 (No).  It may be used for
     interoperability issues with some OSP clients sending invalid call ids
     in Authorization Requests.
   o Bug 4986 - changed return value for 'prepareallosproutes' from
     0 - stop routing logic to 1 - true
   o Bug 5039 - changed return value for 'preparenextosproute' when there is
     no more routes from 0 - stop routing logic to -1 - false
   o Bug 5039 - changed return value for 'preparenextosproute' when there is
   o Bug 4893 - sequential routing (in failure_route[1]) now checks for code
     487 (Canceled) before trying the next OSP route.
   o Bug 4892 - removed trailing binary chars from some log messages.
   o Bug 4987 - fixed a compile time error on Solaris
   o Bug 4946 - added README file

2005 September 26
   o Bug 5094 - don't route the call if OSP token validation fails.
   o Bug 5109 - send "100 Trying" message before requesting OSP routes.
   o Bug 5111 - fixed typos in error messages.
   o Bug 5153 - removed trailing binary chars from P-OSP-Auth-Token header
                value.

2005 October 3
   o Report OSP usage indications after the call set-up and tear down
     transactions complete.

2005 October 11
   o Report call set-up usage indication after receiving either 200 or 202.
   o Report termination cause code for duration usage indications as 10,016
     instead of 1,016.
   o Improved error checking and logging.
   o Bug 5366 - removed a memory leak in usage reporting logic.

2005 November 4
   o Bug 5110 and 5531 - Updated the sample configuration files to not
     fail-over on 486 - user busy and 408 - user not available.
   o Bug 5535 - The module will report call set-up usage details after
     sending any final response code to UAC.

2005 November 7
   o Copied files from cvs.berlios.de:/cvsroot/osp-module

2006 August 3
   o Using BRAND_ROUTE approach to add route specific header to avoid sending
     an OSP token to a non-OSP destination.
     For bug 1524046 on OpenSER tracker.
   o Using called number in Request-Line for token validation and auth request.
     For bug 1524070 on OpenSER tracker.
   o Using RPID approach for calling number translation.
     For bug 1524079 on OpenSER tracker.
   o Sending DeviceInfo in "[x.x.x.x]" format in OSP AuthReq messages.
     For bug 1524085 on OpenSER tracker.
   o Using fromtag in RR to report who releases the call first.
     For bug 1527940 on OpenSER tracker.

2007 April 20
   o Report destination count in source-stop usage indications, requires
     osptoolkit version 3.4.0

2009 March 4
   o Updated for OSP Toolkit 3.5.0

2009 March 30
   o Fixed the parsing called number issue caused by the number portability
     parameters in user part of RURI.

2009 April 7
   o Fixed the issue caused by without certificate files.

2009 August 28
   o Added user=phone parameter support.
   o Added number portability parameters support.
   o Added Diversion header support.

2009 October 06
   o Fixed un-initialized variable issue.

2009 October 07
   o Updated OSP sample configuration file.

2009 November 18
   o Fixed a running error message by adding null string check.

2009 November 19
   o Added IP port support for inbound/outbound IP addresses.

2009 November 24
   o Removed an unused variable.

2009 December 01
   o Added custom info support.

2009 December 03
   o Replaced two deprecated functions of OSP Toolkit.
   o Removed useless white char.

2009 December 14
   o Added buffer size check.
   o Added proxy_type for number portability.

2010 January 18
   o Changed configuration option proxy_type to service_type.
   o Added operator name support in AuthReq and AuthRsp.

2010 March 05
   o Added destination network ID in outbound URI.

2010 May 13
   o Fixed bug of removing '+' in numbers.

2010 May 24
   o Added indirect work mode.
   o Changed append network ID default value.
   o Updated sample configuration file.
   o Updated doc.

2010 May 26 11:35:25 +0800 (Wed, 26 May 2010) | 2 lines
   o Added DeviceInfo=<SBC IP> in AuthReq if there is not P-Source-Device in indirect work mode.

2010 July 07
   o Changed OSP TCP port from 1080 to 5045.

2010 August 06
   o Removed loading xlog module from sample configuration.

2010 November 29
   o Added support to append destination network ID by different ways.

2011 January 17
   o Added unsupport char check in From/To user part.
   o Fixed number portability parameter parsing issue caused by user=phone.

2011 February 10
   o Fixed NULL string issue on Solaris.
   o Added install_module_custom in Makefile.

2011 October 12
Increased max number of destinations.
Sync with OSP Toolkit 4.0.0.
Removed From/To header XML escape char check.
Changed structure element names.
Changed calling number implementation.
Added support for network ID as Contact header parameter.
Added reporting protocol.
Fixed the last device is not a SIP device issue.
Added role info types.
Added support for non-SIP signaling protocol.
Added support for called number digit filtering.
Added support for calling number invalid.
Fixed network ID reporting issue.
Fixed t_relay check issue in sample configuration file.

2015 June 4
Updated to support more OSP server response codes.
Fixed the bug of source network ID in OSP cookie.
Updated to support 603 Decline status code.
Different timeout values for receiving 18x and not receiving 18x.
Hardcoded not to report redirect CDRs.
Support CDRProxy
Support FromDisplayName
Support User-Agent
Support TotalSetupAttempts for completed calls.

2015 September 1
Updated to support media addresses, local address and provider post dial delay.
Updated to support CNAM.

2015 September 15
Updated to support CNAM diversion use case.

2016 February 26
Updated to support STIR.

2016 September 13
Added SUBSCRIBE/NOTIFY CNAM support.
Formatted sample configuration file.
Updated for OSP Toolkit 4.12.0

2017 April 28
Fixed memory leak issue for P-Charging-Vector.
Fixed SDP error messages for without SDP.

2017 May 4
Added service provider, user group and user ID in routing request.

2017 August 10
Fixed crash caused by without calling number.

2017 October 31
Updated STIR implementation.
Added recommended destination feature.

2017 November 28
Added SIP headers to calculate processing time.

2017 December 5
Fixed UTF-8 issue.

2017 December 19
Fixed memory leak for 6xx.

2018 January 4
Fixed retcode issue.

2018 February 7
Updated for response codes of STIR.

2018 April 12
Updated to support reporting Contact header.
Added q parameter for Contact in SIP 3xx.
Note: Works with TK 4.16.0.

2018 May 30
Added np export order option.

2018 July 26
Added string trim function.

2018 August 8
Fixed memory leak for cancel call scenario.

2018 August 20
Fixed From header URI otg parameter parse issue.

2018 August 31
Response 482 instead of 503 for loop detected.
 
2018 September 17
Changed SIP response to "503 Service Not Available - Unspecified" for unspecified server error.
 
