Project

General

Profile

Sip session » History » Version 39

Adrian Georgescu, 06/23/2011 04:39 PM

1 34 Adrian Georgescu
== sip-session ==
2 1 Adrian Georgescu
3 36 Adrian Georgescu
[[TOC(SipTesting*, sip_*, xcap_*, depth=2)]]
4 2 Adrian Georgescu
5 35 Adrian Georgescu
> This script is available in ''sipclients'' package that must be installed separately from SIP SIMPLe client SDK package.
6
7 4 Adrian Georgescu
=== Description ===
8 5 Adrian Georgescu
9 34 Adrian Georgescu
'''sip-session''' command line script is a show-case for the powerful features of SIP SIMPLE development kit related to establishing, modifying and terminating SIP sessions with multiple media types like VoIP, Instant Messaging and File Transfer.
10 28 Adrian Georgescu
11 31 Adrian Georgescu
The script has the following features:
12 1 Adrian Georgescu
13
 1. Registers with a SIP registrar and is available for incoming sessions
14
 1. Switches between multiple sessions and provides in-call controls like Hold and Mute
15 32 Adrian Georgescu
 1. Handles outgoing SIP sessions with combinations of media types based on RTP and MSRP protocols
16
 1. Performs NAT traversal using ICE and MSRP relay extension
17 31 Adrian Georgescu
 1. Provides control for the input, output and alert audio devices
18
 1. Records the RTP audio streams (input, output or combined) 
19
 1. Enable text input and output for Instant Messaging sessions
20
 1. Provides File Transfer capability with progress indicator
21
 1. Gives access to real-time traces of involved protocols (DNS, SIP and MSRP)
