Sip session

Version 15 (Adrian Georgescu, 03/31/2009 03:00 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 2 Adrian Georgescu
To use this script you must to have a valid [wiki:SipSettingsAPI configuration].
6 1 Adrian Georgescu
7 4 Adrian Georgescu
=== Description ===
8 5 Adrian Georgescu
9 15 Adrian Georgescu
This script can be used to establish SIP sessions with more than one media type. One can add and remove RTP audio and MSRP chat to the same SIP session usine re-INVITE. The default behaviour is to establish outgoing session with both audio and chat media.
10 5 Adrian Georgescu
11 6 Adrian Georgescu
[[Image(http://www.tech-invite.com/img/cf3665/cf3665-37.gif)]]
12 6 Adrian Georgescu
13 1 Adrian Georgescu
{{{
14 15 Adrian Georgescu
adigeo@ag-imac3:~$sip_session -h
15 15 Adrian Georgescu
Usage: sip_session [options] [target-user@target-domain.com] [audio|chat]
16 1 Adrian Georgescu
17 15 Adrian Georgescu
This script will either sit idle waiting for an incoming session, or start a
18 15 Adrian Georgescu
new session with the specified target SIP address. The program will close the
19 15 Adrian Georgescu
session and quit when CTRL-D is pressed. This scripts supports RTP audio and
20 15 Adrian Georgescu
MSRP chat sessions.
21 1 Adrian Georgescu
22 1 Adrian Georgescu
Options:
23 1 Adrian Georgescu
  -h, --help            show this help message and exit
24 15 Adrian Georgescu
  -a ACCOUNT_NAME, --account-name=ACCOUNT_NAME
25 15 Adrian Georgescu
                        The name of the account to use.
26 15 Adrian Georgescu
  --no-register         Bypass registration.
27 15 Adrian Georgescu
  -c FILE, --config_file=FILE
28 3 Adrian Georgescu
                        The path to a configuration file to use. This
29 3 Adrian Georgescu
                        overrides the default location of the configuration
30 3 Adrian Georgescu
                        file.
31 3 Adrian Georgescu
  -S, --disable-sound   Disables initializing the sound card.
32 1 Adrian Georgescu
  -s, --trace-sip       Dump the raw contents of incoming and outgoing SIP
33 1 Adrian Georgescu
                        messages.
34 1 Adrian Georgescu
  -j, --trace-pjsip     Print PJSIP logging output.
35 1 Adrian Georgescu
  --trace-engine        Print core's events.
36 3 Adrian Georgescu
  -m, --trace-msrp      Log the raw contents of incoming and outgoing MSRP
37 3 Adrian Georgescu
                        messages.
38 3 Adrian Georgescu
  --no-relay            Don't use the MSRP relay.
39 3 Adrian Georgescu
  --msrp-tcp            Use TCP for MSRP connections.
40 4 Adrian Georgescu
}}}
41 4 Adrian Georgescu
42 11 Adrian Georgescu
=== Available commands  ===
43 11 Adrian Georgescu
44 11 Adrian Georgescu
{{{
45 11 Adrian Georgescu
adigeo@ag-imac3:~/work/python-sipsimple$sip_session 
46 11 Adrian Georgescu
Using account 31208005169@ag-projects.com
47 11 Adrian Georgescu
Type :help to get information about commands and shortcuts
48 11 Adrian Georgescu
Waiting for incoming SIP session requests...
49 11 Adrian Georgescu
Registering "Adrian G." <sip:31208005169@ag-projects.com> at 81.23.228.129:5060
50 11 Adrian Georgescu
Registered SIP contact address: sip:mdbwqhek@192.168.1.6:61453 (expires in 600 seconds)
51 11 Adrian Georgescu
31208005169@ag-projects.com> :help
52 11 Adrian Georgescu
:add audio|chat             Add a new stream to the current session.
53 11 Adrian Georgescu
:call URI [audio|chat]      Make an outgoing call. By default, use audio+chat
54 11 Adrian Georgescu
:dtmf DIGITS                Send DTMF digits. Also try CTRL-SPACE for virtual numpad
55 11 Adrian Georgescu
:help                       Print this help message
56 11 Adrian Georgescu
:hold                       Put the current session on hold
57 11 Adrian Georgescu
:remove audio|chat          Remove the stream from the current session
58 11 Adrian Georgescu
:switch  (or CTRL-N)        Switch between active sessions
59 11 Adrian Georgescu
:unhold                     Un-hold the current session
60 11 Adrian Georgescu
}}}
61 11 Adrian Georgescu
62 4 Adrian Georgescu
63 8 Adrian Georgescu
=== Example of audio only session ===
64 4 Adrian Georgescu
65 4 Adrian Georgescu
{{{
66 4 Adrian Georgescu
adigeo@ag-imac3:~$sip_session   
67 4 Adrian Georgescu
Using account 31208005169@ag-projects.com
68 4 Adrian Georgescu
Press Ctrl-d to quit or Control-n to switch between active sessions
69 4 Adrian Georgescu
Waiting for incoming SIP session requests...
70 4 Adrian Georgescu
Registering "Adrian G." <sip:31208005169@ag-projects.com> at 81.23.228.150:5060
71 4 Adrian Georgescu
Registered SIP contact address: sip:hctoyfvx@192.168.1.6:61277 (expires in 600 seconds)
72 4 Adrian Georgescu
Incoming Audio request from "Adrian G." <sip:31208005169@ag-projects.com>, do you accept? (y/n) y
73 4 Adrian Georgescu
Connecting SIP session to "Adrian G." <sip:31208005169@ag-projects.com>
74 4 Adrian Georgescu
Session established, using "speex" codec at 32000Hz
75 4 Adrian Georgescu
Audio RTP endpoints 192.168.1.6:50018 <-> 81.23.228.150:58260
76 4 Adrian Georgescu
Remote SIP User Agent is "sip2sip-0.9.0-pjsip-1.0.2-trunk-r2553"
77 4 Adrian Georgescu
Detected NAT type: Port Restricted
78 4 Adrian Georgescu
Audio to Adrian G. (31208005169@ag-projects.com): 
79 1 Adrian Georgescu
80 8 Adrian Georgescu
}}}
81 8 Adrian Georgescu
82 8 Adrian Georgescu
83 8 Adrian Georgescu
=== Example of chat only session ===
84 8 Adrian Georgescu
85 8 Adrian Georgescu
{{{
86 8 Adrian Georgescu
adigeo@ag-imac3:~$sip_session room1@chatserver.ag-projects.com
87 8 Adrian Georgescu
Using account 31208005169@ag-projects.com
88 8 Adrian Georgescu
Press Ctrl-d to quit or Control-n to switch between active sessions
89 8 Adrian Georgescu
Registering "Adrian G." <sip:31208005169@ag-projects.com> at 85.17.186.7:5060
90 10 Adrian Georgescu
Initiating SIP session from "Adrian G." <sip:31208005169@ag-projects.com> 
91 10 Adrian Georgescu
to sip:room1@chatserver.ag-projects.com via udp:81.23.228.146:6060 ...
92 8 Adrian Georgescu
Registered SIP contact address: sip:lpgdqwes@192.168.1.6:61392 (expires in 600 seconds)
93 8 Adrian Georgescu
Connecting SIP session to sip:room1@chatserver.ag-projects.com
94 8 Adrian Georgescu
Remote SIP User Agent is "sip-chatserver-0.9.1"
95 8 Adrian Georgescu
10:38:55 room1@chatserver.ag-projects.com: Welcome to the room, Adrian G.. You are the only participant in the room
96 8 Adrian Georgescu
Chat to room1@chatserver.ag-projects.com: 
97 8 Adrian Georgescu
}}}
98 8 Adrian Georgescu
99 14 Adrian Georgescu
=== Example of SIP trace with RTP and MSRP offer/answer ===
100 8 Adrian Georgescu
101 13 Adrian Georgescu
* See [wiki:sip_trace_msrp_rtp]