osp-toolkit-client Mailing List for OSP Toolkit
Brought to you by:
osp-project
You can subscribe to this list here.
2007 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(1) |
Jun
|
Jul
|
Aug
(1) |
Sep
|
Oct
|
Nov
|
Dec
|
---|---|---|---|---|---|---|---|---|---|---|---|---|
2008 |
Jan
|
Feb
(1) |
Mar
(1) |
Apr
|
May
|
Jun
|
Jul
|
Aug
(1) |
Sep
|
Oct
|
Nov
|
Dec
|
2009 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(4) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(1) |
2011 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(1) |
Jul
|
Aug
|
Sep
(1) |
Oct
(1) |
Nov
|
Dec
|
2012 |
Jan
(1) |
Feb
|
Mar
|
Apr
|
May
(1) |
Jun
|
Jul
(2) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2013 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(1) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2015 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(1) |
Oct
|
Nov
|
Dec
|
From: Di-Shi S. <di...@tr...> - 2015-09-18 03:21:25
|
--------------------------------------------------------------------------- --- COPYRIGHT (c) 2002 by TransNexus, Inc. --- --- --- --- This software is property of TransNexus, Inc. --- --- This software is freely available under license from TransNexus. --- --- The license terms and conditions for free use of this software by --- --- third parties are defined in the OSP Toolkit Software License --- --- Agreement (LICENSE.txt). Any use of this software by third --- --- parties, which does not comply with the terms and conditions of the --- --- OSP Toolkit Software License Agreement is prohibited without --- --- the prior, express, written consent of TransNexus, Inc. --- --- --- --- Thank you for using the OSP ToolKit(TM). Please report any bugs, --- --- suggestions or feedback to su...@tr... --- --- --- --------------------------------------------------------------------------- --------------------------------------------------------------------------- Version 2.5.1 * Added -D for BSAFE String Functions within Makefile * Initial work on port of ospopenssl.c includes SSLeay * New version of license agreement for LICENSE.txt * Added critical = False for TN extensions for OSP messages * Added T_strcpy, T_strcmp, T_strlen callbacks for BSAFE * Changed the way headers were identified within HTTP messages * Fixed a couple of bad references in the client auth code. * Changed formatting, and added osp macros for client auth code. * Changes in detecting header types within ospsocket.c * Added OSP macros in ospxml.c * Created separate OSPM_GETSOCKERR macro for Unix and Windows --------------------------------------------------------------------------- Version 2.5.2 * Added code to improve message queuing. * Added code to eliminate memory leaks. * Made the HTTP reader case-insensitive. * Several functions were changed to their macro equivalents. * Changed case on content-types within HTTP messages. * Eliminated some compiler warnings. * Implemented "subscriber" type in SourceAlternate messages. --------------------------------------------------------------------------- Version 2.5.4 * Added parenthesis to variables contained in macros. * Eliminated unnecessary macros. * Corrected macro OSPM_GETHOSTBYNAME to accept empty values. * Eliminated a potential memory leak in OSPPTransactionDelete. * Corrected a conditional statement in OSPPTransIdRemove. * Added code for ASN.1 parser to recognize boolean tags. * Changes were made in order to eliminate the fixed size of altinfo, token, and callid structures. * Corrected a TransNexus Extension attribute (critical should equal "false") * Corrected a buffer overflow error when constructing an enrollment request. * Added the "-function" command to the enroll's help screen. * Added option to compile the Toolkit with POSIX threads on Win32 platforms. * Added a new module to the test_app that implements non-blocking API for the Toolkit. --------------------------------------------------------------------------- Version 2.5.5 * Changed the Toolkit to use the cryptographic algorithms within OpenSSL rather than BSAFE. * Updated Project and Make files. * Added "How to build the Toolkit" document. * New version of license agreement for LICENSE.txt --------------------------------------------------------------------------- Version 2.5.6 * Changed OSPPProviderNew to validate service points for correctness before proceeding with creating a new provider instance. * Fixed handling of HTTP request to close connection - "Connection: close". * Fixed logic for searching available connection when HTTPMaxConnections has been reached. * Fixed a race condition in OSPPCommSignalAllConnections which could potentially cause a call to OSPPProviderDelete to deadlock. * Added initialization of random number generator engine using contents of ".rnd" file expected to be found in the current directory. * Added Cryptogaphic Hardware Support, requires OpenSSL Engine library. * Replaced failure reasons with TCCodes defined in V.2 --------------------------------------------------------------------------- Version 2.6.0 * Improved handling of HTTP and OSP codes. * MsgQueueDelete function now deletes mutex and cond var used by the Queue. * Added call start time to UsageIndication messages. * Added OpenSSL crypto lib support as an alternative to using existing crypto functionality. * Removed documentation from the build. * API CHANGES: * New type OSPTCERT defined in "include/ospdatatypes.h" * OSPPTransactionReportUsage function: * Added StartTime of type OSPTTIME * OSPPProviderNew function: * Changed the type of ospvLocalCertificate from (const void *) to (const OSPTCERT *) * Changed the type of ospvAuthorityCertificates from (const void *[]) to (const OSPTCERT *[]) --------------------------------------------------------------------------- Version 2.6.1 * Upgraded TEP enrollment to use the API changes introduced in 2.6.0 * Fixed memory leaks in the ospopenssl module. * Reduced compile time warnings. --------------------------------------------------------------------------- Version 2.6.2 * Updated the Windows project files to Compile with MultiThreaded DLL libraries, Use standard libraries and to have the ..\crypto path in the Include directives. * Did changes to improve the log messages. * Modified the Makefile and the shell script to include changes for Linux compilation. * Ported the GETHOSTBYNAME function for Linux. * This Release has been tested with MS .NET. * This release requires no special instructions for compiling Openssl on Windows. --------------------------------------------------------------------------- Version 2.7 * Support for reporting the network identifier incorporated * Memory leaks and bug fixes --------------------------------------------------------------------------- Version 2.8 * Modified the enrollment procedure to read PEM format files instead of dat. The enrollment prodedure has now been much simplified by removing the cumbersome tasks of copying the keys and editing files. It is a 3 step procedure with no practical differences for the different platforms. --------------------------------------------------------------------------- Version 2.8.1 * Updated test app to use PEM encoded crypto files for the following test_app.c functions - SetAuthorityCertificates, SetLocalKeys. * Makefile changes in the enroll and test Makefiles --------------------------------------------------------------------------- Version 2.8.2 * Bug fix for Linux. Problem because of trying to delete the mutex when it was locked * Implemeted support of SetServicePoints API in test_app, fixed a bug for this support in the Toolkit. * Log message changes for Linux and windows --------------------------------------------------------------------------- Version 2.9.0 * Implemented 2 New API's :- * 1. OSPPTransactionGetDestProtocol - Reports the Protocol Information at the Current destination. * Return Values are: SIP, H323_LRQ, H323_Setup, Undefined and Unknown. * 2. OSPPTransactionIsDestOSPEnabled - Reports whether the destination is OSP Enabled or Not. * Return Values are: True, False, Undefined and Unknown. * Implemented a compile time flag - OSP_ALLOW_DUP_TXN, to enable reuse of transactions during token validation.The purpose of this feature is to overcome the limitation where 2 token's with the same transaction id could not be validated. This compile time flag either enables or disables repeat validations. This is particularly helpful in the fail over cases when we can get a Second Call Setup message for the same call. * Renamed a macro - 'min', to tr_min, to avoid a conflict with the Open Source H323 library. * Implemented a new String comparison macro - OSPM_STRCASECMP, to ignore the case of the strings being compared. When examining the value of the critical attributes in the OSP messages, we ignore the case.As per the protocol, the values should all be lowercase, however for backward compatibility, both upper and lower case are acceptable. * Modified the token Validation procedure to check for an exact match between the Calling number passed in the API and the calling number in the token.Until now an empty calling number in the API and non empty calling number in the token did not generate a Validation Failure. However now, there has to be an exact match between the 2 numbers for the Validation process to pass. A similar logic holds for the Called Number as well. * Added 4 new functions to the test app - GetCallingNumber, GetCalledNumber, SetCallingNumber, SetCalledNumber. The Set functions allow the user to change the calling and called numbers on the fly. The Test App starts with the configuration in the test.cfg file as default. However, there is now an option of changing these values at run time. The Get functions display the currently configured value. * Removed a Mutex Lock Error Log Message for Windows. The mutex_unlock call in function - osppHttpSetupAndMonitor, file - osphttp.c,behaves slightly differently for different OS: - Solaris does not seem to give a probem if this mutex is left locked or is unlocked before it is destroyed.Eitherways, it is fine. - Linux needs this mutex to be unlocked before it can be destroyed. - Windows seems to have a problem if it is unlocked before it is destroyed. Because of this problem, there is an error message that pops up on Windows if this function call is made before destroying the mutex. And to prevent that log message, the above mentioned function call is made for all the other OS but Windows. * In case the client is not able to connect with the Server, the toolkit prints out log messages explaining the probable cause.The port numbers printed are now converted from network to host byte order before they are printed. This is done because of some problems seen on Linux while reporting the Port Numbers as such. --------------------------------------------------------------------------- Version 2.9.1 * All the macro implementation used in Production mode have been removed. * Removed all compilation warnings that used to pop up previously. The code now is warnings free for all the compilation modes if the openssl version being used is 0.97 or up. There will be a warning in the fn: d2i_RSAPublicKey that will appear if the openssl version is 0.96c or below. * Fixed a bug for 2.9.0 compilation on Windows. Turns out that 'strcasecmp' function does not work on windows. The code was modified to use 'stricmp' for case comparison on windows. * Modified the test_app for the following: 1. test_app dumped core when the Private Key file - 'pkey.pem' was not present in the specified directory. Fixed this to generate an error instead. 2. Prior to this release, multiple calls to fn 24 - TransactionDelete, did not generate any error in the test_app. So the following sequence - 1,23,24,24,24 or 1,24 did not generate any error on the test_app interface forcing the user to wrongly beleive that transactions can be deleted at will. This is now fixed, so either of the sequence mentioned above will now generate an appropriate error message. 3. Calling fn 31 - ValidateTransaction, after calling fn 24 - DeleteTransaction dumped core. This has been fixed to generate an appropriate error message since calling ValidateTransaction for a deleted transaction handle does not make sense. 4. Calling fn 32 - ReportUsageIndication, after calling fn 24 - DeleteTransaction did not generate any error. So the following sequence - 1,23,29,27,32,24,32 did not generate any error on the test_app interface forcing the user to wrongly beleive that usage can be reported even after deleting the transaction.This is now fixed to generate an appropriate error message. 5. Modified the test_app to read the Network Identifier from the CLI instead of it being hardcoded in the test_app as before. The ResetNetworkId function has been removed and the SetNetworkId can be called twice to try and attempt a change in the Network Identifier. * There was a bug in the toolkit that allowed the user to Delete Transactions without Reporting Usage even if there has been a successful call to 'GetFirstDestination'. So, the following sequence of fn calls was allowed: 1,23,29, 27(Succeeds),28(Fails because only one destination was reported), 24. This is incorrect as the device should report usage if the GetFirstDestination call has succeeded.This release fixes that bug and requires the device to report usage if a call to GetFirstDestination has succeeded. * Fixed the compilation bug that did not let the 2.9.0 version to be run in production mode. * Defined OSP_SDK in 'enroll.dsp'.Without this flag defined, some the debug functionality was not getting included for the enroll utility(on windows platform), which meant missing log messages in the debug mode. * Fixed an ambiguos Log message for Windows. When the 'gethostbyname' function call failed on Windows, the variable - errno was not getting updated, because of which the log message indicated that there was no error. * Introduced a state in the transaction state machine to prevent Deletion of a Transaction while Authorization has been requested and response not received back yet. In addition to Deletion, this state facilitates the application to error out if it calls ReportUsage,GetFirstDestination or GetNextDestination API's while the Authorization Request is in progress.The same concept works for ReportUsage also. * Fixed a memory leak that occured when test_app ran 1000 calls and some of the responses started timing out. The OSPM_INET_NTOA macro is removed (for both Windows and Unix implementations) and defined as a function to fix the bug. * Added a library - 'dl' in the makefile for Enroll and Test_app for Linux compilation in the Release Mode.It is required for some openssl functions. * Fixed a bug which was introduced in the 2.8.2 release of the toolkit. The new bug caused the OSPPProviderDelete call made after attempting multiple calls to hang and never return to the application. The bug is fixed in this release. * Added all pthread specific configuration (that was required on Windows) to the test.dsp, enroll.dsp and osp.dsp files. Now there is no need for manual configuration of pthreads on Windows. * Changed toolkit to report Translated Number (As returned in the Authorization Response) in the Usage Indication rather than the originally requested number.If the server returns no Called number in the Authorization Response or returns an empty called number in the Authorization Response, the toolkit sends the original called number (As sent in the Authorization Request) in the Usage Indication. --------------------------------------------------------------------------- Version 2.9.2 * Modified the test_app to run any number of test calls. Prior to this release the Option#100 in the test_app CLI ran 1000 calls. The interface now asks the user to input the number of calls that need to be run. This number can be anything as long as the maximum simltaneous transactions are not exceeded and the toolkit queue size limit is not exceeded. By default the maximum number of calls that can be run is 20,000. * Changed the code to eliminate all the warnings that popped up while compiling the toolkit with the SUN 'cc' compiler. * Changed test_app to not use 'gets'. * Added a section in the 'Toolkit Porting Guide' document which details the current memory allocation scheme implemented in the toolkit, and outlines how some other schemes can be used to improve the toolkit efficiency. --------------------------------------------------------------------------- Version 2.9.3 * Implemented Subscriber Id and PIN in the Authorization Request message. The calling card information can now be passed to the Server for authorization. * Added a new function (RequestSuggestedAuthorization, CLI function #30) to the test_app. Implemented reporting of suggested route's in the test_app. * Eased the restriction on reporting TC Codes in the GetNextDestination API. The toolkit now supports 0 as a valid TC Code. * This version of the toolkit is also tested with unsigned tokens. --------------------------------------------------------------------------- Version 2.10.0 * Implemented new API for reporting CapabilitiesIndication message. OSPPProviderSetCapabilitiesURLs - configures a list of URLs. The URLs will be used for sending the new message only. Other OSP messages will be send to the service points configured using OSPPProviderNew or OSPProviderSetServicePoints. OSPPTransactionIndicateCapabilities - sends the new message to one of the URLs in the list. * Added new test cases to the test app: #4 tests OSPProviderSetServicePoints #14 tests OSPPProviderSetCapabilitiesURLs #37 tests a single call to OSPPTransactionIndicateCapabilities #101 tests multiple calls to OSPPTransactionIndicateCapabilities in parallel * Allowed reporting source and destination Usage Indication messages without calling number. * Fixed a bug in XML-encoding logic for empty elements with attributes. The toolkit will correctly encode empty calling number. * Fixed a bug in OSPProviderSetServicePoints. The function can be used for updating the list of service points used for sending Authorization Request and Usage Indication messages. * Eliminated a race condition in the communication module. * Improved resource management - quickly close TCP connection after HTTP persistence times out. --------------------------------------------------------------------------- Version 2.10.1 * Removed a conflicting definition of OSPVersion element. The bug was introduced in version 2.10.0 --------------------------------------------------------------------------- Version 2.11 * Modified the toolkit for the following openssl issues: - Crypto Hardware Initialization. - Multi-threading. - Openssl initialization with ProviderNew: Previously, the openssl library was initialized with every call to ProviderNew API. This was error prone because the toolkit supports multiple calls to ProviderNew API. With this release the toolkit supports initialization when a call to the OSPPInit function is made. Thus, the OSPPInit API has changed. * The toolkit has been modified to support multiple providers. The test_app has been modified to include a new test case #102 which tests this functionality. * Modified the toolkit to support usage reporting without an Authorization Request or a Token. A new API - OSPPTransactionBuildUsageFromScratch has been implemented to achieve this. In order to report usage for multiple destinations the application should call this API again. * With this release, the unsigned mode of compilation has been removed from the toolkit. The toolkit can now validate both - signed and unsigned tokens in the same build. However, the application should tell the toolkit about the kind of algorithm (signed/unsigned/both) that the toolkit should restrict to while validating the token. This is done using a new parameter - ospvTokenAlgo, in the OSPPTransactionValidateAuthorization API. The permissible values are - 0 for Signed token, 1 for unsigned, and 2 for both. Along with the ValidateAuthorization API, the following API's have also changed - OSPPTransactionInitializeAtDevice, OSPPTransactionReinitializeAtDevice, OSPPTransactionValidateReAuthorisation. * Fixed a bug because of which a duration of 0 was reported in the CDR after calling OSPPTransactionRecordFailure API (Even if the Failure code set using the API was 1016). * The Source,SourceDevice, Destination and DestinationDevice IP addresses(as used in the test_app) are now configurable. * Three new parameter have been added to test.cfg - TOKENALGO, OUTOFRESOURCES, and HWSUPPORT. * Request Reauthorization API has now been implemented in the test_app (test case #38). * The toolkit now reports the Source IP address and the SourceDevice IP address in a manner different than the previous releases of the toolkit. The Source IP address is now reported as SourceAlternate <type "transport"> and the SourceDevice IP address is now reported as DeviceInfo<type "transport">.This applies to RequestAuthorization, UsageIndication, CapabilityIndication, and Request Reauthorization messages. * This release includes an enrollment script that works on Linux and Solaris, and automates the device enrollment procedure with the Server. * Fixed a bug because of which the toolkit would crash when SSL was used for communication with the Server.Added a mutex used to protect access to the LoadCert function in ospopenssl.c file. --------------------------------------------------------------------------- Version 2.11.1 * Modified the enroll utility to call OSPPInit function to initialize the OSP TOolkit library. Previously the enroll utility depended on SSLWrapInit function to initialize openssl. Now, it makes use of the OSPPInit function that internally initializes openssl. * Modified the test_app to NOT create a new transaction eveytime when the BuildUsageFromScratch API is called. * Removed the hardcoded values for token algorithm in the OSPPTransactionInitializeAtDevice and OSPPTransactionReinitializeAtDevice function. --------------------------------------------------------------------------- Version 3.0 * The toolkit now supports look ahead routing. A look ahead route is a route embedded within the OSP token and used by proxy devices to terminate the call without having to go to the OSP Server again. When a proxy device gets a INVITE/Setup message with a token in it, the device can validate the token, retrieve the look ahead route embedded within the token and use it to terminate the call. This prevents the Proxy from doing a Route Authorization request. Refer to the implementation guides in the toolkit documentation for further details. * Call Id is now optional for token validation when the token does not contain one. If the token contains a CallId then the application needs to pass it in the ValidateAuthorization API. If the token does not contain the call id, then the application need not pass it in the API. In that case, the application can get away by passing an empty string - "". * The toolkit is now fully SIP compliant. It now supports calling and called number in the following three forms: e.164 numbers, SIP URI's, and URL's. URL's can be most useful when the application wants to report a e.164 number in its ENUM form. * The toolkit has been modified to enroll with multiple servers and validate tokens from multiple OSP Servers. The enroll.sh script has been modified to take a list of OSP servers as input and obtain CA certificates from the different servers. The test application has been modified to read the multiple CA certificates and load them in the toolkit. * The test application configuration file - test.cfg has been modified with the following configuration parameters: TC Code to be reported in the usage indication, Format of the Calling Number (e.164/SIP/URL), and Format of the Called Number (e.164/SIP/URL). * The following API's have changed as a result of the above mentioned changes: - OSPPTransactionBuildUsageFromScratch - OSPPTransactionInitializeAtDevice - OSPPTransactionRequestAuthorisation - OSPPTransactionValidateAuthorisation --------------------------------------------------------------------------- Version 3.1 * The toolkit has been modified to support load balancing among the different SP's configured. Each message (Authorization Req, Usage Ind, or Cap Ind) is now sent to a different OSP Server, based on the load and the SP availability. For further details on the implementation, refer to the toolkit documentation. * As a part of Load Balancing changes, the maximum number of Http Connections that can be opened is now made configurable in test.cfg file. Also, the maximum number of messages that can be sent over a connection is made configurable. This configuration is on a per Service Point basis. * Removed compilation warnings for windows. * Implemented multi-threading for openssl on Windows. * Implemented a new API - OSPPTransactionModifyDeviceIdentifiers. This API is called to overwrite the ospvSource/ospvSourceDevice/ospvDestination/ospvDestinationDevice that was passed in the RequestAuth/ ValidateAuth/BuildUsageFromScratch/InitializeAtDevice APIs. This API provides the application with a mechanism of reporting Usage with addresses different from those that were used while calling the APIs. * Test#102 in the test application has been removed. Test#100 has been modified to test multiple providers as well. * Modified the openssl initialization procedure to accomodate the OSP Server requirements.. * Implemented Performance optimizations in idle connection selection procedure and transaction handover logic. * Fixed a potential race condition that could have occured during the shutdown phase. For details, look at comments in function - osppHttpRemoveConnection. * As a result of the above mentioned changes, the following API's have changed: - OSPPProviderNew - OSPPProviderSetServicePoints - OSPPProviderSetCapabilitiesURLs * Updated connection error and http error log messages to include IP addresses. * Disabled hardware support for enrollment. --------------------------------------------------------------------------- Version 3.1.1 * Removed compilation warnings on Sun compiler. * Fixed a bug in OSPPProviderNew API because of which the toolkit would crash if the 'ospvMessageCount' was configured as NULL and the number of SP's exceeded one. * The toolkit now, by default, allows deletion of a transaction even without reporting usage.If the user does not want this feature, the user can comment the - OSP_NO_DELETE_CHECK definition in the ospcflags.inc file (if running on Solaris/Linux), or the osp.dsp file (if running on Windows). * Modified XML parsing for optimal performance. Functions - OSPPXMLDocIsComment, OSPPXMLDocIsPI, and OSPPXMLDocIsCdata only get included if flag - COMPLETE_XML_PARSING is defined. Since the server never includes Comments, Processing Instructions, or CData, we can safely skip these checks. * Fixed a bug because of which OSPPProviderDelete API, when called during the life of a connection, would give a 'mutex destroy failed' error. * Fixed a race condition in the 'MsgInfo' object. The problem arose because OSPPMsgInfoWaitForMsg function could have been called even when the MsgInfo structure was deleted. As a fix, we now call this function only when the IsNonBlocking parameter of the MsgInfo structure is set to FALSE. * The test_app now, by default (only on Solaris), uses mtmalloc for memory allocation. --------------------------------------------------------------------------- Version 3.1.2 * Modified the build script so that the tar file now includes one main directory. * The header files have now been moved from the include directory to the /osp directory within include. * The Makefile in the /src directory has been modified to build the toolkit directly. The toolkit should be compiled by running - make in the /src directory instead of running the osp_sdk_compile.ksh script. * The makefile can also be used to build and install the osp library. * Fixed a xml encoding bug in the ospusageind.c file. * Added compile time flag: fPIC for compilation using gcc. * The ValidateAuth API has been fixed to accept NULL values for ospvCallId, ospvSizeOfCallId, and ospvDetailLog parameters of the API. * The GetFirstDestination and GetNextDestiantion APIs have been fixed to accept NULL values for ospvCallId, ospvSizeOfCallId, ospvCalledNumber, ospvCalledNumber, and ospvTimeLimit parameters of the API. * The RequestAuthorization API has been fixed to accept NULL value for the ospvDetailLog parameter of the API. * openssl.cnf file is now packaged with the toolkit tarball. --------------------------------------------------------------------------- Version 3.2.0 * The toolkit can report the following information in the CDRs: AlertTime, EndTime, Source Trunk Group, Destination Trunk Group, CIC, and Post Dial Delay. * Renamed the OSPPTransactionSetNetworkId API, and modified it to include the destination trunk group information too. * Modified the ReportUsage API to report positive duration even when the TC Code being reported is not 1016. * Modified test.cfg to include a new parameter - IS_PDD_INFO_AVAILABLE. It will be used to decided whether the Post Dial Delay information should be reported in the usage. * Modified the API: OSPPTransactionModifyDeviceIdentifiers to enable to the user to call this API again. * Added a new option in the test_app menu: ModifyDeviceIndentifiersAgain. Using this option, the user can call the OSPPTransactionModifyDeviceIdentifiers API again with a different set of values. The API can now be called multiple times. * Fixed a bug because of which test app would crash if the translated number in the authorization response was longer than the actual called number. * This release of the toolkit supports calling number translation. * The toolkit now uses port 7080 to communicate with the NexOSS rather than 8080. --------------------------------------------------------------------------- Version 3.3.0 * Added facility to report network Id in the CapEx messages. * Added support for smaller ASCII token. * Added Service, Currency and Pricing Elements to AuthReq and CDRs. There is a new API - OSPPTransactionSetServiceAndPricingInfo, which should be used to configure this information. * Added Conference Id, Call Release Source, and Connect Time to CDRs. * Added support for Trunk Groups in AuthReq message. The OSPPTransactionGetDestNetworkId API can be used to retreive the NetworkId information reported back by the OSP Server in the AuthRsp or that was included in the token. --------------------------------------------------------------------------- Version 3.3.1 * Added new destination protocol - IAX * Added configuration file for openssl - bin/openssl.cnf * Added -DOPENSSL_NO_KRB5 flag to makefiles * Changed PricingInfo.amount type from int to float * Removed a compile time error in test_app * Bug-fix in test case #30 - NULL terminated suggested routes * Bug-fix in test case #31 - check error code when token algorithm does not match actual token format. --------------------------------------------------------------------------- Version 3.3.2 * Moved OSPPUtilLoadPEMPrivateKey and OSPPUtilLoadPEMCert from test_app to osputils. * When validating a token, don't call OSPPTransIdCheckAndAdd when compile-time flag OSP_ALLOW_DUP_TXN is defined. --------------------------------------------------------------------------- Version 3.3.3 * Changed OSP Client Toolkit library name from libosp.a to libosptk.a. * Replaced atoll with _atoi64 in Windows. * Changed pthread library name used by link options in Windows. * Added OSP Client Toolkit version number. * Support "UNDEFINED" call ID. In RequestAuthorisation function, if NumberOfCallIds is 0, "UNDEFINED" call ID will be sent to the OSP server. And ValidateAuthorisation will not validate the "UNDEFINED" call ID in the token. * Changed GetLookAheadInfoIfPresent not to erase network ID info. * Bug-fix in test case #43 - allow multiple calls and check transaction handle. --------------------------------------------------------------------------- Version 3.3.4 * Changed toolkit to report orinally requested number in the Usage Indication rather than the translated called number. --------------------------------------------------------------------------- Version 3.3.5 * Fixed a rare race condition in the MsgInfo module. For OSPC-24 on SIPfoundry. --------------------------------------------------------------------------- Version 3.3.6 * Remove number of call ids check in RequestAuth function. For Emergent's two call ids solution * Fixed an error in handling HTTP responses. For OSPC-25 on SIPfoundry. --------------------------------------------------------------------------- Version 3.4.0 * Added a new API - OSPPTransactionSetDestinationCount --------------------------------------------------------------------------- Version 3.4.1 * Fixed a thread safe issue. Replaced inet_ntoa by inet_ntop. For 1751656 of OSP Toolkit on SourceForge. * Fixed a crash issue. Replaced select by poll. For 1796025 of OSP Toolkit on SourceForge. --------------------------------------------------------------------------- Version 3.4.2 * Modified to remove compile warning messages. * Added new AuthRsp codes support. * Clarified Makefiles. --------------------------------------------------------------------------- Version 3.5.0 * Modified to remove compile warning messages for test_app on 64bit box. * Added CDR role type for RADIUS. * Added support for ACME. * Added custom info. --------------------------------------------------------------------------- Version 3.5.1 * Fixed typos of destination count. * Added reporting network ID in UsageInd. * Added support for reporting full statistics. --------------------------------------------------------------------------- Version 3.5.2 * Changed statistics reporting. * Added test cases in test_app list. --------------------------------------------------------------------------- Version 3.5.3 * Added reporting number portability rn, cic and npid in AuthReq * Added retrieving number portability rn, cic and npid from AuthRsp * Added reporting Diversion header in AuthReq and UsageInd --------------------------------------------------------------------------- Version 3.6.0 - 2009-12-22 * Added setting round trip delay function for reporting * Added reporting ICPIF in UsageInd * Added T.37, T.38, Skype and SMPP destination protocols * Added max for one way/round trip delay statistics * Added retrieving SPID and OCN from AuthRsp * Added ported number query ServiceType * Added setting PricingInfo function * Added setting ServiceType function * Removed asserted ID from AuthReq and UsageInd * Added spn, altspm, mcc and mnc in AuthReq and AuthRsp * Added SMS destination protocol * Fixed UMR issue reported by Purify --------------------------------------------------------------------------- Version 3.6.1 - 2010-01-07 * Added port test case for suggested route test function. * Made AuthRsp->UsageDetail->Amount/Increment/Unit optional for service type ported number query. * Added showing time limit for GetDestination test functions. --------------------------------------------------------------------------- Version 4.0.0 - 2011-07-04 * Changed the OSP TCP port from 1080 to 5045. * Removed 4 deprecated functions. * Replaced QoS up/downstream by direction values. * Changed codec type values. * Added session ID types. * Added singaling protocol types. * Simplified structure element names. --------------------------------------------------------------------------- Version 4.0.1 - 2011-09-28 * Changed calling number reporting logic. Report original calling number instead of authorized calling number in source CDRs. --------------------------------------------------------------------------- Version 4.0.2 - 2011-10-11 * Changed setting destination protocol directly in destination structure. * Changed setting destination network ID directly in destination structure. * Used OSPC_OSNULL instead of NULL. --------------------------------------------------------------------------- Version 4.0.3 - 2012-01-20 * Removed HTTP timeout 1000ms check. * Fixed OSPPSockWaitTillReady tv_usec bug. --------------------------------------------------------------------------- Version 4.1.0 - 2012-06-01 * Added call party info elements. * Added local and remote session ID elements. * Changed ReleaseSource element values. --------------------------------------------------------------------------- Version 4.1.1 - 2012-06-04 * Changed call party info implementation. * Fixed a NULL pointer bug. * Added BroadWorks vendor info. --------------------------------------------------------------------------- Version 4.1.2 - 2012-06-12 * Added ReleaseSource values. * Addde transfer ID and transfer status. --------------------------------------------------------------------------- Version 4.1.3 - 2013-01-10 * Added XML CDR format. * Added Metaswitch Perimeta vendor type. * Updated release source logic. * Added reporting LNP in UsageInd. --------------------------------------------------------------------------- Version 4.1.4 - 2013-05-17 * Added network translated called number and service provider ID in UsageInd. --------------------------------------------------------------------------- Version 4.1.5 - 2013-08-19 * Fixed codec buffer size issue. --------------------------------------------------------------------------- Version 4.2.0 - 2013-10-14 * Added support for video QoS. * Added support for RelatedCallIdReason and SystemId. * Added vendor Kamailio. --------------------------------------------------------------------------- Version 4.2.1 - 2014-02-24 * Added vendor CUCM, MetaSphere and Sansay. --------------------------------------------------------------------------- Version 4.2.2 - 2014-03-18 * Added vendor Taqua. --------------------------------------------------------------------------- Version 4.2.3 - 2014-05-09 * Added vendor Sonus. --------------------------------------------------------------------------- Version 4.2.4 - 2014-08-08 * Added vendor AudioCodes. --------------------------------------------------------------------------- Version 4.3.0 - 2014-10-14 * Added support for CDR proxy, total setup attempts and From display name. --------------------------------------------------------------------------- Version 4.4.0 - 2014-10-27 * Added support for User-Agent. --------------------------------------------------------------------------- Version 4.4.1 - 2014-11-13 * Fixed 0 destination count issue. --------------------------------------------------------------------------- Version 4.4.2 - 2014-11-27 * Added vendor Cisco. --------------------------------------------------------------------------- Version 4.4.3 - 2015-01-26 * Updated to support 603 Decline status code. --------------------------------------------------------------------------- Version 4.5.0 - 2015-05-12 * Updated to support more OSP server response codes. --------------------------------------------------------------------------- Version 4.6.0 - 2015-07-02 * Added media address support * Added proxy address support * Added provider post dial delay and JIP support * Added CNAM support --------------------------------------------------------------------------- Version 4.6.1 - 2015-07-27 * Fixed post dial delay reporting issue. --------------------------------------------------------------------------- Version 4.7.0 - 2015-08-04 * Extended HTTP module to support GET method. * Added CNAM query service type. --------------------------------------------------------------------------- Version 4.7.1 - 2015-09-01 * Fixed destination media addresses and proxy egress address reporting issue. --------------------------------------------------------------------------- Version 4.8.0 - 2015-09-18 * Added support for getting service type. |
From: Di-Shi S. <di...@tr...> - 2013-05-20 14:41:19
|
All, OSP Toolkit 4.1.4 was released on 5/17/2013. The release notes were attached. Regards, Di-Shi Sun VoIP Routing, Accounting, Security <http://www.TransNexus.com> www.TransNexus.com PS. Version 4.1.4 - 2013-05-17 * Added network translated called number and service provider ID in UsageInd. |
From: Jim D. <jim...@tr...> - 2012-07-08 13:47:20
|
Hello Dave, OSP is not exactly the solution for your problem, but a SIP redirect can accomplish what you want to do. OSPrey-32, which is an OSP enabled package of an OpenSIPS redirect server, can provide the feature you need and is available as a VMware appliance on the VMware exchange and also on the Amazon EC2 cloud as an Amazon Machine Instance. You can download also OSPrey-32 from www.transnexus.com. However, there is one issue that may be a show stopper for your solution idea. Your Time Warner consumer connection probably has a dynamic IP address and will change from time to time. To use a redirect server and provide reliable service, you will need static IP addresses. Jim D. From: copycall [mailto:da...@co...] Sent: Sunday, July 08, 2012 3:01 AM To: osp...@li... Subject: [Osp-toolkit-client] can osp solve this problem? hello, i provide a cheap number/voicemail service and i have a little problem that i am trying to solve. under heavy loads i get the latency and jitter deal. the problem is that my time warner business isp connection is only 15 down and 2 up. but, they provide the ip address that i need for my sip carrier to direct DID numbers and origination to. i have just added another time warner connection, this one is consumer without the ip address option, but it is 30 down and 5 up. i was thinking of two solutions: 1) wan aggregation; 2) put a osp, sip proxy, or redirect server on a cloud service with an ip address for my carrier and forward it at my time warner consumer connection (vpn?) and jettison my time warner business connection. is this doable? you can contact me directly at: da...@co... thanks in advance. |
From: copycall <da...@co...> - 2012-07-08 07:31:01
|
hello, i provide a cheap number/voicemail service and i have a little problem that i am trying to solve. under heavy loads i get the latency and jitter deal. the problem is that my time warner business isp connection is only 15 down and 2 up. but, they provide the ip address that i need for my sip carrier to direct DID numbers and origination to. i have just added another time warner connection, this one is consumer without the ip address option, but it is 30 down and 5 up. i was thinking of two solutions: 1) wan aggregation; 2) put a osp, sip proxy, or redirect server on a cloud service with an ip address for my carrier and forward it at my time warner consumer connection (vpn?) and jettison my time warner business connection. is this doable? you can contact me directly at: da...@co... thanks in advance. |
From: Di-Shi S. <di...@tr...> - 2012-05-09 00:58:37
|
FreeSWITCH Open Settlement Protocol (OSP) module This module provides OSP based call authentication, authorization, routing lookup and call detail record (CDR) collection services using standard FreeSWITCH application and dailplan interfaces. The OSP module can be configured by the following parameters in osp.conf.xml: Global parameters: <settings> <param name="*NAME*" value="*VALUE*"/> </settings> Global parameter names and values can be: debug-info: Flag to show OSP module debug information. The default is "disabled". log-level: At which log level to show OSP module debug information. The default is "info". crypto-hardware: If to use hardware for OpenSSL. The default is "disabled". sip: Used SIP module and profile. The default is "sofia" and "external". h323: Used H.323 module and profile. The default is "h323" and "external". This option has not been implemented. iax: Used IAX2 module and profile. The default is "iax" and "external". This option has not been implemented. skype: Used Skype module and profile. The default is "skypopen" and "external". This option has not been implemented. default-protocol: The VoIP protocol for destinations with unknown/undefined protocol. The default is "sip". OSP provider parameters: <profiles> <profile name="default"> <param name="*NAME*" value="*VALUE*"/> </profile> </profiles> OSP provider parameter names ane values cab be: profile: OSP provider profile name. service-point-url: OSP service point URL. This parameter must be defined. Up to 8 URLs are allowed. device-ip: FreeSWITCH IP for OSP module. This parameter must be defined. ssl-lifetime: SSL lifetime. The default is 300 in seconds. http-max-connections: HTTP max connections. The default is 20. http-persistence: HTTP persistence. The default is 60 in seconds. http-retry-delay: HTTP retry delay. The default is 0 in seconds. http-retry-limit: HTTP retry times. The default is 2. http-timeout: HTTP timeout. The default is 10000 in ms. work-mode: OSP module work mode (direct and indirect). The default is "direct". service-type: OSP service type (voice and npquery). The default is "voice". max-destinations: Max destinations OSP server will return. It is up to 12. The default is 12. The OSP application is called in dial plan like this: <action application="osp" data="<profilename>"/> The OSP dialplan is called in dial plan like this: <param name="dialplan" value="osp:<profilename>"/> For both OSP application and dialplan, the <profilename> is an OSP service provider name configured in osp.conf.xml. If it is empty, profile "default" is used. Both OSP application and dialplan accept a set of inbound channel variables that are used to pass additional call information to OSP module. These channel variables include: osp_source_device: Actual source device IP address channel variable. It is only for FreeSWITH OSP module running in indirect mode. osp_source_nid: Source device network ID channel variable. osp_custom_info_N: Up to 8 custom info channel variables. N is the index starting from 1. osp_networkid_userparam: The URI user parameter name that is used to present destination network ID. osp_networkid_uriparam: The URI parameter name that is used to present destination network ID. osp_user_phone: Flag to add "user=phone" URI parameter. The default is "disabled". osp_outbound_proxy: Outbound proxy IP address channel variable. Both OSP application and dialplan also export a set of channel variables for outbound channels and FreeSWITCH dial plan logic (for OSP dialplan, some exported channel variables are not visible for dial plan). These channel variables include: osp_profile: Used OSP profile name. Used by outbound channels. osp_transaction_id: OSP transaction ID. Used by outbound channels. osp_calling: Original inbound calling number. Used by outbound channels. osp_called: Original inbound called number. Used by outbound channels. osp_start_time: Inbound call start time. Used by outbound channels. osp_source_device: Actual source device. Used by outbound channels. It is only for FreeSWITH OSP module running in indirect mode. osp_source_nid: Source network ID. Used by outbound channels. osp_destination_total: Total number of destinations from OSP servers. Used by outbound channels. osp_destination_count: Destination index. Used by outbound channels. osp_destination_ip: Destination IP. Used by outbound channels. osp_destination_nid: Destination network ID. Used by outbound channels. osp_authreq_status: Authorization request result status. osp_route_count: Number of supported destinations. osp_route_N: Destination route string. N is the index starting from 1. osp_auto_route: Bridge route string. |
From: Di-Shi S. <di...@tr...> - 2012-01-20 07:32:56
|
--------------------------------------------------------------------------- --- COPYRIGHT (c) 2002 by TransNexus, Inc. --- --- --- --- This software is property of TransNexus, Inc. --- --- This software is freely available under license from TransNexus. --- --- The license terms and conditions for free use of this software by --- --- third parties are defined in the OSP Toolkit Software License --- --- Agreement (LICENSE.txt). Any use of this software by third --- --- parties, which does not comply with the terms and conditions of the --- --- OSP Toolkit Software License Agreement is prohibited without --- --- the prior, express, written consent of TransNexus, Inc. --- --- --- --- Thank you for using the OSP ToolKit(TM). Please report any bugs, --- --- suggestions or feedback to su...@tr... --- --- --- --------------------------------------------------------------------------- --------------------------------------------------------------------------- Version 2.5.1 * Added -D for BSAFE String Functions within Makefile * Initial work on port of ospopenssl.c includes SSLeay * New version of license agreement for LICENSE.txt * Added critical = False for TN extensions for OSP messages * Added T_strcpy, T_strcmp, T_strlen callbacks for BSAFE * Changed the way headers were identified within HTTP messages * Fixed a couple of bad references in the client auth code. * Changed formatting, and added osp macros for client auth code. * Changes in detecting header types within ospsocket.c * Added OSP macros in ospxml.c * Created separate OSPM_GETSOCKERR macro for Unix and Windows --------------------------------------------------------------------------- Version 2.5.2 * Added code to improve message queuing. * Added code to eliminate memory leaks. * Made the HTTP reader case-insensitive. * Several functions were changed to their macro equivalents. * Changed case on content-types within HTTP messages. * Eliminated some compiler warnings. * Implemented "subscriber" type in SourceAlternate messages. --------------------------------------------------------------------------- Version 2.5.4 * Added parenthesis to variables contained in macros. * Eliminated unnecessary macros. * Corrected macro OSPM_GETHOSTBYNAME to accept empty values. * Eliminated a potential memory leak in OSPPTransactionDelete. * Corrected a conditional statement in OSPPTransIdRemove. * Added code for ASN.1 parser to recognize boolean tags. * Changes were made in order to eliminate the fixed size of altinfo, token, and callid structures. * Corrected a TransNexus Extension attribute (critical should equal "false") * Corrected a buffer overflow error when constructing an enrollment request. * Added the "-function" command to the enroll's help screen. * Added option to compile the Toolkit with POSIX threads on Win32 platforms. * Added a new module to the test_app that implements non-blocking API for the Toolkit. --------------------------------------------------------------------------- Version 2.5.5 * Changed the Toolkit to use the cryptographic algorithms within OpenSSL rather than BSAFE. * Updated Project and Make files. * Added "How to build the Toolkit" document. * New version of license agreement for LICENSE.txt --------------------------------------------------------------------------- Version 2.5.6 * Changed OSPPProviderNew to validate service points for correctness before proceeding with creating a new provider instance. * Fixed handling of HTTP request to close connection - "Connection: close". * Fixed logic for searching available connection when HTTPMaxConnections has been reached. * Fixed a race condition in OSPPCommSignalAllConnections which could potentially cause a call to OSPPProviderDelete to deadlock. * Added initialization of random number generator engine using contents of ".rnd" file expected to be found in the current directory. * Added Cryptogaphic Hardware Support, requires OpenSSL Engine library. * Replaced failure reasons with TCCodes defined in V.2 --------------------------------------------------------------------------- Version 2.6.0 * Improved handling of HTTP and OSP codes. * MsgQueueDelete function now deletes mutex and cond var used by the Queue. * Added call start time to UsageIndication messages. * Added OpenSSL crypto lib support as an alternative to using existing crypto functionality. * Removed documentation from the build. * API CHANGES: * New type OSPTCERT defined in "include/ospdatatypes.h" * OSPPTransactionReportUsage function: * Added StartTime of type OSPTTIME * OSPPProviderNew function: * Changed the type of ospvLocalCertificate from (const void *) to (const OSPTCERT *) * Changed the type of ospvAuthorityCertificates from (const void *[]) to (const OSPTCERT *[]) --------------------------------------------------------------------------- Version 2.6.1 * Upgraded TEP enrollment to use the API changes introduced in 2.6.0 * Fixed memory leaks in the ospopenssl module. * Reduced compile time warnings. --------------------------------------------------------------------------- Version 2.6.2 * Updated the Windows project files to Compile with MultiThreaded DLL libraries, Use standard libraries and to have the ..\crypto path in the Include directives. * Did changes to improve the log messages. * Modified the Makefile and the shell script to include changes for Linux compilation. * Ported the GETHOSTBYNAME function for Linux. * This Release has been tested with MS .NET. * This release requires no special instructions for compiling Openssl on Windows. --------------------------------------------------------------------------- Version 2.7 * Support for reporting the network identifier incorporated * Memory leaks and bug fixes --------------------------------------------------------------------------- Version 2.8 * Modified the enrollment procedure to read PEM format files instead of dat. The enrollment prodedure has now been much simplified by removing the cumbersome tasks of copying the keys and editing files. It is a 3 step procedure with no practical differences for the different platforms. --------------------------------------------------------------------------- Version 2.8.1 * Updated test app to use PEM encoded crypto files for the following test_app.c functions - SetAuthorityCertificates, SetLocalKeys. * Makefile changes in the enroll and test Makefiles --------------------------------------------------------------------------- Version 2.8.2 * Bug fix for Linux. Problem because of trying to delete the mutex when it was locked * Implemeted support of SetServicePoints API in test_app, fixed a bug for this support in the Toolkit. * Log message changes for Linux and windows --------------------------------------------------------------------------- Version 2.9.0 * Implemented 2 New API's :- * 1. OSPPTransactionGetDestProtocol - Reports the Protocol Information at the Current destination. * Return Values are: SIP, H323_LRQ, H323_Setup, Undefined and Unknown. * 2. OSPPTransactionIsDestOSPEnabled - Reports whether the destination is OSP Enabled or Not. * Return Values are: True, False, Undefined and Unknown. * Implemented a compile time flag - OSP_ALLOW_DUP_TXN, to enable reuse of transactions during token validation.The purpose of this feature is to overcome the limitation where 2 token's with the same transaction id could not be validated. This compile time flag either enables or disables repeat validations. This is particularly helpful in the fail over cases when we can get a Second Call Setup message for the same call. * Renamed a macro - 'min', to tr_min, to avoid a conflict with the Open Source H323 library. * Implemented a new String comparison macro - OSPM_STRCASECMP, to ignore the case of the strings being compared. When examining the value of the critical attributes in the OSP messages, we ignore the case.As per the protocol, the values should all be lowercase, however for backward compatibility, both upper and lower case are acceptable. * Modified the token Validation procedure to check for an exact match between the Calling number passed in the API and the calling number in the token.Until now an empty calling number in the API and non empty calling number in the token did not generate a Validation Failure. However now, there has to be an exact match between the 2 numbers for the Validation process to pass. A similar logic holds for the Called Number as well. * Added 4 new functions to the test app - GetCallingNumber, GetCalledNumber, SetCallingNumber, SetCalledNumber. The Set functions allow the user to change the calling and called numbers on the fly. The Test App starts with the configuration in the test.cfg file as default. However, there is now an option of changing these values at run time. The Get functions display the currently configured value. * Removed a Mutex Lock Error Log Message for Windows. The mutex_unlock call in function - osppHttpSetupAndMonitor, file - osphttp.c,behaves slightly differently for different OS: - Solaris does not seem to give a probem if this mutex is left locked or is unlocked before it is destroyed.Eitherways, it is fine. - Linux needs this mutex to be unlocked before it can be destroyed. - Windows seems to have a problem if it is unlocked before it is destroyed. Because of this problem, there is an error message that pops up on Windows if this function call is made before destroying the mutex. And to prevent that log message, the above mentioned function call is made for all the other OS but Windows. * In case the client is not able to connect with the Server, the toolkit prints out log messages explaining the probable cause.The port numbers printed are now converted from network to host byte order before they are printed. This is done because of some problems seen on Linux while reporting the Port Numbers as such. --------------------------------------------------------------------------- Version 2.9.1 * All the macro implementation used in Production mode have been removed. * Removed all compilation warnings that used to pop up previously. The code now is warnings free for all the compilation modes if the openssl version being used is 0.97 or up. There will be a warning in the fn: d2i_RSAPublicKey that will appear if the openssl version is 0.96c or below. * Fixed a bug for 2.9.0 compilation on Windows. Turns out that 'strcasecmp' function does not work on windows. The code was modified to use 'stricmp' for case comparison on windows. * Modified the test_app for the following: 1. test_app dumped core when the Private Key file - 'pkey.pem' was not present in the specified directory. Fixed this to generate an error instead. 2. Prior to this release, multiple calls to fn 24 - TransactionDelete, did not generate any error in the test_app. So the following sequence - 1,23,24,24,24 or 1,24 did not generate any error on the test_app interface forcing the user to wrongly beleive that transactions can be deleted at will. This is now fixed, so either of the sequence mentioned above will now generate an appropriate error message. 3. Calling fn 31 - ValidateTransaction, after calling fn 24 - DeleteTransaction dumped core. This has been fixed to generate an appropriate error message since calling ValidateTransaction for a deleted transaction handle does not make sense. 4. Calling fn 32 - ReportUsageIndication, after calling fn 24 - DeleteTransaction did not generate any error. So the following sequence - 1,23,29,27,32,24,32 did not generate any error on the test_app interface forcing the user to wrongly beleive that usage can be reported even after deleting the transaction.This is now fixed to generate an appropriate error message. 5. Modified the test_app to read the Network Identifier from the CLI instead of it being hardcoded in the test_app as before. The ResetNetworkId function has been removed and the SetNetworkId can be called twice to try and attempt a change in the Network Identifier. * There was a bug in the toolkit that allowed the user to Delete Transactions without Reporting Usage even if there has been a successful call to 'GetFirstDestination'. So, the following sequence of fn calls was allowed: 1,23,29, 27(Succeeds),28(Fails because only one destination was reported), 24. This is incorrect as the device should report usage if the GetFirstDestination call has succeeded.This release fixes that bug and requires the device to report usage if a call to GetFirstDestination has succeeded. * Fixed the compilation bug that did not let the 2.9.0 version to be run in production mode. * Defined OSP_SDK in 'enroll.dsp'.Without this flag defined, some the debug functionality was not getting included for the enroll utility(on windows platform), which meant missing log messages in the debug mode. * Fixed an ambiguos Log message for Windows. When the 'gethostbyname' function call failed on Windows, the variable - errno was not getting updated, because of which the log message indicated that there was no error. * Introduced a state in the transaction state machine to prevent Deletion of a Transaction while Authorization has been requested and response not received back yet. In addition to Deletion, this state facilitates the application to error out if it calls ReportUsage,GetFirstDestination or GetNextDestination API's while the Authorization Request is in progress.The same concept works for ReportUsage also. * Fixed a memory leak that occured when test_app ran 1000 calls and some of the responses started timing out. The OSPM_INET_NTOA macro is removed (for both Windows and Unix implementations) and defined as a function to fix the bug. * Added a library - 'dl' in the makefile for Enroll and Test_app for Linux compilation in the Release Mode.It is required for some openssl functions. * Fixed a bug which was introduced in the 2.8.2 release of the toolkit. The new bug caused the OSPPProviderDelete call made after attempting multiple calls to hang and never return to the application. The bug is fixed in this release. * Added all pthread specific configuration (that was required on Windows) to the test.dsp, enroll.dsp and osp.dsp files. Now there is no need for manual configuration of pthreads on Windows. * Changed toolkit to report Translated Number (As returned in the Authorization Response) in the Usage Indication rather than the originally requested number.If the server returns no Called number in the Authorization Response or returns an empty called number in the Authorization Response, the toolkit sends the original called number (As sent in the Authorization Request) in the Usage Indication. --------------------------------------------------------------------------- Version 2.9.2 * Modified the test_app to run any number of test calls. Prior to this release the Option#100 in the test_app CLI ran 1000 calls. The interface now asks the user to input the number of calls that need to be run. This number can be anything as long as the maximum simltaneous transactions are not exceeded and the toolkit queue size limit is not exceeded. By default the maximum number of calls that can be run is 20,000. * Changed the code to eliminate all the warnings that popped up while compiling the toolkit with the SUN 'cc' compiler. * Changed test_app to not use 'gets'. * Added a section in the 'Toolkit Porting Guide' document which details the current memory allocation scheme implemented in the toolkit, and outlines how some other schemes can be used to improve the toolkit efficiency. --------------------------------------------------------------------------- Version 2.9.3 * Implemented Subscriber Id and PIN in the Authorization Request message. The calling card information can now be passed to the Server for authorization. * Added a new function (RequestSuggestedAuthorization, CLI function #30) to the test_app. Implemented reporting of suggested route's in the test_app. * Eased the restriction on reporting TC Codes in the GetNextDestination API. The toolkit now supports 0 as a valid TC Code. * This version of the toolkit is also tested with unsigned tokens. --------------------------------------------------------------------------- Version 2.10.0 * Implemented new API for reporting CapabilitiesIndication message. OSPPProviderSetCapabilitiesURLs - configures a list of URLs. The URLs will be used for sending the new message only. Other OSP messages will be send to the service points configured using OSPPProviderNew or OSPProviderSetServicePoints. OSPPTransactionIndicateCapabilities - sends the new message to one of the URLs in the list. * Added new test cases to the test app: #4 tests OSPProviderSetServicePoints #14 tests OSPPProviderSetCapabilitiesURLs #37 tests a single call to OSPPTransactionIndicateCapabilities #101 tests multiple calls to OSPPTransactionIndicateCapabilities in parallel * Allowed reporting source and destination Usage Indication messages without calling number. * Fixed a bug in XML-encoding logic for empty elements with attributes. The toolkit will correctly encode empty calling number. * Fixed a bug in OSPProviderSetServicePoints. The function can be used for updating the list of service points used for sending Authorization Request and Usage Indication messages. * Eliminated a race condition in the communication module. * Improved resource management - quickly close TCP connection after HTTP persistence times out. --------------------------------------------------------------------------- Version 2.10.1 * Removed a conflicting definition of OSPVersion element. The bug was introduced in version 2.10.0 --------------------------------------------------------------------------- Version 2.11 * Modified the toolkit for the following openssl issues: - Crypto Hardware Initialization. - Multi-threading. - Openssl initialization with ProviderNew: Previously, the openssl library was initialized with every call to ProviderNew API. This was error prone because the toolkit supports multiple calls to ProviderNew API. With this release the toolkit supports initialization when a call to the OSPPInit function is made. Thus, the OSPPInit API has changed. * The toolkit has been modified to support multiple providers. The test_app has been modified to include a new test case #102 which tests this functionality. * Modified the toolkit to support usage reporting without an Authorization Request or a Token. A new API - OSPPTransactionBuildUsageFromScratch has been implemented to achieve this. In order to report usage for multiple destinations the application should call this API again. * With this release, the unsigned mode of compilation has been removed from the toolkit. The toolkit can now validate both - signed and unsigned tokens in the same build. However, the application should tell the toolkit about the kind of algorithm (signed/unsigned/both) that the toolkit should restrict to while validating the token. This is done using a new parameter - ospvTokenAlgo, in the OSPPTransactionValidateAuthorization API. The permissible values are - 0 for Signed token, 1 for unsigned, and 2 for both. Along with the ValidateAuthorization API, the following API's have also changed - OSPPTransactionInitializeAtDevice, OSPPTransactionReinitializeAtDevice, OSPPTransactionValidateReAuthorisation. * Fixed a bug because of which a duration of 0 was reported in the CDR after calling OSPPTransactionRecordFailure API (Even if the Failure code set using the API was 1016). * The Source,SourceDevice, Destination and DestinationDevice IP addresses(as used in the test_app) are now configurable. * Three new parameter have been added to test.cfg - TOKENALGO, OUTOFRESOURCES, and HWSUPPORT. * Request Reauthorization API has now been implemented in the test_app (test case #38). * The toolkit now reports the Source IP address and the SourceDevice IP address in a manner different than the previous releases of the toolkit. The Source IP address is now reported as SourceAlternate <type "transport"> and the SourceDevice IP address is now reported as DeviceInfo<type "transport">.This applies to RequestAuthorization, UsageIndication, CapabilityIndication, and Request Reauthorization messages. * This release includes an enrollment script that works on Linux and Solaris, and automates the device enrollment procedure with the Server. * Fixed a bug because of which the toolkit would crash when SSL was used for communication with the Server.Added a mutex used to protect access to the LoadCert function in ospopenssl.c file. --------------------------------------------------------------------------- Version 2.11.1 * Modified the enroll utility to call OSPPInit function to initialize the OSP TOolkit library. Previously the enroll utility depended on SSLWrapInit function to initialize openssl. Now, it makes use of the OSPPInit function that internally initializes openssl. * Modified the test_app to NOT create a new transaction eveytime when the BuildUsageFromScratch API is called. * Removed the hardcoded values for token algorithm in the OSPPTransactionInitializeAtDevice and OSPPTransactionReinitializeAtDevice function. --------------------------------------------------------------------------- Version 3.0 * The toolkit now supports look ahead routing. A look ahead route is a route embedded within the OSP token and used by proxy devices to terminate the call without having to go to the OSP Server again. When a proxy device gets a INVITE/Setup message with a token in it, the device can validate the token, retrieve the look ahead route embedded within the token and use it to terminate the call. This prevents the Proxy from doing a Route Authorization request. Refer to the implementation guides in the toolkit documentation for further details. * Call Id is now optional for token validation when the token does not contain one. If the token contains a CallId then the application needs to pass it in the ValidateAuthorization API. If the token does not contain the call id, then the application need not pass it in the API. In that case, the application can get away by passing an empty string - "". * The toolkit is now fully SIP compliant. It now supports calling and called number in the following three forms: e.164 numbers, SIP URI's, and URL's. URL's can be most useful when the application wants to report a e.164 number in its ENUM form. * The toolkit has been modified to enroll with multiple servers and validate tokens from multiple OSP Servers. The enroll.sh script has been modified to take a list of OSP servers as input and obtain CA certificates from the different servers. The test application has been modified to read the multiple CA certificates and load them in the toolkit. * The test application configuration file - test.cfg has been modified with the following configuration parameters: TC Code to be reported in the usage indication, Format of the Calling Number (e.164/SIP/URL), and Format of the Called Number (e.164/SIP/URL). * The following API's have changed as a result of the above mentioned changes: - OSPPTransactionBuildUsageFromScratch - OSPPTransactionInitializeAtDevice - OSPPTransactionRequestAuthorisation - OSPPTransactionValidateAuthorisation --------------------------------------------------------------------------- Version 3.1 * The toolkit has been modified to support load balancing among the different SP's configured. Each message (Authorization Req, Usage Ind, or Cap Ind) is now sent to a different OSP Server, based on the load and the SP availability. For further details on the implementation, refer to the toolkit documentation. * As a part of Load Balancing changes, the maximum number of Http Connections that can be opened is now made configurable in test.cfg file. Also, the maximum number of messages that can be sent over a connection is made configurable. This configuration is on a per Service Point basis. * Removed compilation warnings for windows. * Implemented multi-threading for openssl on Windows. * Implemented a new API - OSPPTransactionModifyDeviceIdentifiers. This API is called to overwrite the ospvSource/ospvSourceDevice/ospvDestination/ospvDestinationDevice that was passed in the RequestAuth/ ValidateAuth/BuildUsageFromScratch/InitializeAtDevice APIs. This API provides the application with a mechanism of reporting Usage with addresses different from those that were used while calling the APIs. * Test#102 in the test application has been removed. Test#100 has been modified to test multiple providers as well. * Modified the openssl initialization procedure to accomodate the OSP Server requirements.. * Implemented Performance optimizations in idle connection selection procedure and transaction handover logic. * Fixed a potential race condition that could have occured during the shutdown phase. For details, look at comments in function - osppHttpRemoveConnection. * As a result of the above mentioned changes, the following API's have changed: - OSPPProviderNew - OSPPProviderSetServicePoints - OSPPProviderSetCapabilitiesURLs * Updated connection error and http error log messages to include IP addresses. * Disabled hardware support for enrollment. --------------------------------------------------------------------------- Version 3.1.1 * Removed compilation warnings on Sun compiler. * Fixed a bug in OSPPProviderNew API because of which the toolkit would crash if the 'ospvMessageCount' was configured as NULL and the number of SP's exceeded one. * The toolkit now, by default, allows deletion of a transaction even without reporting usage.If the user does not want this feature, the user can comment the - OSP_NO_DELETE_CHECK definition in the ospcflags.inc file (if running on Solaris/Linux), or the osp.dsp file (if running on Windows). * Modified XML parsing for optimal performance. Functions - OSPPXMLDocIsComment, OSPPXMLDocIsPI, and OSPPXMLDocIsCdata only get included if flag - COMPLETE_XML_PARSING is defined. Since the server never includes Comments, Processing Instructions, or CData, we can safely skip these checks. * Fixed a bug because of which OSPPProviderDelete API, when called during the life of a connection, would give a 'mutex destroy failed' error. * Fixed a race condition in the 'MsgInfo' object. The problem arose because OSPPMsgInfoWaitForMsg function could have been called even when the MsgInfo structure was deleted. As a fix, we now call this function only when the IsNonBlocking parameter of the MsgInfo structure is set to FALSE. * The test_app now, by default (only on Solaris), uses mtmalloc for memory allocation. --------------------------------------------------------------------------- Version 3.1.2 * Modified the build script so that the tar file now includes one main directory. * The header files have now been moved from the include directory to the /osp directory within include. * The Makefile in the /src directory has been modified to build the toolkit directly. The toolkit should be compiled by running - make in the /src directory instead of running the osp_sdk_compile.ksh script. * The makefile can also be used to build and install the osp library. * Fixed a xml encoding bug in the ospusageind.c file. * Added compile time flag: fPIC for compilation using gcc. * The ValidateAuth API has been fixed to accept NULL values for ospvCallId, ospvSizeOfCallId, and ospvDetailLog parameters of the API. * The GetFirstDestination and GetNextDestiantion APIs have been fixed to accept NULL values for ospvCallId, ospvSizeOfCallId, ospvCalledNumber, ospvCalledNumber, and ospvTimeLimit parameters of the API. * The RequestAuthorization API has been fixed to accept NULL value for the ospvDetailLog parameter of the API. * openssl.cnf file is now packaged with the toolkit tarball. --------------------------------------------------------------------------- Version 3.2.0 * The toolkit can report the following information in the CDRs: AlertTime, EndTime, Source Trunk Group, Destination Trunk Group, CIC, and Post Dial Delay. * Renamed the OSPPTransactionSetNetworkId API, and modified it to include the destination trunk group information too. * Modified the ReportUsage API to report positive duration even when the TC Code being reported is not 1016. * Modified test.cfg to include a new parameter - IS_PDD_INFO_AVAILABLE. It will be used to decided whether the Post Dial Delay information should be reported in the usage. * Modified the API: OSPPTransactionModifyDeviceIdentifiers to enable to the user to call this API again. * Added a new option in the test_app menu: ModifyDeviceIndentifiersAgain. Using this option, the user can call the OSPPTransactionModifyDeviceIdentifiers API again with a different set of values. The API can now be called multiple times. * Fixed a bug because of which test app would crash if the translated number in the authorization response was longer than the actual called number. * This release of the toolkit supports calling number translation. * The toolkit now uses port 7080 to communicate with the NexOSS rather than 8080. --------------------------------------------------------------------------- Version 3.3.0 * Added facility to report network Id in the CapEx messages. * Added support for smaller ASCII token. * Added Service, Currency and Pricing Elements to AuthReq and CDRs. There is a new API - OSPPTransactionSetServiceAndPricingInfo, which should be used to configure this information. * Added Conference Id, Call Release Source, and Connect Time to CDRs. * Added support for Trunk Groups in AuthReq message. The OSPPTransactionGetDestNetworkId API can be used to retreive the NetworkId information reported back by the OSP Server in the AuthRsp or that was included in the token. --------------------------------------------------------------------------- Version 3.3.1 * Added new destination protocol - IAX * Added configuration file for openssl - bin/openssl.cnf * Added -DOPENSSL_NO_KRB5 flag to makefiles * Changed PricingInfo.amount type from int to float * Removed a compile time error in test_app * Bug-fix in test case #30 - NULL terminated suggested routes * Bug-fix in test case #31 - check error code when token algorithm does not match actual token format. --------------------------------------------------------------------------- Version 3.3.2 * Moved OSPPUtilLoadPEMPrivateKey and OSPPUtilLoadPEMCert from test_app to osputils. * When validating a token, don't call OSPPTransIdCheckAndAdd when compile-time flag OSP_ALLOW_DUP_TXN is defined. --------------------------------------------------------------------------- Version 3.3.3 * Changed OSP Client Toolkit library name from libosp.a to libosptk.a. * Replaced atoll with _atoi64 in Windows. * Changed pthread library name used by link options in Windows. * Added OSP Client Toolkit version number. * Support "UNDEFINED" call ID. In RequestAuthorisation function, if NumberOfCallIds is 0, "UNDEFINED" call ID will be sent to the OSP server. And ValidateAuthorisation will not validate the "UNDEFINED" call ID in the token. * Changed GetLookAheadInfoIfPresent not to erase network ID info. * Bug-fix in test case #43 - allow multiple calls and check transaction handle. --------------------------------------------------------------------------- Version 3.3.4 * Changed toolkit to report orinally requested number in the Usage Indication rather than the translated called number. --------------------------------------------------------------------------- Version 3.3.5 * Fixed a rare race condition in the MsgInfo module. For OSPC-24 on SIPfoundry. --------------------------------------------------------------------------- Version 3.3.6 * Remove number of call ids check in RequestAuth function. For Emergent's two call ids solution * Fixed an error in handling HTTP responses. For OSPC-25 on SIPfoundry. --------------------------------------------------------------------------- Version 3.4.0 * Added a new API - OSPPTransactionSetDestinationCount --------------------------------------------------------------------------- Version 3.4.1 * Fixed a thread safe issue. Replaced inet_ntoa by inet_ntop. For 1751656 of OSP Toolkit on SourceForge. * Fixed a crash issue. Replaced select by poll. For 1796025 of OSP Toolkit on SourceForge. --------------------------------------------------------------------------- Version 3.4.2 * Modified to remove compile warning messages. * Added new AuthRsp codes support. * Clarified Makefiles. --------------------------------------------------------------------------- Version 3.5.0 * Modified to remove compile warning messages for test_app on 64bit box. * Added CDR role type for RADIUS. * Added support for ACME. * Added custom info. --------------------------------------------------------------------------- Version 3.5.1 * Fixed typos of destination count. * Added reporting network ID in UsageInd. * Added support for reporting full statistics. --------------------------------------------------------------------------- Version 3.5.2 * Changed statistics reporting. * Added test cases in test_app list. --------------------------------------------------------------------------- Version 3.5.3 * Added reporting number portability rn, cic and npid in AuthReq * Added retrieving number portability rn, cic and npid from AuthRsp * Added reporting Diversion header in AuthReq and UsageInd --------------------------------------------------------------------------- Version 3.6.0 - 2009-12-22 * Added setting round trip delay function for reporting * Added reporting ICPIF in UsageInd * Added T.37, T.38, Skype and SMPP destination protocols * Added max for one way/round trip delay statistics * Added retrieving SPID and OCN from AuthRsp * Added ported number query ServiceType * Added setting PricingInfo function * Added setting ServiceType function * Removed asserted ID from AuthReq and UsageInd * Added spn, altspm, mcc and mnc in AuthReq and AuthRsp * Added SMS destination protocol * Fixed UMR issue reported by Purify --------------------------------------------------------------------------- Version 3.6.1 - 2010-01-07 * Added port test case for suggested route test function. * Made AuthRsp->UsageDetail->Amount/Increment/Unit optional for service type ported number query. * Added showing time limit for GetDestination test functions. --------------------------------------------------------------------------- Version 4.0.0 - 2011-07-04 * Changed the OSP TCP port from 1080 to 5045. * Removed 4 deprecated functions. * Replaced QoS up/downstream by direction values. * Changed codec type values. * Added session ID types. * Added singaling protocol types. * Simplified structure element names. --------------------------------------------------------------------------- Version 4.0.1 - 2011-09-28 * Changed calling number reporting logic. Report original calling number instead of authorized calling number in source CDRs. --------------------------------------------------------------------------- Version 4.0.2 - 2011-10-11 * Changed setting destination protocol directly in destination structure. * Changed setting destination network ID directly in destination structure. * Used OSPC_OSNULL instead of NULL. --------------------------------------------------------------------------- Version 4.0.3 - 2012-01-20 * Removed HTTP timeout 1000ms check. * Fixed OSPPSockWaitTillReady tv_usec bug. --------------------------------------------------------------------------- |
From: Di-Shi S. <di...@tr...> - 2011-10-12 07:50:44
|
--------------------------------------------------------------------------- --- COPYRIGHT (c) 2002 by TransNexus, Inc. --- --- --- --- This software is property of TransNexus, Inc. --- --- This software is freely available under license from TransNexus. --- --- The license terms and conditions for free use of this software by --- --- third parties are defined in the OSP Toolkit Software License --- --- Agreement (LICENSE.txt). Any use of this software by third --- --- parties, which does not comply with the terms and conditions of the --- --- OSP Toolkit Software License Agreement is prohibited without --- --- the prior, express, written consent of TransNexus, Inc. --- --- --- --- Thank you for using the OSP ToolKit(TM). Please report any bugs, --- --- suggestions or feedback to su...@tr... --- --- --- --------------------------------------------------------------------------- --------------------------------------------------------------------------- Version 2.5.1 * Added -D for BSAFE String Functions within Makefile * Initial work on port of ospopenssl.c includes SSLeay * New version of license agreement for LICENSE.txt * Added critical = False for TN extensions for OSP messages * Added T_strcpy, T_strcmp, T_strlen callbacks for BSAFE * Changed the way headers were identified within HTTP messages * Fixed a couple of bad references in the client auth code. * Changed formatting, and added osp macros for client auth code. * Changes in detecting header types within ospsocket.c * Added OSP macros in ospxml.c * Created separate OSPM_GETSOCKERR macro for Unix and Windows --------------------------------------------------------------------------- Version 2.5.2 * Added code to improve message queuing. * Added code to eliminate memory leaks. * Made the HTTP reader case-insensitive. * Several functions were changed to their macro equivalents. * Changed case on content-types within HTTP messages. * Eliminated some compiler warnings. * Implemented "subscriber" type in SourceAlternate messages. --------------------------------------------------------------------------- Version 2.5.4 * Added parenthesis to variables contained in macros. * Eliminated unnecessary macros. * Corrected macro OSPM_GETHOSTBYNAME to accept empty values. * Eliminated a potential memory leak in OSPPTransactionDelete. * Corrected a conditional statement in OSPPTransIdRemove. * Added code for ASN.1 parser to recognize boolean tags. * Changes were made in order to eliminate the fixed size of altinfo, token, and callid structures. * Corrected a TransNexus Extension attribute (critical should equal "false") * Corrected a buffer overflow error when constructing an enrollment request. * Added the "-function" command to the enroll's help screen. * Added option to compile the Toolkit with POSIX threads on Win32 platforms. * Added a new module to the test_app that implements non-blocking API for the Toolkit. --------------------------------------------------------------------------- Version 2.5.5 * Changed the Toolkit to use the cryptographic algorithms within OpenSSL rather than BSAFE. * Updated Project and Make files. * Added "How to build the Toolkit" document. * New version of license agreement for LICENSE.txt --------------------------------------------------------------------------- Version 2.5.6 * Changed OSPPProviderNew to validate service points for correctness before proceeding with creating a new provider instance. * Fixed handling of HTTP request to close connection - "Connection: close". * Fixed logic for searching available connection when HTTPMaxConnections has been reached. * Fixed a race condition in OSPPCommSignalAllConnections which could potentially cause a call to OSPPProviderDelete to deadlock. * Added initialization of random number generator engine using contents of ".rnd" file expected to be found in the current directory. * Added Cryptogaphic Hardware Support, requires OpenSSL Engine library. * Replaced failure reasons with TCCodes defined in V.2 --------------------------------------------------------------------------- Version 2.6.0 * Improved handling of HTTP and OSP codes. * MsgQueueDelete function now deletes mutex and cond var used by the Queue. * Added call start time to UsageIndication messages. * Added OpenSSL crypto lib support as an alternative to using existing crypto functionality. * Removed documentation from the build. * API CHANGES: * New type OSPTCERT defined in "include/ospdatatypes.h" * OSPPTransactionReportUsage function: * Added StartTime of type OSPTTIME * OSPPProviderNew function: * Changed the type of ospvLocalCertificate from (const void *) to (const OSPTCERT *) * Changed the type of ospvAuthorityCertificates from (const void *[]) to (const OSPTCERT *[]) --------------------------------------------------------------------------- Version 2.6.1 * Upgraded TEP enrollment to use the API changes introduced in 2.6.0 * Fixed memory leaks in the ospopenssl module. * Reduced compile time warnings. --------------------------------------------------------------------------- Version 2.6.2 * Updated the Windows project files to Compile with MultiThreaded DLL libraries, Use standard libraries and to have the ..\crypto path in the Include directives. * Did changes to improve the log messages. * Modified the Makefile and the shell script to include changes for Linux compilation. * Ported the GETHOSTBYNAME function for Linux. * This Release has been tested with MS .NET. * This release requires no special instructions for compiling Openssl on Windows. --------------------------------------------------------------------------- Version 2.7 * Support for reporting the network identifier incorporated * Memory leaks and bug fixes --------------------------------------------------------------------------- Version 2.8 * Modified the enrollment procedure to read PEM format files instead of dat. The enrollment prodedure has now been much simplified by removing the cumbersome tasks of copying the keys and editing files. It is a 3 step procedure with no practical differences for the different platforms. --------------------------------------------------------------------------- Version 2.8.1 * Updated test app to use PEM encoded crypto files for the following test_app.c functions - SetAuthorityCertificates, SetLocalKeys. * Makefile changes in the enroll and test Makefiles --------------------------------------------------------------------------- Version 2.8.2 * Bug fix for Linux. Problem because of trying to delete the mutex when it was locked * Implemeted support of SetServicePoints API in test_app, fixed a bug for this support in the Toolkit. * Log message changes for Linux and windows --------------------------------------------------------------------------- Version 2.9.0 * Implemented 2 New API's :- * 1. OSPPTransactionGetDestProtocol - Reports the Protocol Information at the Current destination. * Return Values are: SIP, H323_LRQ, H323_Setup, Undefined and Unknown. * 2. OSPPTransactionIsDestOSPEnabled - Reports whether the destination is OSP Enabled or Not. * Return Values are: True, False, Undefined and Unknown. * Implemented a compile time flag - OSP_ALLOW_DUP_TXN, to enable reuse of transactions during token validation.The purpose of this feature is to overcome the limitation where 2 token's with the same transaction id could not be validated. This compile time flag either enables or disables repeat validations. This is particularly helpful in the fail over cases when we can get a Second Call Setup message for the same call. * Renamed a macro - 'min', to tr_min, to avoid a conflict with the Open Source H323 library. * Implemented a new String comparison macro - OSPM_STRCASECMP, to ignore the case of the strings being compared. When examining the value of the critical attributes in the OSP messages, we ignore the case.As per the protocol, the values should all be lowercase, however for backward compatibility, both upper and lower case are acceptable. * Modified the token Validation procedure to check for an exact match between the Calling number passed in the API and the calling number in the token.Until now an empty calling number in the API and non empty calling number in the token did not generate a Validation Failure. However now, there has to be an exact match between the 2 numbers for the Validation process to pass. A similar logic holds for the Called Number as well. * Added 4 new functions to the test app - GetCallingNumber, GetCalledNumber, SetCallingNumber, SetCalledNumber. The Set functions allow the user to change the calling and called numbers on the fly. The Test App starts with the configuration in the test.cfg file as default. However, there is now an option of changing these values at run time. The Get functions display the currently configured value. * Removed a Mutex Lock Error Log Message for Windows. The mutex_unlock call in function - osppHttpSetupAndMonitor, file - osphttp.c,behaves slightly differently for different OS: - Solaris does not seem to give a probem if this mutex is left locked or is unlocked before it is destroyed.Eitherways, it is fine. - Linux needs this mutex to be unlocked before it can be destroyed. - Windows seems to have a problem if it is unlocked before it is destroyed. Because of this problem, there is an error message that pops up on Windows if this function call is made before destroying the mutex. And to prevent that log message, the above mentioned function call is made for all the other OS but Windows. * In case the client is not able to connect with the Server, the toolkit prints out log messages explaining the probable cause.The port numbers printed are now converted from network to host byte order before they are printed. This is done because of some problems seen on Linux while reporting the Port Numbers as such. --------------------------------------------------------------------------- Version 2.9.1 * All the macro implementation used in Production mode have been removed. * Removed all compilation warnings that used to pop up previously. The code now is warnings free for all the compilation modes if the openssl version being used is 0.97 or up. There will be a warning in the fn: d2i_RSAPublicKey that will appear if the openssl version is 0.96c or below. * Fixed a bug for 2.9.0 compilation on Windows. Turns out that 'strcasecmp' function does not work on windows. The code was modified to use 'stricmp' for case comparison on windows. * Modified the test_app for the following: 1. test_app dumped core when the Private Key file - 'pkey.pem' was not present in the specified directory. Fixed this to generate an error instead. 2. Prior to this release, multiple calls to fn 24 - TransactionDelete, did not generate any error in the test_app. So the following sequence - 1,23,24,24,24 or 1,24 did not generate any error on the test_app interface forcing the user to wrongly beleive that transactions can be deleted at will. This is now fixed, so either of the sequence mentioned above will now generate an appropriate error message. 3. Calling fn 31 - ValidateTransaction, after calling fn 24 - DeleteTransaction dumped core. This has been fixed to generate an appropriate error message since calling ValidateTransaction for a deleted transaction handle does not make sense. 4. Calling fn 32 - ReportUsageIndication, after calling fn 24 - DeleteTransaction did not generate any error. So the following sequence - 1,23,29,27,32,24,32 did not generate any error on the test_app interface forcing the user to wrongly beleive that usage can be reported even after deleting the transaction.This is now fixed to generate an appropriate error message. 5. Modified the test_app to read the Network Identifier from the CLI instead of it being hardcoded in the test_app as before. The ResetNetworkId function has been removed and the SetNetworkId can be called twice to try and attempt a change in the Network Identifier. * There was a bug in the toolkit that allowed the user to Delete Transactions without Reporting Usage even if there has been a successful call to 'GetFirstDestination'. So, the following sequence of fn calls was allowed: 1,23,29, 27(Succeeds),28(Fails because only one destination was reported), 24. This is incorrect as the device should report usage if the GetFirstDestination call has succeeded.This release fixes that bug and requires the device to report usage if a call to GetFirstDestination has succeeded. * Fixed the compilation bug that did not let the 2.9.0 version to be run in production mode. * Defined OSP_SDK in 'enroll.dsp'.Without this flag defined, some the debug functionality was not getting included for the enroll utility(on windows platform), which meant missing log messages in the debug mode. * Fixed an ambiguos Log message for Windows. When the 'gethostbyname' function call failed on Windows, the variable - errno was not getting updated, because of which the log message indicated that there was no error. * Introduced a state in the transaction state machine to prevent Deletion of a Transaction while Authorization has been requested and response not received back yet. In addition to Deletion, this state facilitates the application to error out if it calls ReportUsage,GetFirstDestination or GetNextDestination API's while the Authorization Request is in progress.The same concept works for ReportUsage also. * Fixed a memory leak that occured when test_app ran 1000 calls and some of the responses started timing out. The OSPM_INET_NTOA macro is removed (for both Windows and Unix implementations) and defined as a function to fix the bug. * Added a library - 'dl' in the makefile for Enroll and Test_app for Linux compilation in the Release Mode.It is required for some openssl functions. * Fixed a bug which was introduced in the 2.8.2 release of the toolkit. The new bug caused the OSPPProviderDelete call made after attempting multiple calls to hang and never return to the application. The bug is fixed in this release. * Added all pthread specific configuration (that was required on Windows) to the test.dsp, enroll.dsp and osp.dsp files. Now there is no need for manual configuration of pthreads on Windows. * Changed toolkit to report Translated Number (As returned in the Authorization Response) in the Usage Indication rather than the originally requested number.If the server returns no Called number in the Authorization Response or returns an empty called number in the Authorization Response, the toolkit sends the original called number (As sent in the Authorization Request) in the Usage Indication. --------------------------------------------------------------------------- Version 2.9.2 * Modified the test_app to run any number of test calls. Prior to this release the Option#100 in the test_app CLI ran 1000 calls. The interface now asks the user to input the number of calls that need to be run. This number can be anything as long as the maximum simltaneous transactions are not exceeded and the toolkit queue size limit is not exceeded. By default the maximum number of calls that can be run is 20,000. * Changed the code to eliminate all the warnings that popped up while compiling the toolkit with the SUN 'cc' compiler. * Changed test_app to not use 'gets'. * Added a section in the 'Toolkit Porting Guide' document which details the current memory allocation scheme implemented in the toolkit, and outlines how some other schemes can be used to improve the toolkit efficiency. --------------------------------------------------------------------------- Version 2.9.3 * Implemented Subscriber Id and PIN in the Authorization Request message. The calling card information can now be passed to the Server for authorization. * Added a new function (RequestSuggestedAuthorization, CLI function #30) to the test_app. Implemented reporting of suggested route's in the test_app. * Eased the restriction on reporting TC Codes in the GetNextDestination API. The toolkit now supports 0 as a valid TC Code. * This version of the toolkit is also tested with unsigned tokens. --------------------------------------------------------------------------- Version 2.10.0 * Implemented new API for reporting CapabilitiesIndication message. OSPPProviderSetCapabilitiesURLs - configures a list of URLs. The URLs will be used for sending the new message only. Other OSP messages will be send to the service points configured using OSPPProviderNew or OSPProviderSetServicePoints. OSPPTransactionIndicateCapabilities - sends the new message to one of the URLs in the list. * Added new test cases to the test app: #4 tests OSPProviderSetServicePoints #14 tests OSPPProviderSetCapabilitiesURLs #37 tests a single call to OSPPTransactionIndicateCapabilities #101 tests multiple calls to OSPPTransactionIndicateCapabilities in parallel * Allowed reporting source and destination Usage Indication messages without calling number. * Fixed a bug in XML-encoding logic for empty elements with attributes. The toolkit will correctly encode empty calling number. * Fixed a bug in OSPProviderSetServicePoints. The function can be used for updating the list of service points used for sending Authorization Request and Usage Indication messages. * Eliminated a race condition in the communication module. * Improved resource management - quickly close TCP connection after HTTP persistence times out. --------------------------------------------------------------------------- Version 2.10.1 * Removed a conflicting definition of OSPVersion element. The bug was introduced in version 2.10.0 --------------------------------------------------------------------------- Version 2.11 * Modified the toolkit for the following openssl issues: - Crypto Hardware Initialization. - Multi-threading. - Openssl initialization with ProviderNew: Previously, the openssl library was initialized with every call to ProviderNew API. This was error prone because the toolkit supports multiple calls to ProviderNew API. With this release the toolkit supports initialization when a call to the OSPPInit function is made. Thus, the OSPPInit API has changed. * The toolkit has been modified to support multiple providers. The test_app has been modified to include a new test case #102 which tests this functionality. * Modified the toolkit to support usage reporting without an Authorization Request or a Token. A new API - OSPPTransactionBuildUsageFromScratch has been implemented to achieve this. In order to report usage for multiple destinations the application should call this API again. * With this release, the unsigned mode of compilation has been removed from the toolkit. The toolkit can now validate both - signed and unsigned tokens in the same build. However, the application should tell the toolkit about the kind of algorithm (signed/unsigned/both) that the toolkit should restrict to while validating the token. This is done using a new parameter - ospvTokenAlgo, in the OSPPTransactionValidateAuthorization API. The permissible values are - 0 for Signed token, 1 for unsigned, and 2 for both. Along with the ValidateAuthorization API, the following API's have also changed - OSPPTransactionInitializeAtDevice, OSPPTransactionReinitializeAtDevice, OSPPTransactionValidateReAuthorisation. * Fixed a bug because of which a duration of 0 was reported in the CDR after calling OSPPTransactionRecordFailure API (Even if the Failure code set using the API was 1016). * The Source,SourceDevice, Destination and DestinationDevice IP addresses(as used in the test_app) are now configurable. * Three new parameter have been added to test.cfg - TOKENALGO, OUTOFRESOURCES, and HWSUPPORT. * Request Reauthorization API has now been implemented in the test_app (test case #38). * The toolkit now reports the Source IP address and the SourceDevice IP address in a manner different than the previous releases of the toolkit. The Source IP address is now reported as SourceAlternate <type "transport"> and the SourceDevice IP address is now reported as DeviceInfo<type "transport">.This applies to RequestAuthorization, UsageIndication, CapabilityIndication, and Request Reauthorization messages. * This release includes an enrollment script that works on Linux and Solaris, and automates the device enrollment procedure with the Server. * Fixed a bug because of which the toolkit would crash when SSL was used for communication with the Server.Added a mutex used to protect access to the LoadCert function in ospopenssl.c file. --------------------------------------------------------------------------- Version 2.11.1 * Modified the enroll utility to call OSPPInit function to initialize the OSP TOolkit library. Previously the enroll utility depended on SSLWrapInit function to initialize openssl. Now, it makes use of the OSPPInit function that internally initializes openssl. * Modified the test_app to NOT create a new transaction eveytime when the BuildUsageFromScratch API is called. * Removed the hardcoded values for token algorithm in the OSPPTransactionInitializeAtDevice and OSPPTransactionReinitializeAtDevice function. --------------------------------------------------------------------------- Version 3.0 * The toolkit now supports look ahead routing. A look ahead route is a route embedded within the OSP token and used by proxy devices to terminate the call without having to go to the OSP Server again. When a proxy device gets a INVITE/Setup message with a token in it, the device can validate the token, retrieve the look ahead route embedded within the token and use it to terminate the call. This prevents the Proxy from doing a Route Authorization request. Refer to the implementation guides in the toolkit documentation for further details. * Call Id is now optional for token validation when the token does not contain one. If the token contains a CallId then the application needs to pass it in the ValidateAuthorization API. If the token does not contain the call id, then the application need not pass it in the API. In that case, the application can get away by passing an empty string - "". * The toolkit is now fully SIP compliant. It now supports calling and called number in the following three forms: e.164 numbers, SIP URI's, and URL's. URL's can be most useful when the application wants to report a e.164 number in its ENUM form. * The toolkit has been modified to enroll with multiple servers and validate tokens from multiple OSP Servers. The enroll.sh script has been modified to take a list of OSP servers as input and obtain CA certificates from the different servers. The test application has been modified to read the multiple CA certificates and load them in the toolkit. * The test application configuration file - test.cfg has been modified with the following configuration parameters: TC Code to be reported in the usage indication, Format of the Calling Number (e.164/SIP/URL), and Format of the Called Number (e.164/SIP/URL). * The following API's have changed as a result of the above mentioned changes: - OSPPTransactionBuildUsageFromScratch - OSPPTransactionInitializeAtDevice - OSPPTransactionRequestAuthorisation - OSPPTransactionValidateAuthorisation --------------------------------------------------------------------------- Version 3.1 * The toolkit has been modified to support load balancing among the different SP's configured. Each message (Authorization Req, Usage Ind, or Cap Ind) is now sent to a different OSP Server, based on the load and the SP availability. For further details on the implementation, refer to the toolkit documentation. * As a part of Load Balancing changes, the maximum number of Http Connections that can be opened is now made configurable in test.cfg file. Also, the maximum number of messages that can be sent over a connection is made configurable. This configuration is on a per Service Point basis. * Removed compilation warnings for windows. * Implemented multi-threading for openssl on Windows. * Implemented a new API - OSPPTransactionModifyDeviceIdentifiers. This API is called to overwrite the ospvSource/ospvSourceDevice/ospvDestination/ospvDestinationDevice that was passed in the RequestAuth/ ValidateAuth/BuildUsageFromScratch/InitializeAtDevice APIs. This API provides the application with a mechanism of reporting Usage with addresses different from those that were used while calling the APIs. * Test#102 in the test application has been removed. Test#100 has been modified to test multiple providers as well. * Modified the openssl initialization procedure to accomodate the OSP Server requirements.. * Implemented Performance optimizations in idle connection selection procedure and transaction handover logic. * Fixed a potential race condition that could have occured during the shutdown phase. For details, look at comments in function - osppHttpRemoveConnection. * As a result of the above mentioned changes, the following API's have changed: - OSPPProviderNew - OSPPProviderSetServicePoints - OSPPProviderSetCapabilitiesURLs * Updated connection error and http error log messages to include IP addresses. * Disabled hardware support for enrollment. --------------------------------------------------------------------------- Version 3.1.1 * Removed compilation warnings on Sun compiler. * Fixed a bug in OSPPProviderNew API because of which the toolkit would crash if the 'ospvMessageCount' was configured as NULL and the number of SP's exceeded one. * The toolkit now, by default, allows deletion of a transaction even without reporting usage.If the user does not want this feature, the user can comment the - OSP_NO_DELETE_CHECK definition in the ospcflags.inc file (if running on Solaris/Linux), or the osp.dsp file (if running on Windows). * Modified XML parsing for optimal performance. Functions - OSPPXMLDocIsComment, OSPPXMLDocIsPI, and OSPPXMLDocIsCdata only get included if flag - COMPLETE_XML_PARSING is defined. Since the server never includes Comments, Processing Instructions, or CData, we can safely skip these checks. * Fixed a bug because of which OSPPProviderDelete API, when called during the life of a connection, would give a 'mutex destroy failed' error. * Fixed a race condition in the 'MsgInfo' object. The problem arose because OSPPMsgInfoWaitForMsg function could have been called even when the MsgInfo structure was deleted. As a fix, we now call this function only when the IsNonBlocking parameter of the MsgInfo structure is set to FALSE. * The test_app now, by default (only on Solaris), uses mtmalloc for memory allocation. --------------------------------------------------------------------------- Version 3.1.2 * Modified the build script so that the tar file now includes one main directory. * The header files have now been moved from the include directory to the /osp directory within include. * The Makefile in the /src directory has been modified to build the toolkit directly. The toolkit should be compiled by running - make in the /src directory instead of running the osp_sdk_compile.ksh script. * The makefile can also be used to build and install the osp library. * Fixed a xml encoding bug in the ospusageind.c file. * Added compile time flag: fPIC for compilation using gcc. * The ValidateAuth API has been fixed to accept NULL values for ospvCallId, ospvSizeOfCallId, and ospvDetailLog parameters of the API. * The GetFirstDestination and GetNextDestiantion APIs have been fixed to accept NULL values for ospvCallId, ospvSizeOfCallId, ospvCalledNumber, ospvCalledNumber, and ospvTimeLimit parameters of the API. * The RequestAuthorization API has been fixed to accept NULL value for the ospvDetailLog parameter of the API. * openssl.cnf file is now packaged with the toolkit tarball. --------------------------------------------------------------------------- Version 3.2.0 * The toolkit can report the following information in the CDRs: AlertTime, EndTime, Source Trunk Group, Destination Trunk Group, CIC, and Post Dial Delay. * Renamed the OSPPTransactionSetNetworkId API, and modified it to include the destination trunk group information too. * Modified the ReportUsage API to report positive duration even when the TC Code being reported is not 1016. * Modified test.cfg to include a new parameter - IS_PDD_INFO_AVAILABLE. It will be used to decided whether the Post Dial Delay information should be reported in the usage. * Modified the API: OSPPTransactionModifyDeviceIdentifiers to enable to the user to call this API again. * Added a new option in the test_app menu: ModifyDeviceIndentifiersAgain. Using this option, the user can call the OSPPTransactionModifyDeviceIdentifiers API again with a different set of values. The API can now be called multiple times. * Fixed a bug because of which test app would crash if the translated number in the authorization response was longer than the actual called number. * This release of the toolkit supports calling number translation. * The toolkit now uses port 7080 to communicate with the NexOSS rather than 8080. --------------------------------------------------------------------------- Version 3.3.0 * Added facility to report network Id in the CapEx messages. * Added support for smaller ASCII token. * Added Service, Currency and Pricing Elements to AuthReq and CDRs. There is a new API - OSPPTransactionSetServiceAndPricingInfo, which should be used to configure this information. * Added Conference Id, Call Release Source, and Connect Time to CDRs. * Added support for Trunk Groups in AuthReq message. The OSPPTransactionGetDestNetworkId API can be used to retreive the NetworkId information reported back by the OSP Server in the AuthRsp or that was included in the token. --------------------------------------------------------------------------- Version 3.3.1 * Added new destination protocol - IAX * Added configuration file for openssl - bin/openssl.cnf * Added -DOPENSSL_NO_KRB5 flag to makefiles * Changed PricingInfo.amount type from int to float * Removed a compile time error in test_app * Bug-fix in test case #30 - NULL terminated suggested routes * Bug-fix in test case #31 - check error code when token algorithm does not match actual token format. --------------------------------------------------------------------------- Version 3.3.2 * Moved OSPPUtilLoadPEMPrivateKey and OSPPUtilLoadPEMCert from test_app to osputils. * When validating a token, don't call OSPPTransIdCheckAndAdd when compile-time flag OSP_ALLOW_DUP_TXN is defined. --------------------------------------------------------------------------- Version 3.3.3 * Changed OSP Client Toolkit library name from libosp.a to libosptk.a. * Replaced atoll with _atoi64 in Windows. * Changed pthread library name used by link options in Windows. * Added OSP Client Toolkit version number. * Support "UNDEFINED" call ID. In RequestAuthorisation function, if NumberOfCallIds is 0, "UNDEFINED" call ID will be sent to the OSP server. And ValidateAuthorisation will not validate the "UNDEFINED" call ID in the token. * Changed GetLookAheadInfoIfPresent not to erase network ID info. * Bug-fix in test case #43 - allow multiple calls and check transaction handle. --------------------------------------------------------------------------- Version 3.3.4 * Changed toolkit to report orinally requested number in the Usage Indication rather than the translated called number. --------------------------------------------------------------------------- Version 3.3.5 * Fixed a rare race condition in the MsgInfo module. For OSPC-24 on SIPfoundry. --------------------------------------------------------------------------- Version 3.3.6 * Remove number of call ids check in RequestAuth function. For Emergent's two call ids solution * Fixed an error in handling HTTP responses. For OSPC-25 on SIPfoundry. --------------------------------------------------------------------------- Version 3.4.0 * Added a new API - OSPPTransactionSetDestinationCount --------------------------------------------------------------------------- Version 3.4.1 * Fixed a thread safe issue. Replaced inet_ntoa by inet_ntop. For 1751656 of OSP Toolkit on SourceForge. * Fixed a crash issue. Replaced select by poll. For 1796025 of OSP Toolkit on SourceForge. --------------------------------------------------------------------------- Version 3.4.2 * Modified to remove compile warning messages. * Added new AuthRsp codes support. * Clarified Makefiles. --------------------------------------------------------------------------- Version 3.5.0 * Modified to remove compile warning messages for test_app on 64bit box. * Added CDR role type for RADIUS. * Added support for ACME. * Added custom info. --------------------------------------------------------------------------- Version 3.5.1 * Fixed typos of destination count. * Added reporting network ID in UsageInd. * Added support for reporting full statistics. --------------------------------------------------------------------------- Version 3.5.2 * Changed statistics reporting. * Added test cases in test_app list. --------------------------------------------------------------------------- Version 3.5.3 * Added reporting number portability rn, cic and npid in AuthReq * Added retrieving number portability rn, cic and npid from AuthRsp * Added reporting Diversion header in AuthReq and UsageInd --------------------------------------------------------------------------- Version 3.6.0 - 2009-12-22 * Added setting round trip delay function for reporting * Added reporting ICPIF in UsageInd * Added T.37, T.38, Skype and SMPP destination protocols * Added max for one way/round trip delay statistics * Added retrieving SPID and OCN from AuthRsp * Added ported number query ServiceType * Added setting PricingInfo function * Added setting ServiceType function * Removed asserted ID from AuthReq and UsageInd * Added spn, altspm, mcc and mnc in AuthReq and AuthRsp * Added SMS destination protocol * Fixed UMR issue reported by Purify --------------------------------------------------------------------------- Version 3.6.1 - 2010-01-07 * Added port test case for suggested route test function. * Made AuthRsp->UsageDetail->Amount/Increment/Unit optional for service type ported number query. * Added showing time limit for GetDestination test functions. --------------------------------------------------------------------------- Version 4.0.0 - 2011-07-04 * Changed the OSP TCP port from 1080 to 5045. * Removed 4 deprecated functions. * Replaced QoS up/downstream by direction values. * Changed codec type values. * Added session ID types. * Added singaling protocol types. * Simplified structure element names. --------------------------------------------------------------------------- Version 4.0.1 - 2011-09-28 * Changed calling number reporting logic. Report original calling number instead of authorized calling number in source CDRs. --------------------------------------------------------------------------- Version 4.0.2 - 2011-10-11 * Changed setting destination protocol directly in destination structure. * Changed setting destination network ID directly in destination structure. * Used OSPC_OSNULL instead of NULL. --------------------------------------------------------------------------- |
From: Di-Shi S. <di...@tr...> - 2011-09-28 03:31:25
|
--------------------------------------------------------------------------- --- COPYRIGHT (c) 2002 by TransNexus, Inc. --- --- --- --- This software is property of TransNexus, Inc. --- --- This software is freely available under license from TransNexus. --- --- The license terms and conditions for free use of this software by --- --- third parties are defined in the OSP Toolkit Software License --- --- Agreement (LICENSE.txt). Any use of this software by third --- --- parties, which does not comply with the terms and conditions of the --- --- OSP Toolkit Software License Agreement is prohibited without --- --- the prior, express, written consent of TransNexus, Inc. --- --- --- --- Thank you for using the OSP ToolKit(TM). Please report any bugs, --- --- suggestions or feedback to su...@tr... --- --- --- --------------------------------------------------------------------------- --------------------------------------------------------------------------- Version 2.5.1 * Added -D for BSAFE String Functions within Makefile * Initial work on port of ospopenssl.c includes SSLeay * New version of license agreement for LICENSE.txt * Added critical = False for TN extensions for OSP messages * Added T_strcpy, T_strcmp, T_strlen callbacks for BSAFE * Changed the way headers were identified within HTTP messages * Fixed a couple of bad references in the client auth code. * Changed formatting, and added osp macros for client auth code. * Changes in detecting header types within ospsocket.c * Added OSP macros in ospxml.c * Created separate OSPM_GETSOCKERR macro for Unix and Windows --------------------------------------------------------------------------- Version 2.5.2 * Added code to improve message queuing. * Added code to eliminate memory leaks. * Made the HTTP reader case-insensitive. * Several functions were changed to their macro equivalents. * Changed case on content-types within HTTP messages. * Eliminated some compiler warnings. * Implemented "subscriber" type in SourceAlternate messages. --------------------------------------------------------------------------- Version 2.5.4 * Added parenthesis to variables contained in macros. * Eliminated unnecessary macros. * Corrected macro OSPM_GETHOSTBYNAME to accept empty values. * Eliminated a potential memory leak in OSPPTransactionDelete. * Corrected a conditional statement in OSPPTransIdRemove. * Added code for ASN.1 parser to recognize boolean tags. * Changes were made in order to eliminate the fixed size of altinfo, token, and callid structures. * Corrected a TransNexus Extension attribute (critical should equal "false") * Corrected a buffer overflow error when constructing an enrollment request. * Added the "-function" command to the enroll's help screen. * Added option to compile the Toolkit with POSIX threads on Win32 platforms. * Added a new module to the test_app that implements non-blocking API for the Toolkit. --------------------------------------------------------------------------- Version 2.5.5 * Changed the Toolkit to use the cryptographic algorithms within OpenSSL rather than BSAFE. * Updated Project and Make files. * Added "How to build the Toolkit" document. * New version of license agreement for LICENSE.txt --------------------------------------------------------------------------- Version 2.5.6 * Changed OSPPProviderNew to validate service points for correctness before proceeding with creating a new provider instance. * Fixed handling of HTTP request to close connection - "Connection: close". * Fixed logic for searching available connection when HTTPMaxConnections has been reached. * Fixed a race condition in OSPPCommSignalAllConnections which could potentially cause a call to OSPPProviderDelete to deadlock. * Added initialization of random number generator engine using contents of ".rnd" file expected to be found in the current directory. * Added Cryptogaphic Hardware Support, requires OpenSSL Engine library. * Replaced failure reasons with TCCodes defined in V.2 --------------------------------------------------------------------------- Version 2.6.0 * Improved handling of HTTP and OSP codes. * MsgQueueDelete function now deletes mutex and cond var used by the Queue. * Added call start time to UsageIndication messages. * Added OpenSSL crypto lib support as an alternative to using existing crypto functionality. * Removed documentation from the build. * API CHANGES: * New type OSPTCERT defined in "include/ospdatatypes.h" * OSPPTransactionReportUsage function: * Added StartTime of type OSPTTIME * OSPPProviderNew function: * Changed the type of ospvLocalCertificate from (const void *) to (const OSPTCERT *) * Changed the type of ospvAuthorityCertificates from (const void *[]) to (const OSPTCERT *[]) --------------------------------------------------------------------------- Version 2.6.1 * Upgraded TEP enrollment to use the API changes introduced in 2.6.0 * Fixed memory leaks in the ospopenssl module. * Reduced compile time warnings. --------------------------------------------------------------------------- Version 2.6.2 * Updated the Windows project files to Compile with MultiThreaded DLL libraries, Use standard libraries and to have the ..\crypto path in the Include directives. * Did changes to improve the log messages. * Modified the Makefile and the shell script to include changes for Linux compilation. * Ported the GETHOSTBYNAME function for Linux. * This Release has been tested with MS .NET. * This release requires no special instructions for compiling Openssl on Windows. --------------------------------------------------------------------------- Version 2.7 * Support for reporting the network identifier incorporated * Memory leaks and bug fixes --------------------------------------------------------------------------- Version 2.8 * Modified the enrollment procedure to read PEM format files instead of dat. The enrollment prodedure has now been much simplified by removing the cumbersome tasks of copying the keys and editing files. It is a 3 step procedure with no practical differences for the different platforms. --------------------------------------------------------------------------- Version 2.8.1 * Updated test app to use PEM encoded crypto files for the following test_app.c functions - SetAuthorityCertificates, SetLocalKeys. * Makefile changes in the enroll and test Makefiles --------------------------------------------------------------------------- Version 2.8.2 * Bug fix for Linux. Problem because of trying to delete the mutex when it was locked * Implemeted support of SetServicePoints API in test_app, fixed a bug for this support in the Toolkit. * Log message changes for Linux and windows --------------------------------------------------------------------------- Version 2.9.0 * Implemented 2 New API's :- * 1. OSPPTransactionGetDestProtocol - Reports the Protocol Information at the Current destination. * Return Values are: SIP, H323_LRQ, H323_Setup, Undefined and Unknown. * 2. OSPPTransactionIsDestOSPEnabled - Reports whether the destination is OSP Enabled or Not. * Return Values are: True, False, Undefined and Unknown. * Implemented a compile time flag - OSP_ALLOW_DUP_TXN, to enable reuse of transactions during token validation.The purpose of this feature is to overcome the limitation where 2 token's with the same transaction id could not be validated. This compile time flag either enables or disables repeat validations. This is particularly helpful in the fail over cases when we can get a Second Call Setup message for the same call. * Renamed a macro - 'min', to tr_min, to avoid a conflict with the Open Source H323 library. * Implemented a new String comparison macro - OSPM_STRCASECMP, to ignore the case of the strings being compared. When examining the value of the critical attributes in the OSP messages, we ignore the case.As per the protocol, the values should all be lowercase, however for backward compatibility, both upper and lower case are acceptable. * Modified the token Validation procedure to check for an exact match between the Calling number passed in the API and the calling number in the token.Until now an empty calling number in the API and non empty calling number in the token did not generate a Validation Failure. However now, there has to be an exact match between the 2 numbers for the Validation process to pass. A similar logic holds for the Called Number as well. * Added 4 new functions to the test app - GetCallingNumber, GetCalledNumber, SetCallingNumber, SetCalledNumber. The Set functions allow the user to change the calling and called numbers on the fly. The Test App starts with the configuration in the test.cfg file as default. However, there is now an option of changing these values at run time. The Get functions display the currently configured value. * Removed a Mutex Lock Error Log Message for Windows. The mutex_unlock call in function - osppHttpSetupAndMonitor, file - osphttp.c,behaves slightly differently for different OS: - Solaris does not seem to give a probem if this mutex is left locked or is unlocked before it is destroyed.Eitherways, it is fine. - Linux needs this mutex to be unlocked before it can be destroyed. - Windows seems to have a problem if it is unlocked before it is destroyed. Because of this problem, there is an error message that pops up on Windows if this function call is made before destroying the mutex. And to prevent that log message, the above mentioned function call is made for all the other OS but Windows. * In case the client is not able to connect with the Server, the toolkit prints out log messages explaining the probable cause.The port numbers printed are now converted from network to host byte order before they are printed. This is done because of some problems seen on Linux while reporting the Port Numbers as such. --------------------------------------------------------------------------- Version 2.9.1 * All the macro implementation used in Production mode have been removed. * Removed all compilation warnings that used to pop up previously. The code now is warnings free for all the compilation modes if the openssl version being used is 0.97 or up. There will be a warning in the fn: d2i_RSAPublicKey that will appear if the openssl version is 0.96c or below. * Fixed a bug for 2.9.0 compilation on Windows. Turns out that 'strcasecmp' function does not work on windows. The code was modified to use 'stricmp' for case comparison on windows. * Modified the test_app for the following: 1. test_app dumped core when the Private Key file - 'pkey.pem' was not present in the specified directory. Fixed this to generate an error instead. 2. Prior to this release, multiple calls to fn 24 - TransactionDelete, did not generate any error in the test_app. So the following sequence - 1,23,24,24,24 or 1,24 did not generate any error on the test_app interface forcing the user to wrongly beleive that transactions can be deleted at will. This is now fixed, so either of the sequence mentioned above will now generate an appropriate error message. 3. Calling fn 31 - ValidateTransaction, after calling fn 24 - DeleteTransaction dumped core. This has been fixed to generate an appropriate error message since calling ValidateTransaction for a deleted transaction handle does not make sense. 4. Calling fn 32 - ReportUsageIndication, after calling fn 24 - DeleteTransaction did not generate any error. So the following sequence - 1,23,29,27,32,24,32 did not generate any error on the test_app interface forcing the user to wrongly beleive that usage can be reported even after deleting the transaction.This is now fixed to generate an appropriate error message. 5. Modified the test_app to read the Network Identifier from the CLI instead of it being hardcoded in the test_app as before. The ResetNetworkId function has been removed and the SetNetworkId can be called twice to try and attempt a change in the Network Identifier. * There was a bug in the toolkit that allowed the user to Delete Transactions without Reporting Usage even if there has been a successful call to 'GetFirstDestination'. So, the following sequence of fn calls was allowed: 1,23,29, 27(Succeeds),28(Fails because only one destination was reported), 24. This is incorrect as the device should report usage if the GetFirstDestination call has succeeded.This release fixes that bug and requires the device to report usage if a call to GetFirstDestination has succeeded. * Fixed the compilation bug that did not let the 2.9.0 version to be run in production mode. * Defined OSP_SDK in 'enroll.dsp'.Without this flag defined, some the debug functionality was not getting included for the enroll utility(on windows platform), which meant missing log messages in the debug mode. * Fixed an ambiguos Log message for Windows. When the 'gethostbyname' function call failed on Windows, the variable - errno was not getting updated, because of which the log message indicated that there was no error. * Introduced a state in the transaction state machine to prevent Deletion of a Transaction while Authorization has been requested and response not received back yet. In addition to Deletion, this state facilitates the application to error out if it calls ReportUsage,GetFirstDestination or GetNextDestination API's while the Authorization Request is in progress.The same concept works for ReportUsage also. * Fixed a memory leak that occured when test_app ran 1000 calls and some of the responses started timing out. The OSPM_INET_NTOA macro is removed (for both Windows and Unix implementations) and defined as a function to fix the bug. * Added a library - 'dl' in the makefile for Enroll and Test_app for Linux compilation in the Release Mode.It is required for some openssl functions. * Fixed a bug which was introduced in the 2.8.2 release of the toolkit. The new bug caused the OSPPProviderDelete call made after attempting multiple calls to hang and never return to the application. The bug is fixed in this release. * Added all pthread specific configuration (that was required on Windows) to the test.dsp, enroll.dsp and osp.dsp files. Now there is no need for manual configuration of pthreads on Windows. * Changed toolkit to report Translated Number (As returned in the Authorization Response) in the Usage Indication rather than the originally requested number.If the server returns no Called number in the Authorization Response or returns an empty called number in the Authorization Response, the toolkit sends the original called number (As sent in the Authorization Request) in the Usage Indication. --------------------------------------------------------------------------- Version 2.9.2 * Modified the test_app to run any number of test calls. Prior to this release the Option#100 in the test_app CLI ran 1000 calls. The interface now asks the user to input the number of calls that need to be run. This number can be anything as long as the maximum simltaneous transactions are not exceeded and the toolkit queue size limit is not exceeded. By default the maximum number of calls that can be run is 20,000. * Changed the code to eliminate all the warnings that popped up while compiling the toolkit with the SUN 'cc' compiler. * Changed test_app to not use 'gets'. * Added a section in the 'Toolkit Porting Guide' document which details the current memory allocation scheme implemented in the toolkit, and outlines how some other schemes can be used to improve the toolkit efficiency. --------------------------------------------------------------------------- Version 2.9.3 * Implemented Subscriber Id and PIN in the Authorization Request message. The calling card information can now be passed to the Server for authorization. * Added a new function (RequestSuggestedAuthorization, CLI function #30) to the test_app. Implemented reporting of suggested route's in the test_app. * Eased the restriction on reporting TC Codes in the GetNextDestination API. The toolkit now supports 0 as a valid TC Code. * This version of the toolkit is also tested with unsigned tokens. --------------------------------------------------------------------------- Version 2.10.0 * Implemented new API for reporting CapabilitiesIndication message. OSPPProviderSetCapabilitiesURLs - configures a list of URLs. The URLs will be used for sending the new message only. Other OSP messages will be send to the service points configured using OSPPProviderNew or OSPProviderSetServicePoints. OSPPTransactionIndicateCapabilities - sends the new message to one of the URLs in the list. * Added new test cases to the test app: #4 tests OSPProviderSetServicePoints #14 tests OSPPProviderSetCapabilitiesURLs #37 tests a single call to OSPPTransactionIndicateCapabilities #101 tests multiple calls to OSPPTransactionIndicateCapabilities in parallel * Allowed reporting source and destination Usage Indication messages without calling number. * Fixed a bug in XML-encoding logic for empty elements with attributes. The toolkit will correctly encode empty calling number. * Fixed a bug in OSPProviderSetServicePoints. The function can be used for updating the list of service points used for sending Authorization Request and Usage Indication messages. * Eliminated a race condition in the communication module. * Improved resource management - quickly close TCP connection after HTTP persistence times out. --------------------------------------------------------------------------- Version 2.10.1 * Removed a conflicting definition of OSPVersion element. The bug was introduced in version 2.10.0 --------------------------------------------------------------------------- Version 2.11 * Modified the toolkit for the following openssl issues: - Crypto Hardware Initialization. - Multi-threading. - Openssl initialization with ProviderNew: Previously, the openssl library was initialized with every call to ProviderNew API. This was error prone because the toolkit supports multiple calls to ProviderNew API. With this release the toolkit supports initialization when a call to the OSPPInit function is made. Thus, the OSPPInit API has changed. * The toolkit has been modified to support multiple providers. The test_app has been modified to include a new test case #102 which tests this functionality. * Modified the toolkit to support usage reporting without an Authorization Request or a Token. A new API - OSPPTransactionBuildUsageFromScratch has been implemented to achieve this. In order to report usage for multiple destinations the application should call this API again. * With this release, the unsigned mode of compilation has been removed from the toolkit. The toolkit can now validate both - signed and unsigned tokens in the same build. However, the application should tell the toolkit about the kind of algorithm (signed/unsigned/both) that the toolkit should restrict to while validating the token. This is done using a new parameter - ospvTokenAlgo, in the OSPPTransactionValidateAuthorization API. The permissible values are - 0 for Signed token, 1 for unsigned, and 2 for both. Along with the ValidateAuthorization API, the following API's have also changed - OSPPTransactionInitializeAtDevice, OSPPTransactionReinitializeAtDevice, OSPPTransactionValidateReAuthorisation. * Fixed a bug because of which a duration of 0 was reported in the CDR after calling OSPPTransactionRecordFailure API (Even if the Failure code set using the API was 1016). * The Source,SourceDevice, Destination and DestinationDevice IP addresses(as used in the test_app) are now configurable. * Three new parameter have been added to test.cfg - TOKENALGO, OUTOFRESOURCES, and HWSUPPORT. * Request Reauthorization API has now been implemented in the test_app (test case #38). * The toolkit now reports the Source IP address and the SourceDevice IP address in a manner different than the previous releases of the toolkit. The Source IP address is now reported as SourceAlternate <type "transport"> and the SourceDevice IP address is now reported as DeviceInfo<type "transport">.This applies to RequestAuthorization, UsageIndication, CapabilityIndication, and Request Reauthorization messages. * This release includes an enrollment script that works on Linux and Solaris, and automates the device enrollment procedure with the Server. * Fixed a bug because of which the toolkit would crash when SSL was used for communication with the Server.Added a mutex used to protect access to the LoadCert function in ospopenssl.c file. --------------------------------------------------------------------------- Version 2.11.1 * Modified the enroll utility to call OSPPInit function to initialize the OSP TOolkit library. Previously the enroll utility depended on SSLWrapInit function to initialize openssl. Now, it makes use of the OSPPInit function that internally initializes openssl. * Modified the test_app to NOT create a new transaction eveytime when the BuildUsageFromScratch API is called. * Removed the hardcoded values for token algorithm in the OSPPTransactionInitializeAtDevice and OSPPTransactionReinitializeAtDevice function. --------------------------------------------------------------------------- Version 3.0 * The toolkit now supports look ahead routing. A look ahead route is a route embedded within the OSP token and used by proxy devices to terminate the call without having to go to the OSP Server again. When a proxy device gets a INVITE/Setup message with a token in it, the device can validate the token, retrieve the look ahead route embedded within the token and use it to terminate the call. This prevents the Proxy from doing a Route Authorization request. Refer to the implementation guides in the toolkit documentation for further details. * Call Id is now optional for token validation when the token does not contain one. If the token contains a CallId then the application needs to pass it in the ValidateAuthorization API. If the token does not contain the call id, then the application need not pass it in the API. In that case, the application can get away by passing an empty string - "". * The toolkit is now fully SIP compliant. It now supports calling and called number in the following three forms: e.164 numbers, SIP URI's, and URL's. URL's can be most useful when the application wants to report a e.164 number in its ENUM form. * The toolkit has been modified to enroll with multiple servers and validate tokens from multiple OSP Servers. The enroll.sh script has been modified to take a list of OSP servers as input and obtain CA certificates from the different servers. The test application has been modified to read the multiple CA certificates and load them in the toolkit. * The test application configuration file - test.cfg has been modified with the following configuration parameters: TC Code to be reported in the usage indication, Format of the Calling Number (e.164/SIP/URL), and Format of the Called Number (e.164/SIP/URL). * The following API's have changed as a result of the above mentioned changes: - OSPPTransactionBuildUsageFromScratch - OSPPTransactionInitializeAtDevice - OSPPTransactionRequestAuthorisation - OSPPTransactionValidateAuthorisation --------------------------------------------------------------------------- Version 3.1 * The toolkit has been modified to support load balancing among the different SP's configured. Each message (Authorization Req, Usage Ind, or Cap Ind) is now sent to a different OSP Server, based on the load and the SP availability. For further details on the implementation, refer to the toolkit documentation. * As a part of Load Balancing changes, the maximum number of Http Connections that can be opened is now made configurable in test.cfg file. Also, the maximum number of messages that can be sent over a connection is made configurable. This configuration is on a per Service Point basis. * Removed compilation warnings for windows. * Implemented multi-threading for openssl on Windows. * Implemented a new API - OSPPTransactionModifyDeviceIdentifiers. This API is called to overwrite the ospvSource/ospvSourceDevice/ospvDestination/ospvDestinationDevice that was passed in the RequestAuth/ ValidateAuth/BuildUsageFromScratch/InitializeAtDevice APIs. This API provides the application with a mechanism of reporting Usage with addresses different from those that were used while calling the APIs. * Test#102 in the test application has been removed. Test#100 has been modified to test multiple providers as well. * Modified the openssl initialization procedure to accomodate the OSP Server requirements.. * Implemented Performance optimizations in idle connection selection procedure and transaction handover logic. * Fixed a potential race condition that could have occured during the shutdown phase. For details, look at comments in function - osppHttpRemoveConnection. * As a result of the above mentioned changes, the following API's have changed: - OSPPProviderNew - OSPPProviderSetServicePoints - OSPPProviderSetCapabilitiesURLs * Updated connection error and http error log messages to include IP addresses. * Disabled hardware support for enrollment. --------------------------------------------------------------------------- Version 3.1.1 * Removed compilation warnings on Sun compiler. * Fixed a bug in OSPPProviderNew API because of which the toolkit would crash if the 'ospvMessageCount' was configured as NULL and the number of SP's exceeded one. * The toolkit now, by default, allows deletion of a transaction even without reporting usage.If the user does not want this feature, the user can comment the - OSP_NO_DELETE_CHECK definition in the ospcflags.inc file (if running on Solaris/Linux), or the osp.dsp file (if running on Windows). * Modified XML parsing for optimal performance. Functions - OSPPXMLDocIsComment, OSPPXMLDocIsPI, and OSPPXMLDocIsCdata only get included if flag - COMPLETE_XML_PARSING is defined. Since the server never includes Comments, Processing Instructions, or CData, we can safely skip these checks. * Fixed a bug because of which OSPPProviderDelete API, when called during the life of a connection, would give a 'mutex destroy failed' error. * Fixed a race condition in the 'MsgInfo' object. The problem arose because OSPPMsgInfoWaitForMsg function could have been called even when the MsgInfo structure was deleted. As a fix, we now call this function only when the IsNonBlocking parameter of the MsgInfo structure is set to FALSE. * The test_app now, by default (only on Solaris), uses mtmalloc for memory allocation. --------------------------------------------------------------------------- Version 3.1.2 * Modified the build script so that the tar file now includes one main directory. * The header files have now been moved from the include directory to the /osp directory within include. * The Makefile in the /src directory has been modified to build the toolkit directly. The toolkit should be compiled by running - make in the /src directory instead of running the osp_sdk_compile.ksh script. * The makefile can also be used to build and install the osp library. * Fixed a xml encoding bug in the ospusageind.c file. * Added compile time flag: fPIC for compilation using gcc. * The ValidateAuth API has been fixed to accept NULL values for ospvCallId, ospvSizeOfCallId, and ospvDetailLog parameters of the API. * The GetFirstDestination and GetNextDestiantion APIs have been fixed to accept NULL values for ospvCallId, ospvSizeOfCallId, ospvCalledNumber, ospvCalledNumber, and ospvTimeLimit parameters of the API. * The RequestAuthorization API has been fixed to accept NULL value for the ospvDetailLog parameter of the API. * openssl.cnf file is now packaged with the toolkit tarball. --------------------------------------------------------------------------- Version 3.2.0 * The toolkit can report the following information in the CDRs: AlertTime, EndTime, Source Trunk Group, Destination Trunk Group, CIC, and Post Dial Delay. * Renamed the OSPPTransactionSetNetworkId API, and modified it to include the destination trunk group information too. * Modified the ReportUsage API to report positive duration even when the TC Code being reported is not 1016. * Modified test.cfg to include a new parameter - IS_PDD_INFO_AVAILABLE. It will be used to decided whether the Post Dial Delay information should be reported in the usage. * Modified the API: OSPPTransactionModifyDeviceIdentifiers to enable to the user to call this API again. * Added a new option in the test_app menu: ModifyDeviceIndentifiersAgain. Using this option, the user can call the OSPPTransactionModifyDeviceIdentifiers API again with a different set of values. The API can now be called multiple times. * Fixed a bug because of which test app would crash if the translated number in the authorization response was longer than the actual called number. * This release of the toolkit supports calling number translation. * The toolkit now uses port 7080 to communicate with the NexOSS rather than 8080. --------------------------------------------------------------------------- Version 3.3.0 * Added facility to report network Id in the CapEx messages. * Added support for smaller ASCII token. * Added Service, Currency and Pricing Elements to AuthReq and CDRs. There is a new API - OSPPTransactionSetServiceAndPricingInfo, which should be used to configure this information. * Added Conference Id, Call Release Source, and Connect Time to CDRs. * Added support for Trunk Groups in AuthReq message. The OSPPTransactionGetDestNetworkId API can be used to retreive the NetworkId information reported back by the OSP Server in the AuthRsp or that was included in the token. --------------------------------------------------------------------------- Version 3.3.1 * Added new destination protocol - IAX * Added configuration file for openssl - bin/openssl.cnf * Added -DOPENSSL_NO_KRB5 flag to makefiles * Changed PricingInfo.amount type from int to float * Removed a compile time error in test_app * Bug-fix in test case #30 - NULL terminated suggested routes * Bug-fix in test case #31 - check error code when token algorithm does not match actual token format. --------------------------------------------------------------------------- Version 3.3.2 * Moved OSPPUtilLoadPEMPrivateKey and OSPPUtilLoadPEMCert from test_app to osputils. * When validating a token, don't call OSPPTransIdCheckAndAdd when compile-time flag OSP_ALLOW_DUP_TXN is defined. --------------------------------------------------------------------------- Version 3.3.3 * Changed OSP Client Toolkit library name from libosp.a to libosptk.a. * Replaced atoll with _atoi64 in Windows. * Changed pthread library name used by link options in Windows. * Added OSP Client Toolkit version number. * Support "UNDEFINED" call ID. In RequestAuthorisation function, if NumberOfCallIds is 0, "UNDEFINED" call ID will be sent to the OSP server. And ValidateAuthorisation will not validate the "UNDEFINED" call ID in the token. * Changed GetLookAheadInfoIfPresent not to erase network ID info. * Bug-fix in test case #43 - allow multiple calls and check transaction handle. --------------------------------------------------------------------------- Version 3.3.4 * Changed toolkit to report orinally requested number in the Usage Indication rather than the translated called number. --------------------------------------------------------------------------- Version 3.3.5 * Fixed a rare race condition in the MsgInfo module. For OSPC-24 on SIPfoundry. --------------------------------------------------------------------------- Version 3.3.6 * Remove number of call ids check in RequestAuth function. For Emergent's two call ids solution * Fixed an error in handling HTTP responses. For OSPC-25 on SIPfoundry. --------------------------------------------------------------------------- Version 3.4.0 * Added a new API - OSPPTransactionSetDestinationCount --------------------------------------------------------------------------- Version 3.4.1 * Fixed a thread safe issue. Replaced inet_ntoa by inet_ntop. For 1751656 of OSP Toolkit on SourceForge. * Fixed a crash issue. Replaced select by poll. For 1796025 of OSP Toolkit on SourceForge. --------------------------------------------------------------------------- Version 3.4.2 * Modified to remove compile warning messages. * Added new AuthRsp codes support. * Clarified Makefiles. --------------------------------------------------------------------------- Version 3.5.0 * Modified to remove compile warning messages for test_app on 64bit box. * Added CDR role type for RADIUS. * Added support for ACME. * Added custom info. --------------------------------------------------------------------------- Version 3.5.1 * Fixed typos of destination count. * Added reporting network ID in UsageInd. * Added support for reporting full statistics. --------------------------------------------------------------------------- Version 3.5.2 * Changed statistics reporting. * Added test cases in test_app list. --------------------------------------------------------------------------- Version 3.5.3 * Added reporting number portability rn, cic and npid in AuthReq * Added retrieving number portability rn, cic and npid from AuthRsp * Added reporting Diversion header in AuthReq and UsageInd --------------------------------------------------------------------------- Version 3.6.0 - 2009-12-22 * Added setting round trip delay function for reporting * Added reporting ICPIF in UsageInd * Added T.37, T.38, Skype and SMPP destination protocols * Added max for one way/round trip delay statistics * Added retrieving SPID and OCN from AuthRsp * Added ported number query ServiceType * Added setting PricingInfo function * Added setting ServiceType function * Removed asserted ID from AuthReq and UsageInd * Added spn, altspm, mcc and mnc in AuthReq and AuthRsp * Added SMS destination protocol * Fixed UMR issue reported by Purify --------------------------------------------------------------------------- Version 3.6.1 - 2010-01-07 * Added port test case for suggested route test function. * Made AuthRsp->UsageDetail->Amount/Increment/Unit optional for service type ported number query. * Added showing time limit for GetDestination test functions. --------------------------------------------------------------------------- Version 4.0.0 - 2011-07-04 * Changed the OSP TCP port from 1080 to 5045. * Removed 4 deprecated functions. * Replaced QoS up/downstream by direction values. * Changed codec type values. * Added session ID types. * Added singaling protocol types. * Simplified structure element names. --------------------------------------------------------------------------- Version 4.0.1 - 2011-09-28 * Changed calling number reporting logic. Report original calling number instead of authorized calling number in source CDRs. |
From: Di-Shi S. <sun...@ho...> - 2011-06-24 03:20:44
|
Good meds. Its not fake... http://www.randonnez.fr/sites.friend.php?apugoogleId=02x5 |
From: Martin W. <mar...@go...> - 2009-12-10 12:51:24
|
Hi! I try to install OSP-support in Asterisk 1.6.11. But, Asterisk reports wrong OSP Toolkit version: Output from the configure-script before compiling Asterisk: checking osp/osp.h usability... yes checking osp/osp.h presence... yes checking for osp/osp.h... yes checking for OSPPInit in -losptk... yes checking if OSP Toolkit version is compatible with app_osplookup... no Has installed OSPToolkit 3.4.2 (first with .deb-file - later compiled from source). According to documentation from TransNexus, 3.42 is the correct version to use. ( http://www.transnexus.com/White%20Papers/Asterisk-V1-6-1-1_OSP_Module_Instructions.pdf ). Anyone had similar problem? Best regards, Martin |
From: Martin W. <mar...@go...> - 2009-07-31 08:59:32
|
Installing OSP Toolkit 3.4.2 solved the problem! Thanks! Martin ----- Original Message ----- From: "Di-Shi Sun" <di...@tr...> To: "Martin Werne" <mar...@go...> Cc: "Support TransNexus" <su...@tr...>, osp...@li... Sent: Thursday, 30 July, 2009 11:40:03 GMT +01:00 Amsterdam / Berlin / Bern / Rome / Stockholm / Vienna Subject: Re: Kamailio OSP-module compile problem Kamailio 1.5.x only supports OSP Toolkit 3.4.2. You can find the version veriables in /usr/local/include/osp/osplibversion.h. ----- Original Message ----- From: "Martin Werne" <mar...@go...> To: "Dmitry Isakbayev" <dm...@tr...> Cc: <osp...@li...>; "Support TransNexus" <su...@tr...> Sent: Thursday, July 30, 2009 4:59 PM Subject: Re: Kamailio OSP-module compile problem > Hi! > > "/usr/local/include/osp" exists and is loaded with .h files. > > Martin > > > ----- Original Message ----- > From: "Dmitry Isakbayev" <dm...@tr...> > To: "Martin Werne" <mar...@go...> > Cc: osp...@li..., us...@li..., > "Support TransNexus" <su...@tr...> > Sent: Wednesday, 29 July, 2009 16:18:34 GMT +01:00 Amsterdam / Berlin / > Bern / Rome / Stockholm / Vienna > Subject: Re: Kamailio OSP-module compile problem > > Hi Martin, > > After compiling and installing OSP Toolkit 3.5.2, check that you have > "/usr/local/include/osp" folder. > > Regards, > Dmitry > > > > Martin Werne wrote: >> Hi! >> >> I have problem compiling the OSP-module in Kamailio 1.5.x >> >> OS: Ubuntu Server 8.04LTS >> >> Compiling and installing OSPToolkit is OK. >> The problem occures when it comes to compiling the OSP-module in >> Kamailio: >> >> make[1]: Entering directory `/usr/src/kamailio/modules/osp' >> make[1]: Leaving directory `/usr/src/kamailio/modules/osp' >> make[1]: Entering directory `/usr/src/kamailio/modules/osp' >> Compiling destination.c >> Compiling globals.c >> Compiling orig_transaction.c >> In file included from orig_transaction.c:40: >> sipheader.h:48: error: expected declaration specifiers or '...' before >> 'OSPTCALLID' >> orig_transaction.c: In function 'ospLoadRoutes': >> orig_transaction.c:84: error: 'OSPE_DEST_PROT' undeclared (first use in >> this function) >> orig_transaction.c:84: error: (Each undeclared identifier is reported >> only once >> orig_transaction.c:84: error: for each function it appears in.) >> orig_transaction.c:84: error: expected ';' before 'protocol' >> orig_transaction.c:85: error: 'OSPE_DEST_OSP_ENABLED' undeclared (first >> use in this function) >> orig_transaction.c:85: error: expected ';' before 'enabled' >> orig_transaction.c:150: error: 'protocol' undeclared (first use in this >> function) >> orig_transaction.c:154: error: 'OSPE_DEST_PROT_SIP' undeclared (first use >> in this function) >> orig_transaction.c:157: error: 'OSPE_DEST_PROT_H323_LRQ' undeclared >> (first use in this function) >> orig_transaction.c:158: error: 'OSPE_DEST_PROT_H323_SETUP' undeclared >> (first use in this function) >> orig_transaction.c:159: error: 'OSPE_DEST_PROT_IAX' undeclared (first use >> in this function) >> orig_transaction.c:163: error: 'OSPE_DEST_PROT_UNDEFINED' undeclared >> (first use in this function) >> orig_transaction.c:164: error: 'OSPE_DEST_PROT_UNKNOWN' undeclared (first >> use in this function) >> orig_transaction.c:170: error: 'enabled' undeclared (first use in this >> function) >> orig_transaction.c:174: error: 'OSPE_OSP_FALSE' undeclared (first use in >> this function) >> orig_transaction.c:189: error: 'OSPC_SOURCE' undeclared (first use in >> this function) >> orig_transaction.c: In function 'ospRequestRouting': >> orig_transaction.c:260: error: 'OSPTCALLID' undeclared (first use in this >> function) >> orig_transaction.c:260: error: 'callids' undeclared (first use in this >> function) >> orig_transaction.c:282: error: too many arguments to function >> 'ospGetCallId' >> orig_transaction.c:325: error: 'OSPC_E164' undeclared (first use in this >> function) >> make[1]: *** [orig_transaction.o] Error 1 >> make[1]: Leaving directory `/usr/src/kamailio/modules/osp' >> make: *** [modules] Error 2 >> >> >> Has tried with both OSPToolkit 3.5.2 and 3.3.6. >> And with both Kamailio 1.5.1 and 1.5.2 >> Same problem. >> >> >> Does anyone know what is the problem? >> >> Regards, >> Martin > > |
From: Martin W. <mar...@go...> - 2009-07-30 08:59:23
|
Hi! "/usr/local/include/osp" exists and is loaded with .h files. Martin ----- Original Message ----- From: "Dmitry Isakbayev" <dm...@tr...> To: "Martin Werne" <mar...@go...> Cc: osp...@li..., us...@li..., "Support TransNexus" <su...@tr...> Sent: Wednesday, 29 July, 2009 16:18:34 GMT +01:00 Amsterdam / Berlin / Bern / Rome / Stockholm / Vienna Subject: Re: Kamailio OSP-module compile problem Hi Martin, After compiling and installing OSP Toolkit 3.5.2, check that you have "/usr/local/include/osp" folder. Regards, Dmitry Martin Werne wrote: > Hi! > > I have problem compiling the OSP-module in Kamailio 1.5.x > > OS: Ubuntu Server 8.04LTS > > Compiling and installing OSPToolkit is OK. > The problem occures when it comes to compiling the OSP-module in Kamailio: > > make[1]: Entering directory `/usr/src/kamailio/modules/osp' > make[1]: Leaving directory `/usr/src/kamailio/modules/osp' > make[1]: Entering directory `/usr/src/kamailio/modules/osp' > Compiling destination.c > Compiling globals.c > Compiling orig_transaction.c > In file included from orig_transaction.c:40: > sipheader.h:48: error: expected declaration specifiers or '...' before 'OSPTCALLID' > orig_transaction.c: In function 'ospLoadRoutes': > orig_transaction.c:84: error: 'OSPE_DEST_PROT' undeclared (first use in this function) > orig_transaction.c:84: error: (Each undeclared identifier is reported only once > orig_transaction.c:84: error: for each function it appears in.) > orig_transaction.c:84: error: expected ';' before 'protocol' > orig_transaction.c:85: error: 'OSPE_DEST_OSP_ENABLED' undeclared (first use in this function) > orig_transaction.c:85: error: expected ';' before 'enabled' > orig_transaction.c:150: error: 'protocol' undeclared (first use in this function) > orig_transaction.c:154: error: 'OSPE_DEST_PROT_SIP' undeclared (first use in this function) > orig_transaction.c:157: error: 'OSPE_DEST_PROT_H323_LRQ' undeclared (first use in this function) > orig_transaction.c:158: error: 'OSPE_DEST_PROT_H323_SETUP' undeclared (first use in this function) > orig_transaction.c:159: error: 'OSPE_DEST_PROT_IAX' undeclared (first use in this function) > orig_transaction.c:163: error: 'OSPE_DEST_PROT_UNDEFINED' undeclared (first use in this function) > orig_transaction.c:164: error: 'OSPE_DEST_PROT_UNKNOWN' undeclared (first use in this function) > orig_transaction.c:170: error: 'enabled' undeclared (first use in this function) > orig_transaction.c:174: error: 'OSPE_OSP_FALSE' undeclared (first use in this function) > orig_transaction.c:189: error: 'OSPC_SOURCE' undeclared (first use in this function) > orig_transaction.c: In function 'ospRequestRouting': > orig_transaction.c:260: error: 'OSPTCALLID' undeclared (first use in this function) > orig_transaction.c:260: error: 'callids' undeclared (first use in this function) > orig_transaction.c:282: error: too many arguments to function 'ospGetCallId' > orig_transaction.c:325: error: 'OSPC_E164' undeclared (first use in this function) > make[1]: *** [orig_transaction.o] Error 1 > make[1]: Leaving directory `/usr/src/kamailio/modules/osp' > make: *** [modules] Error 2 > > > Has tried with both OSPToolkit 3.5.2 and 3.3.6. > And with both Kamailio 1.5.1 and 1.5.2 > Same problem. > > > Does anyone know what is the problem? > > Regards, > Martin |
From: Dmitry I. <dm...@tr...> - 2009-07-29 14:19:30
|
Hi Martin, After compiling and installing OSP Toolkit 3.5.2, check that you have "/usr/local/include/osp" folder. Regards, Dmitry Martin Werne wrote: > Hi! > > I have problem compiling the OSP-module in Kamailio 1.5.x > > OS: Ubuntu Server 8.04LTS > > Compiling and installing OSPToolkit is OK. > The problem occures when it comes to compiling the OSP-module in Kamailio: > > make[1]: Entering directory `/usr/src/kamailio/modules/osp' > make[1]: Leaving directory `/usr/src/kamailio/modules/osp' > make[1]: Entering directory `/usr/src/kamailio/modules/osp' > Compiling destination.c > Compiling globals.c > Compiling orig_transaction.c > In file included from orig_transaction.c:40: > sipheader.h:48: error: expected declaration specifiers or '...' before 'OSPTCALLID' > orig_transaction.c: In function 'ospLoadRoutes': > orig_transaction.c:84: error: 'OSPE_DEST_PROT' undeclared (first use in this function) > orig_transaction.c:84: error: (Each undeclared identifier is reported only once > orig_transaction.c:84: error: for each function it appears in.) > orig_transaction.c:84: error: expected ';' before 'protocol' > orig_transaction.c:85: error: 'OSPE_DEST_OSP_ENABLED' undeclared (first use in this function) > orig_transaction.c:85: error: expected ';' before 'enabled' > orig_transaction.c:150: error: 'protocol' undeclared (first use in this function) > orig_transaction.c:154: error: 'OSPE_DEST_PROT_SIP' undeclared (first use in this function) > orig_transaction.c:157: error: 'OSPE_DEST_PROT_H323_LRQ' undeclared (first use in this function) > orig_transaction.c:158: error: 'OSPE_DEST_PROT_H323_SETUP' undeclared (first use in this function) > orig_transaction.c:159: error: 'OSPE_DEST_PROT_IAX' undeclared (first use in this function) > orig_transaction.c:163: error: 'OSPE_DEST_PROT_UNDEFINED' undeclared (first use in this function) > orig_transaction.c:164: error: 'OSPE_DEST_PROT_UNKNOWN' undeclared (first use in this function) > orig_transaction.c:170: error: 'enabled' undeclared (first use in this function) > orig_transaction.c:174: error: 'OSPE_OSP_FALSE' undeclared (first use in this function) > orig_transaction.c:189: error: 'OSPC_SOURCE' undeclared (first use in this function) > orig_transaction.c: In function 'ospRequestRouting': > orig_transaction.c:260: error: 'OSPTCALLID' undeclared (first use in this function) > orig_transaction.c:260: error: 'callids' undeclared (first use in this function) > orig_transaction.c:282: error: too many arguments to function 'ospGetCallId' > orig_transaction.c:325: error: 'OSPC_E164' undeclared (first use in this function) > make[1]: *** [orig_transaction.o] Error 1 > make[1]: Leaving directory `/usr/src/kamailio/modules/osp' > make: *** [modules] Error 2 > > > Has tried with both OSPToolkit 3.5.2 and 3.3.6. > And with both Kamailio 1.5.1 and 1.5.2 > Same problem. > > > Does anyone know what is the problem? > > Regards, > Martin |
From: Martin W. <mar...@go...> - 2009-07-29 13:47:09
|
Hi! I have problem compiling the OSP-module in Kamailio 1.5.x OS: Ubuntu Server 8.04LTS Compiling and installing OSPToolkit is OK. The problem occures when it comes to compiling the OSP-module in Kamailio: make[1]: Entering directory `/usr/src/kamailio/modules/osp' make[1]: Leaving directory `/usr/src/kamailio/modules/osp' make[1]: Entering directory `/usr/src/kamailio/modules/osp' Compiling destination.c Compiling globals.c Compiling orig_transaction.c In file included from orig_transaction.c:40: sipheader.h:48: error: expected declaration specifiers or '...' before 'OSPTCALLID' orig_transaction.c: In function 'ospLoadRoutes': orig_transaction.c:84: error: 'OSPE_DEST_PROT' undeclared (first use in this function) orig_transaction.c:84: error: (Each undeclared identifier is reported only once orig_transaction.c:84: error: for each function it appears in.) orig_transaction.c:84: error: expected ';' before 'protocol' orig_transaction.c:85: error: 'OSPE_DEST_OSP_ENABLED' undeclared (first use in this function) orig_transaction.c:85: error: expected ';' before 'enabled' orig_transaction.c:150: error: 'protocol' undeclared (first use in this function) orig_transaction.c:154: error: 'OSPE_DEST_PROT_SIP' undeclared (first use in this function) orig_transaction.c:157: error: 'OSPE_DEST_PROT_H323_LRQ' undeclared (first use in this function) orig_transaction.c:158: error: 'OSPE_DEST_PROT_H323_SETUP' undeclared (first use in this function) orig_transaction.c:159: error: 'OSPE_DEST_PROT_IAX' undeclared (first use in this function) orig_transaction.c:163: error: 'OSPE_DEST_PROT_UNDEFINED' undeclared (first use in this function) orig_transaction.c:164: error: 'OSPE_DEST_PROT_UNKNOWN' undeclared (first use in this function) orig_transaction.c:170: error: 'enabled' undeclared (first use in this function) orig_transaction.c:174: error: 'OSPE_OSP_FALSE' undeclared (first use in this function) orig_transaction.c:189: error: 'OSPC_SOURCE' undeclared (first use in this function) orig_transaction.c: In function 'ospRequestRouting': orig_transaction.c:260: error: 'OSPTCALLID' undeclared (first use in this function) orig_transaction.c:260: error: 'callids' undeclared (first use in this function) orig_transaction.c:282: error: too many arguments to function 'ospGetCallId' orig_transaction.c:325: error: 'OSPC_E164' undeclared (first use in this function) make[1]: *** [orig_transaction.o] Error 1 make[1]: Leaving directory `/usr/src/kamailio/modules/osp' make: *** [modules] Error 2 Has tried with both OSPToolkit 3.5.2 and 3.3.6. And with both Kamailio 1.5.1 and 1.5.2 Same problem. Does anyone know what is the problem? Regards, Martin |
From: Clint W. <cw...@nf...> - 2008-08-28 23:30:44
|
Hi, I've built Opensips with the OSP module. I've followed the instruction on the transnexus site to a tee. However, I have the same problem everytime. At launch (using the osp module config file) I get the following errors: t@main opensips]# opensipsctl start INFO: Starting OpenSIPS : ERROR: PID file /var/run/opensips.pid does not exist -- OpenSIPS start failed [root@main opensips]# tail -20 /var/log/messages Aug 28 15:11:49 main opensips: ERROR:core:sr_load_module: could not open module </usr/local/lib/opensips/modules/osp.so>: /usr/local/lib/opensips/modules/osp.so: undefined symbol: BIO_get_callback_arg Aug 28 15:11:49 main opensips: CRITICAL:core:yyerror: parse error in config file, line 34, column 13-14: failed to load module Aug 28 15:11:49 main opensips: ERROR:core:set_mod_param_regex: no module matching osp found | Aug 28 15:11:49 main opensips: CRITICAL:core:yyerror: parse error in config file, line 56, column 20-21: Can't set module parameter Aug 28 15:11:49 main opensips: CRITICAL:core:yyerror: parse error in config file, line 208, column 43-44: unknown command, missing loadmodule? Aug 28 15:11:49 main opensips: CRITICAL:core:yyerror: parse error in config file, line 213, column 43-44: unknown command, missing loadmodule? Aug 28 15:11:49 main opensips: CRITICAL:core:yyerror: parse error in config file, line 239, column 28-29: unknown command, missing loadmodule? Aug 28 15:11:49 main opensips: CRITICAL:core:yyerror: parse error in config file, line 244, column 35-36: unknown command, missing loadmodule? Aug 28 15:11:49 main opensips: CRITICAL:core:yyerror: parse error in config file, line 304, column 35-36: unknown command, missing loadmodule? Aug 28 15:11:49 main opensips: CRITICAL:core:yyerror: parse error in config file, line 309, column 35-36: unknown command, missing loadmodule? Aug 28 15:11:49 main opensips: CRITICAL:core:yyerror: parse error in config file, line 375, column 27-28: unknown command, missing loadmodule? Aug 28 15:11:49 main opensips: CRITICAL:core:yyerror: parse error in config file, line 416, column 29-30: unknown command, missing loadmodule? Aug 28 15:11:49 main opensips: CRITICAL:core:yyerror: parse error in config file, line 428, column 29-30: unknown command, missing loadmodule? Aug 28 15:11:49 main opensips: CRITICAL:core:yyerror: parse error in config file, line 440, column 23-24: unknown command, missing loadmodule? Aug 28 15:11:49 main opensips: CRITICAL:core:yyerror: parse error in config file, line 473, column 23-24: unknown command, missing loadmodule? Aug 28 15:11:49 main opensips: CRITICAL:core:yyerror: parse error in config file, line 491, column 21-22: unknown command, missing loadmodule? Aug 28 15:11:49 main opensips: CRITICAL:core:yyerror: parse error in config file, line 494, column 33-34: unknown command, missing loadmodule? I've checked permissions, etc. I cannot figure out for the life of me why this won't load. Anyone have any pointers? Thanks. |
From: Nguyen T. T. <tie...@gm...> - 2008-03-04 04:08:54
|
Hello, I am a new user of NexSRS. I have a problem : I already successfully installed OSP server, i use following command line to get CA cert from OSP Server : ./enroll -function getcacert -caurl http://<myserver'sIP>:1080/tep > cacert_0.pem I received 'cacert_0.pem' but this file is empty and in the web server interface, there are reports in logs : 2008-03-04 17:30:17| 8656|Call Attempts: <0> for past minute, <0> for past hour, <0> for past hour extrapolated. 2008-03-04 17:30:28| 384|This application does not support TEP or SCEP enrollment protocols Is my OSP server not support TEP ? How can I resolve this problem ? Thank you very much ! ***************************************************************** Nguyen Tien Thanh Ha Noi University of Technology Phone : 0948012888 Address : Hoai Thuong - Lien Bao - Tien Du - Bac Ninh ***************************************************************** |
From: Dmitry I. <dm...@tr...> - 2008-02-05 16:29:21
|
Hello Marco, The xml package will be generated using JAXB during the build process. The schema file (osp.xsd) for generating the xml package is in the stack folder. Regards, Dmitry Marco van Zoest wrote: > Dear Sir, > > I did a checkout of the RAMS osp server but the package > com.transnexus.parsers.osp.xml seems to be missing. Do you know > perhaps where I can get hold of it? It seems to be a significant > important part of the source code. > > Kind Regards > Marco van Zoest > |
From: ram <tal...@gm...> - 2007-08-07 13:06:06
|
From: Jim D. <jim...@tr...> - 2007-05-09 14:32:40
|
The OSP Toolkit project was recently moved from SIPfoundry to SourceForge. A new release of the OSP Toolkit V3.4.0 is now available on SourceForge |