Sip session

Version 27 (Adrian Georgescu, 09/07/2009 09:22 am) → Version 28/44 (Adrian Georgescu, 09/08/2009 10:59 pm)

== sip_session ==

[[TOC(SipTesting*, sip_*, depth=2)]]

=== Description ===

'''sip_session''' This script is a show-case for the powerful features of SIP SIMPLE software development kit related can be used to establishing, modifying and terminating establish SIP sessions with multiple more than one media types.

The script handles multiple parallel SIP sessions with various combinations of media types based on
type. One can add and remove RTP audio and MSRP protocols, handle NAT traversal chat streams to the same SIP session using ICE and MSRP relay extension, switch between sessions, provide control for the input, output and alert audio devices, in-call controls like Hold, Mute and Recording of RTP audio streams, text input and output for Instant Messaging and real-time trace of all involved protocols.

=== Example ===
re-INVITEs.

{{{
adigeo@ag-imac3:~$sip_session
Using account 31208005169@ag-projects.com
Logging SIP trace to file "/Users/adigeo/Desktop/FileTransfers/sip_trace.txt"
Logging notifications trace to file "/Users/adigeo/Desktop/FileTransfers/notifications_trace.txt"
Available audio input devices: None, system_default, Built-in Input, Built-in Microphone, Logitech Wireless Headset
Available audio output devices: None, system_default, Built-in Output, Logitech Wireless Headset
Using audio input device: Logitech Wireless Headset
Using audio output device: Built-in Output
Using audio alert device: Built-in Output
Type /help to see a list of available commands.
2009-09-07 09:20:48 Registered contact "sip:koincezd@192.168.1.6:54441" for sip:31208005169@ag-projects.com at 81.23.228.150:5060;transport=udp (expires in 600 seconds).
Other registered contacts:
sip:31208005169@192.168.1.123:5060 (expires in 176 seconds)
sip:31208005169@192.168.1.1;uniq=5B2860C44383A3D6705629A7E1FB8 (expires in 526 seconds)
31208005169@ag-projects.com> /help
General commands:
/call {user[@domain]}: call the specified user using audio and chat
/audio {user[@domain]} [+chat]: call the specified user using audio and possibly chat
/chat {user[@domain]} [+audio]: call the specified user using chat and possibly audio
/next: select the next connected session
/prev: select the previous connected session
/sessions: show the list of connected sessions
/trace [[+|-]sip] [[+|-]pjsip] [[+|-]notifications]: toggle/set SIP trace on the console (ctrl-x s | ctrl-x j | ctrl-x n)
/rtp [on|off]: toggle/set printing RTP statistics on the console (ctrl-x p)
/mute [on|off]: mute the microphone (ctrl-x m)
/input [device]: change audio input device (ctrl-x i)
/output [device]: change audio output device (ctrl-x o)
/alert [device]: change audio alert device (ctrl-x a)
/echo [+|-][value]: adjust echo cancellation (ctrl-x < | ctrl-x >)
/quit: quit the program (ctrl-x q)
/help: display this help message (ctrl-x ?)
In call commands:
/hangup: hang-up the active session (ctrl-x h)
/record [on|off]: toggle/set audio recording (ctrl-x r)
/hold [on|off]: hold/unhold (ctrl-x SPACE)
/add {chat|audio}: add a stream to the current session
/remove {chat|audio}: remove a stream from the current session
Detected NAT type: Port Restricted
}}}