Published on iptel.org (http://www.iptel.org)

osp

By greger
Created 2007-01-14 14:40

Stable

The osp module enables SERi [1] to support secure, multi-lateral peering using the OSP standard defined by European Telecommunications Standards Institute (ETSIi [2]) (TS 101 321 V4.1.1). Open Settlement Protocol uses Public Key Infrastructure (PKI) services to enable, secure peering among anonymous peers. OSP is an ETSI standard and enables VOIP networks to exchange billing, Quality of Service (QoS), and routing information.

The SER osp module will enable your SER to:

Send a peering authorization request to a peering server

Validate a digitally signed peering authorization token received in a SIP INVITE message

Report usage information to a peering server


Ullrich Abend
Di-Shi Sun


ullstar@iptel.org [3]>

Di-Shi Sun

TransNexus, Inc.
Revision History
Revision $Revision: 1.1 $ $Date: 2006/12/01 16:08:26 $

i [5] to support secure, multi-lateral peering using the OSP standard defined by European Telecommunications Standards Institute (ETSIi [6]) (TS 101 321 V4.1.1). Open Settlement Protocol uses Public Key Infrastructure (PKI) services to enable, secure peering among anonymous peers. OSP is an ETSI standard and enables VOIP networks to exchange billing, Quality of Service (QoS), and routing information.

The SER osp module will enable your SER to:

  • Send a peering authorization request to a peering server

  • Validate a digitally signed peering authorization token received in a SIP INVITE message

  • Report usage information to a peering server

Dependencies:

  • The OSP module depends on the following modules which must be loaded before the OSP module.

  • textops -- text based operation

  • OSP Toolkit -- The OSP Toolkit, available from www.sipfoundry.org/OSP [7], must be built before building SER with the OSP Module

www.sipfoundry.org/OSP [8], must be built before building SER with the OSP Module.

i [9]/. The files may be copied to the expected file location or the parameters below may be changed.

i [10] was accepted by the peering server, the uri is being rewritten and 1 returned, on errors (peering servers are not available, authentication failed or there is no route to destination or the route is blocked) -1 is returned.

i [11] or redirecting the call\n"); } else { log("could not prepare the route. No destination available\n"); }; ...

reportospusage()

This function should be called after receiving a BYE message. If the message contains an OSP cookie, the function will forward originating and/or terminating duration usage information to a peering server. The function returns TRUE if the BYE includes an OSP cookie. The actual usage message will be send on a different thread and will not delay BYE processing. The function should be called before relaying the message.

Example 21. reportospusage usage

           ...                                                                                                  
           if (reportospusage ()) {                                                                             
             log("OSP call duration usage will be reported\n");                                                 
           } else {                                                                                             
             log("The BYE message does not include OSP information, it was not authorized by an OSP server\n"); 
           };                                                                                                   
           ...