Retrieving SIP Progress Headers
Goals
- When calling to unavailable destination phone number over KDDI IP, it takes about 30 second for Bfv call API to complete (because of early-media announcement). The information of "unavailable destination" is in fact presented in SIP 183 response header, and therefore if API can return the information, applications can decide whether to close the call immediately.
Background and strategic fit
For certain customers, time is of an essence. Fax broadcasters generate revenue based on number of pages transmitted. There are certain situations where the phone company will respond with a out of service or unavailable destination prompt. In these cases, a SIP 183 progress message will be provided with header information stating an intermediate status while it plays a voice prompt to the end user. This prompt may be longer than 30 seconds since it will often repeated and may be in several languages. Once the prompt has completed playing, a 4xx SIP message will be sent to terminate the call. By providing the received SIP progress headers to the application, the application can review the headers provided and make a decision to drop the call instead of waiting for the 4xx SIP message from the remote.
This functionality will comprise changes to the BRKTSIP process and the ECC process. When the SR140 send out a SIP INVITE message and receives back a 183 Session Progress message, the header lines of the message with automatically be made available to the user via the BFV API.
Assumptions
- This functionality is included as part of a standard licensed system feature that can be enabled or disabled by the customer.
- This feature will be implemented for both IPv4 and IPV6.
- Only the SR140 will be supported by this feature. It will not be available for IP-based fax boards.
- Both the Windows and Linux operating systems are supported.
- The feature will only be available for outbound SIP calls that receive a 183 Response message.
Requirements
# | Title | User Story | Importance | Notes |
---|---|---|---|---|
1 | Requirement | When calling to unavailable destination phone number over KDDI IP, it takes about 30 second for Bfv call API to complete (because of early-media announcement). The information of "unavailable destination" is in fact presented in SIP 183 response header, and therefore if API can return the information, applications can decide whether to close the call immediately. | Must Have |
|
2 | Licensing | The SR140 license will include SIP Progress Headers processing as part of the standard functionality. | Must Have |
References
SIP headers | The lines included in a SIP message that follow the SIP message type line and proceed a possible message body containing SDP or other transport descriptions. |
Sample wireshark trace with a 183 Session Progress packet (#3) with an RTP stream playing a out of service prompt: kddi-sip-183-480-case.pcap
User interaction and design
This scenario illustrates an outbound call that receives a SIP 183 Proceeding Message and passes the message headers up to the application layer.
The current SIP headers processing routine CipiChannelExtractSIPInviteHeaders will be modifed to accept a SipHeaderListBuffer from either the CIPI_alerting or the CIPI_proceeding structure.
Questions
Below is a list of questions to be addressed as a result of this requirements document:
Question | Outcome |
---|---|
Not Doing
High Level Design Document
Tasks Releated to Feature