OSP, or the Open Settlement Protocol, is web services like protocol that enables routing and accounting of peering sessions among VoIP networks. More precisely, OSP is the international standard for "Inter-Domain pricing, Authorization and Usage Exchange of IP Communications." The OSP standard is defined by TISPAN of the European Telecommunications Standards Institute (ETSI) www.etsi.org. The OSP standard is officially known as ETSI Technical Specification 101 321. Version 1.4.2 of this standard was ratified in December 1998. Version 4.1.1 of the OSP standard was ratified in November 2003 and may be downloaded from: ETSI TS 101 321 V4.1.1 (2000-11).
What are OSP Messages?
OSP messages are very similar to SOAP and Web Services messages. OSP messages are a defined set of XML messages, transmitted via HTTP, for enabling VoIP peering sessions. The ETSI OSP standard defines a rich set of messages for routing, authorizing and accounting for IP multimedia communications. However, the most commonly used OSP messages are limited to IP VoIP routing queries (RouteAuthorization and AuthorizationResponse messages) and Call Detail Reporting (UsageIndication and UsageConfirmation messages).
Basic Call Scenario with OSP
The diagram below describes a basic VoIP call scenario where an OSP server is used as an external routing and CDR collection server for a VoIP signaling device such as a session border controller, softswitch, gatekeeper, SIP proxy or B2BUA.
- Call setup from source device to VoIP signaling device.
- VoIP signaling devices sends an OSP AuthorizationRequest to the OSP server. The OSP server returns an OSP AuthorizationResponse which may include the following information:
- List of destination IP addresses
- VoIP protocol supported by the destination device
- Authorized call duration
- Translated calling and called numbers
- The VoIP signaling device completes the call to the destination device.
- When the call is completed, the VoIP signaling device sends an OSP defined Call Detail Record to the OSP server.
Using OSP for Secure Peering
The OSP standard also defines the format for digitally signed tokens which can be used to secure peer to peer calling. The diagram below illustrates how a trusted OSP server enables secure routing between two VoIP peers.
- The source VoIP devices send an OSP AuthorizationRequest to the OSP server. The OSP server authenticates the peering request and returns an OSP AuthorizationResponse that includes digitally signed peering token authorizing access to the destination network.
- Call setup between the source and destination peers. The OSP peering token is included in the SIP INVITE or Q.931 (H.323) call setup.
- The destination peer validates the OSP peering token using the public key of the trusted OSP server. If the token is valid the call is accepted.
- When the call ends, both the source and destination peers report OSP defined call detail records to the OSP server.
Example OSP AuthorizationResponse Message
The OSP Toolkit project on SourceForge, http://sourceforge.net/projects/osp-toolkit, includes a complete open source library for an OSP client implementation.
The RAMS project on SourceForge, http://sourceforge.net/projects/rams, is an open source, reference OSP server written in Java.
OpenOSP, http://www.vovida.org/applications/downloads/openosp, is an open source OSP server written in C.
Download a free version of the commercial TransNexus OSP Peering Server.
Detailed Call Scenario with OSP
The diagrams below describe a typical call scenario using OSP. A VoIP call originates from an IP phone registered with an enterprise IP PBX. The off-net call is routed from the IP-PBX to a Session Border Controller (SBC) which then completes the call to the Public Switched Telephone Network (PSTN) via an IP network. The SBC could be at the edge of the enterprise network or could be used by a service provider as VoIP switch.
- SIP Invite from IP PBX to SBC
- SBC sends an OSP AuthorizationRequest to the OSP Server as shown below.
- OSP Server returns OSP AuthorizationResponse with two destinations as shown below:
- The SBC sends a SIP Invite to Carrier1, the first destination. The call attempts fails.
- The SBC retries the call with an H323 call setup to Carrier2. The call succeeds.
- When the call ends, the SBC sends an OSP Usage Indication message to the OSP Server as shown below:
- The OSP Server returns an OSP UsageConfirmation message to the SBC.