Sip session

Version 32 (Adrian Georgescu, 10/29/2009 10:49 pm)

1 2 Adrian Georgescu
== sip_session ==
2 1 Adrian Georgescu
3 2 Adrian Georgescu
[[TOC(SipTesting*, sip_*, depth=2)]]
4 2 Adrian Georgescu
5 4 Adrian Georgescu
=== Description ===
6 5 Adrian Georgescu
7 32 Adrian Georgescu
'''sip_session''' command line script is a show-case for the powerful features of SIP SIMPLE software development kit related to establishing, modifying and terminating SIP sessions with multiple media types like VoIP, Instant Messaging and File Transfer.
8 28 Adrian Georgescu
9 31 Adrian Georgescu
The script has the following features:
10 1 Adrian Georgescu
11 1 Adrian Georgescu
 1. Registers with a SIP registrar and is available for incoming sessions
12 1 Adrian Georgescu
 1. Switches between multiple sessions and provides in-call controls like Hold and Mute
13 32 Adrian Georgescu
 1. Handles outgoing SIP sessions with combinations of media types based on RTP and MSRP protocols
14 32 Adrian Georgescu
 1. Performs NAT traversal using ICE and MSRP relay extension
15 31 Adrian Georgescu
 1. Provides control for the input, output and alert audio devices
16 31 Adrian Georgescu
 1. Records the RTP audio streams (input, output or combined) 
17 31 Adrian Georgescu
 1. Enable text input and output for Instant Messaging sessions
18 31 Adrian Georgescu
 1. Provides File Transfer capability with progress indicator
19 31 Adrian Georgescu
 1. Gives access to real-time traces of involved protocols (DNS, SIP and MSRP)
20 31 Adrian Georgescu
21 31 Adrian Georgescu
22 27 Adrian Georgescu
=== Example ===
23 27 Adrian Georgescu
24 27 Adrian Georgescu
{{{
25 27 Adrian Georgescu
adigeo@ag-imac3:~$sip_session 
26 31 Adrian Georgescu
Using account adi@umts.ro
27 31 Adrian Georgescu
adi@umts.ro> /help
28 27 Adrian Georgescu
General commands:
29 27 Adrian Georgescu
  /call {user[@domain]}: call the specified user using audio and chat
30 1 Adrian Georgescu
  /audio {user[@domain]} [+chat]: call the specified user using audio and possibly chat
31 27 Adrian Georgescu
  /chat {user[@domain]} [+audio]: call the specified user using chat and possibly audio
32 31 Adrian Georgescu
  /send {user[@domain]} {file}: initiate a file transfer with the specified user
33 27 Adrian Georgescu
  /next: select the next connected session
34 1 Adrian Georgescu
  /prev: select the previous connected session
35 1 Adrian Georgescu
  /sessions: show the list of connected sessions
36 31 Adrian Georgescu
  /trace [[+|-]sip] [[+|-]msrp] [[+|-]pjsip] [[+|-]notifications]: toggle/set tracing on the console (ctrl-x s | ctrl-x m | ctrl-x j | ctrl-x n)
37 1 Adrian Georgescu
  /rtp [on|off]: toggle/set printing RTP statistics on the console (ctrl-x p)
38 31 Adrian Georgescu
  /mute [on|off]: mute the microphone (ctrl-x u)
39 1 Adrian Georgescu
  /input [device]: change audio input device (ctrl-x i)
40 1 Adrian Georgescu
  /output [device]: change audio output device (ctrl-x o)
41 1 Adrian Georgescu
  /alert [device]: change audio alert device (ctrl-x a)
42 1 Adrian Georgescu
  /echo [+|-][value]: adjust echo cancellation (ctrl-x < | ctrl-x >)
43 27 Adrian Georgescu
  /quit: quit the program (ctrl-x q)
44 1 Adrian Georgescu
  /help: display this help message (ctrl-x ?)
45 27 Adrian Georgescu
In call commands:
46 27 Adrian Georgescu
  /hangup: hang-up the active session (ctrl-x h)
47 27 Adrian Georgescu
  /record [on|off]: toggle/set audio recording (ctrl-x r)
48 31 Adrian Georgescu
  /srecord [on|off]: toggle/set audio recording to separate files for input and output
49 27 Adrian Georgescu
  /hold [on|off]: hold/unhold (ctrl-x SPACE)
50 27 Adrian Georgescu
  /add {chat|audio}: add a stream to the current session
51 27 Adrian Georgescu
  /remove {chat|audio}: remove a stream from the current session
52 31 Adrian Georgescu
Available audio input devices: None, system_default, Built-in Input, Built-in Microphone
53 31 Adrian Georgescu
Available audio output devices: None, system_default, Built-in Output
54 31 Adrian Georgescu
Using audio input device: Built-in Microphone (system default device)
55 31 Adrian Georgescu
Using audio output device: Built-in Output (system default device)
56 31 Adrian Georgescu
Using audio alert device: Built-in Output
57 31 Adrian Georgescu
Type /help to see a list of available commands.
58 31 Adrian Georgescu
2009-10-29 22:42:14 Registered contact "sip:puioxbqy@192.168.1.124:50150" for sip:adi@umts.ro at 81.23.228.150:5060;transport=udp (expires in 600 seconds).
59 31 Adrian Georgescu
Other registered contacts:
60 31 Adrian Georgescu
  sip:jiozqyud@192.168.1.124:49569 (expires in 423 seconds)
61 27 Adrian Georgescu
Detected NAT type: Port Restricted
62 31 Adrian Georgescu
adi@umts.ro> 
63 1 Adrian Georgescu
}}}