22
23
24 27 Adrian Georgescu
=== Example ===
25
26
{{{
27 34 Adrian Georgescu
adigeo@ag-imac3:~$sip-session 
28 31 Adrian Georgescu
Using account adi@umts.ro
29
adi@umts.ro> /help
30 27 Adrian Georgescu
General commands:
31
  /call {user[@domain]}: call the specified user using audio and chat
32 1 Adrian Georgescu
  /audio {user[@domain]} [+chat]: call the specified user using audio and possibly chat
33 27 Adrian Georgescu
  /chat {user[@domain]} [+audio]: call the specified user using chat and possibly audio
34 31 Adrian Georgescu
  /send {user[@domain]} {file}: initiate a file transfer with the specified user
35 27 Adrian Georgescu
  /next: select the next connected session
36 1 Adrian Georgescu
  /prev: select the previous connected session
37
  /sessions: show the list of connected sessions
38 37 Adrian Georgescu
  /trace [[+|-]sip] [[+|-]msrp] [[+|-]pjsip] [[+|-]notifications]: toggle/set tracing on the console
39 1 Adrian Georgescu
  /rtp [on|off]: toggle/set printing RTP statistics on the console (ctrl-x p)
40 31 Adrian Georgescu
  /mute [on|off]: mute the microphone (ctrl-x u)
41 1 Adrian Georgescu
  /input [device]: change audio input device (ctrl-x i)
42
  /output [device]: change audio output device (ctrl-x o)
43
  /alert [device]: change audio alert device (ctrl-x a)
44
  /echo [+|-][value]: adjust echo cancellation (ctrl-x < | ctrl-x >)
45 27 Adrian Georgescu
  /quit: quit the program (ctrl-x q)
46 1 Adrian Georgescu
  /help: display this help message (ctrl-x ?)
47 27 Adrian Georgescu
In call commands:
48
  /hangup: hang-up the active session (ctrl-x h)
49
  /record [on|off]: toggle/set audio recording (ctrl-x r)
50 31 Adrian Georgescu
  /srecord [on|off]: toggle/set audio recording to separate files for input and output
51 27 Adrian Georgescu
  /hold [on|off]: hold/unhold (ctrl-x SPACE)
52
  /add {chat|audio}: add a stream to the current session
53
  /remove {chat|audio}: remove a stream from the current session
54 31 Adrian Georgescu
Available audio input devices: None, system_default, Built-in Input, Built-in Microphone
55
Available audio output devices: None, system_default, Built-in Output
56
Using audio input device: Built-in Microphone (system default device)
57
Using audio output device: Built-in Output (system default device)
58
Using audio alert device: Built-in Output
59
Type /help to see a list of available commands.
60 37 Adrian Georgescu
2009-10-29 22:42:14 Registered contact "sip:puioxbqy@192.168.1.124:50150" (expires in 600 seconds).
61 31 Adrian Georgescu
Other registered contacts:
62
  sip:jiozqyud@192.168.1.124:49569 (expires in 423 seconds)
63 27 Adrian Georgescu
Detected NAT type: Port Restricted
64 31 Adrian Georgescu
adi@umts.ro> 
65 1 Adrian Georgescu
}}}
66 38 Adrian Georgescu
67
ICE connectivity checks results:
68
69
{{{
70
adi@umts.ro> /rtp
71
Output of RTP statistics and ICE negotiation results on console is now activated
72
adi@umts.ro> /audio ag@sip2sip.info
73
Initiating SIP session from 'sip:adi@umts.ro' to 'sip:ag@sip2sip.info' via sip:81.23.228.150:5060;transport=udp...
74
 
75
ICE negotiation succeeded in 0s:644
76
 
77
Local ICE candidates:
78
(RTP)	 95.97.50.27:55656        	 type srflx
79
(RTP)	 192.168.1.122:55656      	 type host
80
(RTP)	 10.211.55.2:55656        	 type host
81
(RTP)	 10.37.129.2:55656        	 type host
82
(RTCP)	 95.97.50.27:55890        	 type srflx
83
(RTCP)	 192.168.1.122:55890      	 type host
84
(RTCP)	 10.211.55.2:55890        	 type host
85
(RTCP)	 10.37.129.2:55890        	 type host
86 39 Adrian Georgescu
(RTP)	 81.23.228.150:51782      	 type prflx
87 38 Adrian Georgescu
(RTCP)	 81.23.228.150:51783      	 type prflx
88
 
89
Remote ICE candidates:
90
(RTP)	 81.23.228.150:51780      	 type relay
91
(RTCP)	 81.23.228.150:51781      	 type relay
92
(RTP)	 95.97.50.27:55876        	 type srflx
93
(RTP)	 192.168.1.122:55876      	 type host
94
(RTP)	 10.211.55.2:55876        	 type host
95
(RTP)	 10.37.129.2:55876        	 type host
96
(RTCP)	 95.97.50.27:54037        	 type srflx
97
(RTCP)	 192.168.1.122:54037      	 type host
98
(RTCP)	 10.211.55.2:54037        	 type host
99
(RTCP)	 10.37.129.2:54037        	 type host
100
 
101
ICE connectivity check results:
102
(RTP)	 192.168.1.122:55656 <--> 192.168.1.122:55876 	Succeeded
103
(RTP)	 10.211.55.2:55656 <--> 10.211.55.2:55876 	Succeeded
104
(RTP)	 10.37.129.2:55656 <--> 10.37.129.2:55876 	Succeeded
105
(RTCP)	 192.168.1.122:55890 <--> 192.168.1.122:54037 	Succeeded
106
(RTCP)	 10.211.55.2:55890 <--> 10.211.55.2:54037 	Succeeded
107
(RTCP)	 10.37.129.2:55890 <--> 10.37.129.2:54037 	Succeeded
108
(RTP)	 95.97.50.27:55656 <--> 95.97.50.27:55876 	Succeeded
109
(RTCP)	 95.97.50.27:55890 <--> 95.97.50.27:54037 	Succeeded
110
(RTP)	 81.23.228.150:51782 <--> 81.23.228.150:51780 	Succeeded
111
(RTCP)	 81.23.228.150:51783 <--> 81.23.228.150:51781 	Succeeded
112
 
113
Audio session established using "G722" codec at 16000Hz
114
Audio RTP endpoints 192.168.1.122:55656 (ICE type host) <-> 192.168.1.122:55876 (ICE type host)
115
}}}