Applications
Version 1 (Tijmen de Mes, 04/05/2012 06:01 pm)
1 | 1 | Tijmen de Mes | h1. Built-in Applications |
---|---|---|---|
2 | 1 | Tijmen de Mes | |
3 | 1 | Tijmen de Mes | h2. Multiparty Conference |
4 | 1 | Tijmen de Mes | |
5 | 1 | Tijmen de Mes | SylkServer allows SIP end-points to create ad-hoc conference rooms by sending INVITE with SDP content to a random username at the hostname or domain where the server runs. Other participants can then join by sending an INVITE to the same SIP URI used to create the room. |
6 | 1 | Tijmen de Mes | |
7 | 1 | Tijmen de Mes | h2. Supported Media |
8 | 1 | Tijmen de Mes | |
9 | 1 | Tijmen de Mes | The INVITE and subsequent re-INVITE methods may contain one or more media types supported by the server. Each conference room mixed audio, instant messages and uploded files are dispatched to all participants. |
10 | 1 | Tijmen de Mes | |
11 | 1 | Tijmen de Mes | +Audio+ The INVITE must propose a session with RTP (m=audio in SDP). Re-INVITE to add or remove audio to existing session is supported. G722, speex (both in wideband) and G711 codecs are supported. |
12 | 1 | Tijmen de Mes | <pre> |
13 | 1 | Tijmen de Mes | Content-Type: application/sdp |
14 | 1 | Tijmen de Mes | Content-Length: 233 |
15 | 1 | Tijmen de Mes | |
16 | 1 | Tijmen de Mes | v=0 |
17 | 1 | Tijmen de Mes | o=- 3526098545 3526098547 IN IP4 81.23.228.139 |
18 | 1 | Tijmen de Mes | s=SylkServer-1.2.3 |
19 | 1 | Tijmen de Mes | t=0 0 |
20 | 1 | Tijmen de Mes | c=IN IP4 81.23.228.139 |
21 | 1 | Tijmen de Mes | m=audio 55324 RTP/AVP 9 101 |
22 | 1 | Tijmen de Mes | c=IN IP4 85.17.186.7 |
23 | 1 | Tijmen de Mes | a=rtcp:55325 |
24 | 1 | Tijmen de Mes | a=rtpmap:9 G722/8000 |
25 | 1 | Tijmen de Mes | a=rtpmap:101 telephone-event/8000 |
26 | 1 | Tijmen de Mes | a=fmtp:101 0-15 |
27 | 1 | Tijmen de Mes | a=crypto:1 AES_CM_128_HMAC_SHA1_80 inline:1nDEh/WrJ57RBaHwhBG4+RAwzV9k/HxZhg1wClnx |
28 | 1 | Tijmen de Mes | a=sendrecv |
29 | 1 | Tijmen de Mes | </pre> |
30 | 1 | Tijmen de Mes | |
31 | 1 | Tijmen de Mes | +Instant Messaging.+ The INVITE must propose a session with MSRP chat over TLS (m=message and a=path:msrps in the SDP). Re-INVITE to add or remove chat to existing session is supported. Private messaging extension between participants is also supported. |
32 | 1 | Tijmen de Mes | |
33 | 1 | Tijmen de Mes | <pre> |
34 | 1 | Tijmen de Mes | Content-Type: application/sdp |
35 | 1 | Tijmen de Mes | Content-Length: 213 |
36 | 1 | Tijmen de Mes | |
37 | 1 | Tijmen de Mes | v=0 |
38 | 1 | Tijmen de Mes | o=- 3526098545 3526098547 IN IP4 81.23.228.139 |
39 | 1 | Tijmen de Mes | s=SylkServer-1.2.3 |
40 | 1 | Tijmen de Mes | t=0 0 |
41 | 1 | Tijmen de Mes | m=message 60167 TCP/TLS/MSRP * |
42 | 1 | Tijmen de Mes | c=IN IP4 81.23.228.139 |
43 | 1 | Tijmen de Mes | a=path:msrps://81.23.228.139:60167/f8d1058769bebacacf62;tcp |
44 | 1 | Tijmen de Mes | a=accept-types:message/cpim |
45 | 1 | Tijmen de Mes | a=accept-wrapped-types:* |
46 | 1 | Tijmen de Mes | a=setup:passive |
47 | 1 | Tijmen de Mes | a=chatroom:private-messages |
48 | 1 | Tijmen de Mes | </pre> |
49 | 1 | Tijmen de Mes | |
50 | 1 | Tijmen de Mes | +File Transfer+. The INVITE must propose a session with MSRP file transfer media description. Re-INVITE to add a file to existing session is supported. Participants that join later can request the previously uploaded files by using MSRP pull method. |
51 | 1 | Tijmen de Mes | |
52 | 1 | Tijmen de Mes | <pre> |
53 | 1 | Tijmen de Mes | Content-Type: application/sdp |
54 | 1 | Tijmen de Mes | Content-Length: 407 |
55 | 1 | Tijmen de Mes | |
56 | 1 | Tijmen de Mes | v=0 |
57 | 1 | Tijmen de Mes | o=- 3526099467 3526099468 IN IP4 81.23.228.139 |
58 | 1 | Tijmen de Mes | s=SylkServer-1.2.3 |
59 | 1 | Tijmen de Mes | c=IN IP4 81.23.228.139 |
60 | 1 | Tijmen de Mes | t=0 0 |
61 | 1 | Tijmen de Mes | m=message 39084 TCP/TLS/MSRP * |
62 | 1 | Tijmen de Mes | a=path:msrps://81.23.228.139:39084/a06af01b810519fb6090;tcp |
63 | 1 | Tijmen de Mes | a=recvonly |
64 | 1 | Tijmen de Mes | a=accept-types:* |
65 | 1 | Tijmen de Mes | a=accept-wrapped-types:* |
66 | 1 | Tijmen de Mes | a=setup:passive |
67 | 1 | Tijmen de Mes | a=file-selector:name:"Blink.pdf" type:application/pdf size:151036 hash:sha1:49:AD:49:... |
68 | 1 | Tijmen de Mes | </pre> |
69 | 1 | Tijmen de Mes | |
70 | 1 | Tijmen de Mes | +Screen Sharing.+ This functionality is implemented as com.ag-projects.screen-sharing extension to the chatroom functionality. |
71 | 1 | Tijmen de Mes | |
72 | 1 | Tijmen de Mes | <pre> |
73 | 1 | Tijmen de Mes | Content-Type: application/sdp |
74 | 1 | Tijmen de Mes | ... |
75 | 1 | Tijmen de Mes | |
76 | 1 | Tijmen de Mes | m=message 40278 TCP/TLS/MSRP * |
77 | 1 | Tijmen de Mes | a=path:msrps://81.23.228.149:40278/2aa5bbb5d37731ef85c0;tcp |
78 | 1 | Tijmen de Mes | a=accept-types:message/cpim |
79 | 1 | Tijmen de Mes | a=accept-wrapped-types:* |
80 | 1 | Tijmen de Mes | a=setup:passive |
81 | 1 | Tijmen de Mes | a=chatroom:private-messages com.ag-projects.screen-sharing |
82 | 1 | Tijmen de Mes | </pre> |
83 | 1 | Tijmen de Mes | |
84 | 1 | Tijmen de Mes | If the end-point detects and supports this private extension, it can share the screen by pushing at regular intervals a jpeg image with the desktop content over the MSRP chat stream. The image must be encapsulated in a CPIM envelope using content type application/blink-screensharing. Blink SIP client implements this extension. |
85 | 1 | Tijmen de Mes | <pre> |
86 | 1 | Tijmen de Mes | MSRP eea58af6af1b788 SEND |
87 | 1 | Tijmen de Mes | To-Path: msrps://81.23.228.149:41652/a65812de6f6a0725ee1a;tcp |
88 | 1 | Tijmen de Mes | From-Path: msrps://192.168.1.6:2855/e7028b404511ed77d6a2;tcp |
89 | 1 | Tijmen de Mes | Message-ID: 641f9960ded0638d |
90 | 1 | Tijmen de Mes | Byte-Range: 1-*/245347 |
91 | 1 | Tijmen de Mes | Success-Report: yes |
92 | 1 | Tijmen de Mes | Failure-Report: yes |
93 | 1 | Tijmen de Mes | Content-Type: message/cpim |
94 | 1 | Tijmen de Mes | |
95 | 1 | Tijmen de Mes | From: Adrian Georgescu <sip:31208005169@ag-projects.com> |
96 | 1 | Tijmen de Mes | To: <sip:nnauyj@conference.sip2sip.info> |
97 | 1 | Tijmen de Mes | DateTime: 2011-12-22T09:12:04+01:00 |
98 | 1 | Tijmen de Mes | |
99 | 1 | Tijmen de Mes | MIME-Version: 1.0 |
100 | 1 | Tijmen de Mes | Content-Type: application/blink-screensharing |
101 | 1 | Tijmen de Mes | ÿØÿàJFIF ............. |
102 | 1 | Tijmen de Mes | </pre> |
103 | 1 | Tijmen de Mes | The server then makes the screenshot available at a HTTP URL and publishes this URL to all participants using the conference information notification using <agp-conf:screen_image_url> extension. Participants can see the screen using a specialized client or a regular web browser. |
104 | 1 | Tijmen de Mes | |
105 | 1 | Tijmen de Mes | h2. Conference Information |
106 | 1 | Tijmen de Mes | |
107 | 1 | Tijmen de Mes | To obtain the conference information send a SUBSCRIBE request to the room URI for Event conference RFC 4575. The NOTIFY contains detailed information with the list of participants, their connected endpoints, media type and stream status and information about uploaded files. |
108 | 1 | Tijmen de Mes | |
109 | 1 | Tijmen de Mes | Content-Type: application/conference-info+xml |
110 | 1 | Tijmen de Mes | Content-Length: 975 |
111 | 1 | Tijmen de Mes | |
112 | 1 | Tijmen de Mes | <?xml version='1.0' encoding='UTF-8'?> |
113 | 1 | Tijmen de Mes | <conference-info xmlns:agp-conf="urn:ag-projects:xml:ns:conference-info" |
114 | 1 | Tijmen de Mes | xmlns="urn:ietf:params:xml:ns:conference-info" |
115 | 1 | Tijmen de Mes | entity="sip:agp@conference.sip2sip.info" state="full"> |
116 | 1 | Tijmen de Mes | <conference-description> |
117 | 1 | Tijmen de Mes | <display-text>Ad-hoc conference</display-text> |
118 | 1 | Tijmen de Mes | <free-text>Hosted by SylkServer-1.2.3</free-text> |
119 | 1 | Tijmen de Mes | <agp-conf:resources> |
120 | 1 | Tijmen de Mes | <agp-conf:files> |
121 | 1 | Tijmen de Mes | <agp-conf:file name="Blink.pdf" hash="sha1:49:AD:49:...." |
122 | 1 | Tijmen de Mes | size="151036" sender="AG <sip:31208005169@ag-projects.com>" status="OK"/> |
123 | 1 | Tijmen de Mes | </agp-conf:files> |
124 | 1 | Tijmen de Mes | </agp-conf:resources> |
125 | 1 | Tijmen de Mes | </conference-description> |
126 | 1 | Tijmen de Mes | <host-info> |
127 | 1 | Tijmen de Mes | <web-page>http://sylkserver.com</web-page> |
128 | 1 | Tijmen de Mes | </host-info> |
129 | 1 | Tijmen de Mes | <conference-state> |
130 | 1 | Tijmen de Mes | <user-count>1</user-count> |
131 | 1 | Tijmen de Mes | <active>true</active> |
132 | 1 | Tijmen de Mes | </conference-state> |
133 | 1 | Tijmen de Mes | <users state="full"> |
134 | 1 | Tijmen de Mes | <user entity="sip:31208005169@ag-projects.com" state="full"> |
135 | 1 | Tijmen de Mes | <display-text>Adrian Georgescu</display-text> |
136 | 1 | Tijmen de Mes | <agp-conf:screen_image_url>https://81.23.228.146/?image=WfPeNYF195.jpg</agp-conf:screen_image_url> |
137 | 1 | Tijmen de Mes | <endpoint entity="sip:pbvusniw@95.97.50.27:54325" state="full"> |
138 | 1 | Tijmen de Mes | <display-text>Adrian Georgescu</display-text> |
139 | 1 | Tijmen de Mes | <status>connected</status> |
140 | 1 | Tijmen de Mes | <joining-info> |
141 | 1 | Tijmen de Mes | <when>2011-09-27T09:49:05+02:00</when> |
142 | 1 | Tijmen de Mes | </joining-info> |
143 | 1 | Tijmen de Mes | <media id="170092876"><type>message</type></media> |
144 | 1 | Tijmen de Mes | <media id="2977223756"><type>audio</type></media> |
145 | 1 | Tijmen de Mes | </endpoint> |
146 | 1 | Tijmen de Mes | </user> |
147 | 1 | Tijmen de Mes | </users> |
148 | 1 | Tijmen de Mes | </conference-info> |
149 | 1 | Tijmen de Mes | Participant Management |
150 | 1 | Tijmen de Mes | |
151 | 1 | Tijmen de Mes | To add and remove participants, SylkServer supports INVITE and REFER methods as defined in RFC4579 (Conferencing for User Agents). One can remove or add participants by sending a REFER method to the conference URI. |
152 | 1 | Tijmen de Mes | |
153 | 1 | Tijmen de Mes | REFER sip:agp@conference.sip2sip.info SIP/2.0 |
154 | 1 | Tijmen de Mes | Via: SIP/2.0/UDP 10.211.55.2:54325;rport;branch=z9hG4bKPj7PFxy8RLtr20jfVyUx2eis1H7.1aY7Np |
155 | 1 | Tijmen de Mes | Max-Forwards: 70 |
156 | 1 | Tijmen de Mes | From: "Adrian Georgescu" <sip:31208005169@ag-projects.com>;tag=ZtGlJFOgGvwWQEMae6uTpuhT1aREkQeR |
157 | 1 | Tijmen de Mes | To: <sip:agp@conference.sip2sip.info> |
158 | 1 | Tijmen de Mes | Contact: <sip:pbvusniw@192.168.1.6:54325> |
159 | 1 | Tijmen de Mes | Call-ID: rYp1GQbSQ8kFrC1xccpfA5t9GXaR5qwt |
160 | 1 | Tijmen de Mes | CSeq: 6839 REFER |
161 | 1 | Tijmen de Mes | Event: refer |
162 | 1 | Tijmen de Mes | Accept: message/sipfrag;version=2.0 |
163 | 1 | Tijmen de Mes | Allow-Events: conference, message-summary, presence, presence.winfo, xcap-diff, refer |
164 | 1 | Tijmen de Mes | Refer-To: <3333@sip2sip.info>;method=INVITE |
165 | 1 | Tijmen de Mes | Referred-By: sip:31208005169@ag-projects.com |
166 | 1 | Tijmen de Mes | User-Agent: Blink Pro 1.3.1 (MacOSX) |
167 | 1 | Tijmen de Mes | Content-Length: 0 |