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 | }}} |