SIP / STUN
Session Initialization Protocol (SIP) / STUN - Simple Traversal of User Datagram Protocol (UDP)
The software implementation performs all of the SIP messaging necessary to: register with a SIP registrar, initiate VoIP calls, and accept or reject incoming VoIP calls.
Adaptive Digital Technologies’ Real Time Protocol (RTP) software provides transport layer functionality for real-time applications communicating over an IP network. This product also contains a built in, configurable, jitter buffer to compensate for network delays, out-of-order packets, and lost packets.
- Call Hold
- Call Transfer
- Message Waiting
- Call Initiation
- Call Acceptance
- Offer/Answer Capabilities
- Digest Authentication Support
- Optional STUN interface
- Interfaces to application via APIs and call back routine
- Interfaces to UDP/IP stack via
- MD5 Authentication
- Session Description Protocol (SDP)
- Interoperable with Asterisk and Cisco servers
- Loose Routing
AvailabilityADT SIP is available in “C” format, portable to any host processor.
|Platforms / Operating Systems|
|Arm Cortex-A || Arm Cortex-M || Arm9E|
|TI TMS320C5000 C55x|
ADT SIP/STUN is available off the shelf on the above Platforms: Other configurations are available upon request.
SIP / STUN SOFTWARE WAS DESIGNED SPECIFICALLY FOR USE WITHIN THE DSP ENVIRONMENT.
The Adaptive Digital Technologies Session Initialization Protocol (SIP) software is a low memory implementation of Internet Standards RFC 3261 (SIP) and RFC 2327 (SDP) for Voice over IP (VoIP) telephones. SIP has become the standard protocol for VoIP telephones. It allows you to register your telephone at a globally known server so that other VoIP telephones will know how to get in contact with you. SIP also allows you to get in touch with other VoIP telephones either directly or through a SIP proxy. You can also use SIP phones, with the aid of a bridge, to place calls to standard public switched telephones networks (PSTNs).
Our software performs all of the SIP messaging necessary to: register with a SIP registrar, initiate VoIP calls, and accept or reject incoming VoIP calls. It also performs session parameter negotiation based upon a list of acceptable media attributes that you specify at session startup. Your application only needs to request or accept a call and process the media stream.
While Adaptive Digital’s SIP software is written in “C” to be portable to any host processor, our software was designed specifically for use within the DSP environment where low memory and MIPS usage is essential. Our memory footprint is nearly half that of similar commercially available SIP stacks, and our CPU utilization is totally event driven, resulting in no unnecessary context switching that is required by typical polling based implementations. For high volume products, the cost savings of using smaller, less expense, memory chips can be quite substantial.
Your application’s access to the SIP stack is through five simple API calls and one call-back routine. API calls are issued by your application when it needs to initiate SIP actions such as call initiation or call teardown requests. The call-back routine is used when the SIP stack needs to inform your application that there is some action that it must take, such as ringing the telephone when an incoming call request is received or notifying the caller that the caller on the other phone has hung up.
All SIP processing is performed by a dedicated task. Most details of the SIP processing, such as registration, timeout and retransmission of messages, parsing and validation of incoming SIP messages, are performed without any intervention from your application. The SIP task only requires servicing when some user related activity is required. This task is initialized at system startup via an API call. Your system’s configuration parameters (local IP address, registrar URI, SIP proxy URI, etc.) are passed into the SIP task at this time.
Often, firewalls prevent SIP from interfacing properly with SIP devices on the far side of wall. To allow incoming SIP and media packets to traverse firewalls, the SIP software can be licensed with the optional STUN software. STUN allows the SIP stack to obtain its mapped port and IP address from an externally located STUN server and notify the SIP registrar, SIP proxy or SIP end-user of these values. It should be noted, that the SIP/STUN combination only works in traversing full-cone firewalls. Other types of firewalls need special software, such as a SIP proxy, or implementation of the UPnP protocol on the firewall.
SipInitialize () Configure and start the SIP task.
SipCallRequest () Initiate a call.
SipCallTeardown() Teardown the current call.
SipShutdown() Stop all SIP processing.
SipCallStatus() Get current status of call.