Sip session
Version 17 (Adrian Georgescu, 03/31/2009 03:02 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 | 17 | Adrian Georgescu | == Example of DTMF interaction == |
100 | 16 | Adrian Georgescu | |
101 | 16 | Adrian Georgescu | {{{ |
102 | 16 | Adrian Georgescu | adigeo@ag-imac3:~$sip_session 61@ag-projects.com |
103 | 16 | Adrian Georgescu | Using account 31208005169@ag-projects.com |
104 | 16 | Adrian Georgescu | Type :help to get information about commands and shortcuts |
105 | 16 | Adrian Georgescu | Registering "Adrian G." <sip:31208005169@ag-projects.com> at 81.23.228.150:5060 |
106 | 16 | Adrian Georgescu | Registered SIP contact address: sip:ijpmwqbg@192.168.1.6:56320 (expires in 600 seconds) |
107 | 16 | Adrian Georgescu | Initiating SIP session from "Adrian G." <sip:31208005169@ag-projects.com> to sip:61@ag-projects.com via udp:81.23.228.150:5060 ... |
108 | 16 | Adrian Georgescu | Connecting SIP session to sip:61@ag-projects.com (Ok) |
109 | 16 | Adrian Georgescu | Session established, using "GSM" codec at 8000Hz |
110 | 16 | Adrian Georgescu | Audio RTP endpoints 192.168.1.6:50250 <-> 81.23.228.150:51318 |
111 | 16 | Adrian Georgescu | Remote SIP User Agent is "pbxnsip-PBX/3.0.0.2896" |
112 | 16 | Adrian Georgescu | +------+-----+------+ |
113 | 16 | Adrian Georgescu | | 1 | 2 | 3 | |
114 | 16 | Adrian Georgescu | | | ABC | DEF | |
115 | 16 | Adrian Georgescu | +------+-----+------+ |
116 | 16 | Adrian Georgescu | | 4 | 5 | 6 | |
117 | 16 | Adrian Georgescu | | GHI | JKL | MNO | |
118 | 16 | Adrian Georgescu | +------+-----+------+ |
119 | 16 | Adrian Georgescu | | 7 | 8 | 9 | |
120 | 16 | Adrian Georgescu | | PQRS | TUV | WXYZ | |
121 | 16 | Adrian Georgescu | +------+-----+------+ |
122 | 16 | Adrian Georgescu | | * | 0 | # | |
123 | 16 | Adrian Georgescu | +-------------------+ |
124 | 16 | Adrian Georgescu | Detected NAT type: Port Restricted |
125 | 16 | Adrian Georgescu | > 0000# |
126 | 16 | Adrian Georgescu | Disconnecting SIP session to sip:61@ag-projects.com |
127 | 16 | Adrian Georgescu | Disconnected SIP session to sip:61@ag-projects.com (Ok) |
128 | 16 | Adrian Georgescu | Session ended by local party. |
129 | 16 | Adrian Georgescu | Session duration was 13 seconds. |
130 | 16 | Adrian Georgescu | 31208005169@ag-projects.com> |
131 | 16 | Adrian Georgescu | }}} |
132 | 16 | Adrian Georgescu | |
133 | 16 | Adrian Georgescu | |
134 | 17 | Adrian Georgescu | == Example of SIP trace with RTP and MSRP offer/answer == |
135 | 8 | Adrian Georgescu | |
136 | 13 | Adrian Georgescu | * See [wiki:sip_trace_msrp_rtp] |