Project

General

Profile

Sip session » History » Version 31

Adrian Georgescu, 10/29/2009 10:47 PM

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