Project

General

Profile

Sip session » History » Version 23

Adrian Georgescu, 04/14/2009 09:56 AM

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