telecommunication services engineering lab week #1
TRANSCRIPT
![Page 1: Telecommunication Services Engineering Lab Week #1](https://reader031.vdocuments.net/reader031/viewer/2022021210/62064bbd8c2f7b1730065bd8/html5/thumbnails/1.jpg)
Telecommunication Services Engineering Lab
• Week #1
• (January 4 - 8)
• Current Generation Networks: From 2G to 2.5G
• Week #2
• (January 11-15)
• Value added Services in Current Generation Networks
• Week #3
• (January 18-22)
• Next Generation Network Vision
Roch H. Glitho1
• Session Signaling and Signaling Protocol Specific Architecture
• Week #4
• (January 25 – 39)
• Web Services
• Project specification available
• Week #5
• (February 2 - 6)
• Tools for Value Added Services Engineering (SDS and Web Logic)
• Week #6
• (February 9 - 13) Quiz1
![Page 2: Telecommunication Services Engineering Lab Week #1](https://reader031.vdocuments.net/reader031/viewer/2022021210/62064bbd8c2f7b1730065bd8/html5/thumbnails/2.jpg)
Telecommunication Services Engineering Lab
Roch H. Glitho2
![Page 3: Telecommunication Services Engineering Lab Week #1](https://reader031.vdocuments.net/reader031/viewer/2022021210/62064bbd8c2f7b1730065bd8/html5/thumbnails/3.jpg)
Telecommunication Services Engineering Lab
Roch H. Glitho3
![Page 4: Telecommunication Services Engineering Lab Week #1](https://reader031.vdocuments.net/reader031/viewer/2022021210/62064bbd8c2f7b1730065bd8/html5/thumbnails/4.jpg)
Telecommunication Services Engineering Lab
Outline
1. Introduction
2. Core SIP
3. Selected Extensions
Roch H. Glitho4
![Page 5: Telecommunication Services Engineering Lab Week #1](https://reader031.vdocuments.net/reader031/viewer/2022021210/62064bbd8c2f7b1730065bd8/html5/thumbnails/5.jpg)
Telecommunication Services Engineering Lab
Introduction: Signaling vs Media
Signaling: – Session establishment
– Session tear down
Roch H. Glitho5
– Session tear down
– Changes to the session
– Supplementary services
Media: – Actual communication data: encoded voice stream, video
stream,…
![Page 6: Telecommunication Services Engineering Lab Week #1](https://reader031.vdocuments.net/reader031/viewer/2022021210/62064bbd8c2f7b1730065bd8/html5/thumbnails/6.jpg)
Telecommunication Services Engineering Lab
Introduction: SIP
Signaling Protocols: – SIP and H.323
Media transport protocol: – RTP
Roch H. Glitho6
– RTP
Why SIP?
SIP: Prime signaling system because adopted by all key next generation networks:– 3GPP
– 3GPP2
– PacketCable:
![Page 7: Telecommunication Services Engineering Lab Week #1](https://reader031.vdocuments.net/reader031/viewer/2022021210/62064bbd8c2f7b1730065bd8/html5/thumbnails/7.jpg)
Telecommunication Services Engineering Lab
SIP: Introduction
A set of IETF specifications including:– SIP core signalling:
• RFC 2543, March 1999
• RFC 3261, June 2002 (Obsoletes RFC 2543)
– SIP extensions (e.g. RFC 3265, June 2002 - Event notification)
• May have nothing to do with signalling
Roch H. Glitho7
– IMS related extensions.
– Used in conjunction with other IETF protocols
• QOS related protocol (e.g. RSVP)
• Media transportation related protocol (e.g. RTP - RFC 1889)
• Others (e.g. SDP - RFC 2327)
![Page 8: Telecommunication Services Engineering Lab Week #1](https://reader031.vdocuments.net/reader031/viewer/2022021210/62064bbd8c2f7b1730065bd8/html5/thumbnails/8.jpg)
Telecommunication Services Engineering Lab
Session Initiation Protocol (SIP) - Core
1. Introduction
2. Functional entities
Roch H. Glitho8
3. Messages
4. SDP
5. Examples
![Page 9: Telecommunication Services Engineering Lab Week #1](https://reader031.vdocuments.net/reader031/viewer/2022021210/62064bbd8c2f7b1730065bd8/html5/thumbnails/9.jpg)
Telecommunication Services Engineering Lab
SIP: Introduction
SIP core Signaling– A signalling protocol for the establishment, modification and tear down
of multimedia sessions
– Based on HTTP
A few key features
Roch H. Glitho9
A few key features– Text based protocol
– Client/server protocol (request/response protocol)
![Page 10: Telecommunication Services Engineering Lab Week #1](https://reader031.vdocuments.net/reader031/viewer/2022021210/62064bbd8c2f7b1730065bd8/html5/thumbnails/10.jpg)
Telecommunication Services Engineering Lab
SIP: The Request
Request messages- Methods for setting up and changing sessions
. INVITE
. ACK
. CANCEL
. BYE
- Others
Roch H. Glitho10
- Others
. REGISTER (Registration of contact information)
. OPTIONS (Querying servers about their capabilities)
.
![Page 11: Telecommunication Services Engineering Lab Week #1](https://reader031.vdocuments.net/reader031/viewer/2022021210/62064bbd8c2f7b1730065bd8/html5/thumbnails/11.jpg)
Telecommunication Services Engineering Lab
SIP: The Response
Response message
- Provisional
- Final
Examples of status code
1xx: Provisional
2xx: Success
Roch H. Glitho11
6xx: Global failure
.
![Page 12: Telecommunication Services Engineering Lab Week #1](https://reader031.vdocuments.net/reader031/viewer/2022021210/62064bbd8c2f7b1730065bd8/html5/thumbnails/12.jpg)
Telecommunication Services Engineering Lab
SIP: A basic peer to peer call scenario
INVITE
100 TRYING
180 RINGING
200 OK
CALLER CALLEE
Roch H. Glitho12
200 OK
MEDIA SESSION
ACK
BYE
200 OK
![Page 13: Telecommunication Services Engineering Lab Week #1](https://reader031.vdocuments.net/reader031/viewer/2022021210/62064bbd8c2f7b1730065bd8/html5/thumbnails/13.jpg)
Telecommunication Services Engineering Lab
SIP: The functional entities
User agents- End points, can act as both user agent client and as user agent
server
- User Agent Client: Create new SIP requests
- User Agent Server: Generate responses to SIP requests
Proxy servers
- Application level routers
Roch H. Glitho13
- Application level routers
Redirect servers
- Redirect clients to alternate servers
Registrars
- Keep tracks of users
![Page 14: Telecommunication Services Engineering Lab Week #1](https://reader031.vdocuments.net/reader031/viewer/2022021210/62064bbd8c2f7b1730065bd8/html5/thumbnails/14.jpg)
Telecommunication Services Engineering Lab
SIP: The functional entities
State-full proxy
- Keep track of all transactions between the initiation and the end of a transaction
- Transactions:
- Requests sent by a client along with all the responses sent back by the server to the client
Roch H. Glitho14
Stateless proxy- Fire and forget
![Page 15: Telecommunication Services Engineering Lab Week #1](https://reader031.vdocuments.net/reader031/viewer/2022021210/62064bbd8c2f7b1730065bd8/html5/thumbnails/15.jpg)
Telecommunication Services Engineering Lab
SIP: A call scenario
INVITE (1)
INVITE (2)
INVITE (4)100 TRYING (3)
100 TRYING (5)
180 RINGING (6)
180 RINGING (7)
CALLER PROXY A PROXY B CALLEE
Roch H. Glitho15
180 RINGING (7)
180 RINGING (8) 200 OK (9)
200 OK (10)
200 OK (11)
ACK (12)
MEDIA SESSION
BYE (13)
200 OK (14)
![Page 16: Telecommunication Services Engineering Lab Week #1](https://reader031.vdocuments.net/reader031/viewer/2022021210/62064bbd8c2f7b1730065bd8/html5/thumbnails/16.jpg)
Telecommunication Services Engineering Lab
SIP: The messages
Generic structure- Start-line
- Header field(s)
- Optional message body
Request message
- Request line as start line. Method name
Roch H. Glitho16
. Method name
. Request URI
. Protocol version
Response message
- Status line as start line
. Protocol version
. Status code
. Reason phrase (Textual description of the code)
![Page 17: Telecommunication Services Engineering Lab Week #1](https://reader031.vdocuments.net/reader031/viewer/2022021210/62064bbd8c2f7b1730065bd8/html5/thumbnails/17.jpg)
Telecommunication Services Engineering Lab
SIP: Examples of messages from the RFC
An example of an INVITE
INVITE sip:[email protected] SIP/2.0
Via: SIP/2.0/UDP pc33.atlanta.com;branch=z9hG4bK776asdhds
Max-Forwards: 70
To: Bob <sip:[email protected]>
From: Alice <sip:[email protected]>;tag=1928301774
Roch H. Glitho17
From: Alice <sip:[email protected]>;tag=1928301774
Call-ID: [email protected]
CSeq: 314159 INVITE
Contact: <sip:[email protected]>
Content-Type: application/sdp
Content-Length: 142
![Page 18: Telecommunication Services Engineering Lab Week #1](https://reader031.vdocuments.net/reader031/viewer/2022021210/62064bbd8c2f7b1730065bd8/html5/thumbnails/18.jpg)
Telecommunication Services Engineering Lab
SIP: Examples of messages from the RFC
An example of RESPONSE to the OPTIONS request
SIP/2.0 200 OK
Via: SIP/2.0/UDP pc33.atlanta.com;branch=z9hG4bKhjhs8ass877
;received=192.0.2.4
To: <sip:[email protected]>;tag=93810874
From: Alice <sip:[email protected]>;tag=1928301774
Call-ID: a84b4c76e66710
Roch H. Glitho18
Call-ID: a84b4c76e66710
CSeq: 63104 OPTIONS
Contact: <sip:[email protected]>
Contact: <mailto:[email protected]>
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE
Accept: application/sdp
Accept-Encoding: gzip
Accept-Language: en
Supported: foo
Content-Type: application/sdp
![Page 19: Telecommunication Services Engineering Lab Week #1](https://reader031.vdocuments.net/reader031/viewer/2022021210/62064bbd8c2f7b1730065bd8/html5/thumbnails/19.jpg)
Telecommunication Services Engineering Lab
SDPSession Description Protocol
- Convey the information necessary to allow a party to join a multimedia session
Session related information
Media related information
- Text based protocol
Roch H. Glitho19
- No specified transport
- Messages are embedded in the messages of the protocol used for the session
- Session Announcement Protocol (SAP)
- Session Initiation Protocol (SIP)
![Page 20: Telecommunication Services Engineering Lab Week #1](https://reader031.vdocuments.net/reader031/viewer/2022021210/62064bbd8c2f7b1730065bd8/html5/thumbnails/20.jpg)
Telecommunication Services Engineering Lab
SDP
Session Description Protocol
Use with SIP
- Negotiation follows offer / response model
- Message put in the body of pertinent SIP messagesINVITE Request / response
OPTIONS Request / response
Roch H. Glitho20
OPTIONS Request / response
.
![Page 21: Telecommunication Services Engineering Lab Week #1](https://reader031.vdocuments.net/reader031/viewer/2022021210/62064bbd8c2f7b1730065bd8/html5/thumbnails/21.jpg)
Telecommunication Services Engineering Lab
SDPSession Description Protocol
- <Type> = <Value>
- Some examples
Session related
v= (protocol version)
s= (Session name)
Media related
Roch H. Glitho21
Media related
m= (media name and transport address)
b= (bandwidth information)
.
![Page 22: Telecommunication Services Engineering Lab Week #1](https://reader031.vdocuments.net/reader031/viewer/2022021210/62064bbd8c2f7b1730065bd8/html5/thumbnails/22.jpg)
Telecommunication Services Engineering Lab
SDP: Examples of messages from the RFC …Session Description Protocol
An example from the RFC …
v=0
o=mhandley 2890844526 2890842807 IN IP4 126.16.64.4
s=SDP Seminar
i=A Seminar on the session description protocol
u=http://www.cs.ucl.ac.uk/staff/M.Handley/sdp.03.ps
Roch H. Glitho22
u=http://www.cs.ucl.ac.uk/staff/M.Handley/sdp.03.ps
[email protected] (Mark Handley)
c=IN IP4 224.2.17.12/127
t=2873397496 2873404696
a=recvonly
m=audio 49170 RTP/AVP 0
m=video 51372 RTP/AVP 31
m=application 32416 udp wb
a=orient:portrait
![Page 23: Telecommunication Services Engineering Lab Week #1](https://reader031.vdocuments.net/reader031/viewer/2022021210/62064bbd8c2f7b1730065bd8/html5/thumbnails/23.jpg)
Telecommunication Services Engineering Lab
SIP – Selected Extensions
1. Event framework
2. INFO method
Roch H. Glitho23
![Page 24: Telecommunication Services Engineering Lab Week #1](https://reader031.vdocuments.net/reader031/viewer/2022021210/62064bbd8c2f7b1730065bd8/html5/thumbnails/24.jpg)
Telecommunication Services Engineering Lab
Event Notification
Motivation
- Necessity for a node to be asynchronously notified of happening (s) in other nodes
- Busy / not busy (SIP phones)
- A client A can call again a client B when notified that B is now not busy
- On-line / Off-line
- Buddy list
Roch H. Glitho24
- Buddy list
![Page 25: Telecommunication Services Engineering Lab Week #1](https://reader031.vdocuments.net/reader031/viewer/2022021210/62064bbd8c2f7b1730065bd8/html5/thumbnails/25.jpg)
Telecommunication Services Engineering Lab
Event Notification
Conceptual framework
Requestor Provider
Subscribe (specific event(s))
Notify (specific event)
Roch H. Glitho25.
Notify (specific event)
Notify (specific event)
Notify (specific event)
Un-subscribe (specific event(s))
![Page 26: Telecommunication Services Engineering Lab Week #1](https://reader031.vdocuments.net/reader031/viewer/2022021210/62064bbd8c2f7b1730065bd8/html5/thumbnails/26.jpg)
Telecommunication Services Engineering Lab
Event Notification
The SIP Event Notification Framework
- Terminology
- Event package:
- Events a node can report
- Not part of the framework – Part of other RFCs
- Subscriber
- Notifier
Roch H. Glitho26
- Notifier
- New Messages
- Subscribe
- Need to be refreshed
- Used as well for un-subscribing (expiry value put to zero)
- Notify
![Page 27: Telecommunication Services Engineering Lab Week #1](https://reader031.vdocuments.net/reader031/viewer/2022021210/62064bbd8c2f7b1730065bd8/html5/thumbnails/27.jpg)
Telecommunication Services Engineering Lab
Event Notification
The SIP Event Notification Framework
- More on the methods
- New headers
- Event
- Allow-Events
- Subscription state
Roch H. Glitho27.
![Page 28: Telecommunication Services Engineering Lab Week #1](https://reader031.vdocuments.net/reader031/viewer/2022021210/62064bbd8c2f7b1730065bd8/html5/thumbnails/28.jpg)
Telecommunication Services Engineering Lab
Event Notification
An example of use: REFER Method
- Recipient should contact a third party using the URI provided in the CONTACT field
- Call transfer
- Third party call control
- Handled as Subscribe / notify
- REFER request is considered an implicit subscription to REFER event
Roch H. Glitho28
- REFER request is considered an implicit subscription to REFER event
- Refer-TO: URI to be contacted
- Expiry determined by recipient and communicated to sender in the first NOTIFY
- Recipient needs to inform sender of the success / failure in contacting the third party
![Page 29: Telecommunication Services Engineering Lab Week #1](https://reader031.vdocuments.net/reader031/viewer/2022021210/62064bbd8c2f7b1730065bd8/html5/thumbnails/29.jpg)
Telecommunication Services Engineering Lab
Event Notification
Another example of use: Presence
- Dissemination/consumption of presence information (e.g. on/off, willingness to communicate, device capabilities, preferences)
- Numerous applications
- Multiparty sessions initiated when a quorum is on-line
- News adapted to device capabilities
- Several standards including SIMPLE (SIP based)
Roch H. Glitho29
- Several standards including SIMPLE (SIP based)
- Handled as Subscribe / notify in SIMPLE
- Watchers / presentities
- Explicit subscriptions
- Explicit notifications
![Page 30: Telecommunication Services Engineering Lab Week #1](https://reader031.vdocuments.net/reader031/viewer/2022021210/62064bbd8c2f7b1730065bd8/html5/thumbnails/30.jpg)
Telecommunication Services Engineering Lab
INFO Method
Allow the exchange of non signalling related information during a SIP dialog
- Semantic defined at application level
- Mid-call signalling information
- DTMF digits with SIP phones
- Info carried as
- Headers and/or
Roch H. Glitho30
- Headers and/or
- Message body
![Page 31: Telecommunication Services Engineering Lab Week #1](https://reader031.vdocuments.net/reader031/viewer/2022021210/62064bbd8c2f7b1730065bd8/html5/thumbnails/31.jpg)
Telecommunication Services Engineering Lab
ReferencesCore SIP• SIP core signalling:
• H. Schulzrinne, an J. Rosenberg, SIP: Internet Centric Signaling, IEEE Communications Magazine, October 2000
• RFC 3261, June 2002 (Obsoletes RFC 2543)
• RFC 2327 (SDP)
SIP extensionsNo overview paper
- RFC 3265, 3515 (Event framework)
Roch H. Glitho31
- RFC 3265, 3515 (Event framework)
- RFC 2976 (INFO Method)
![Page 32: Telecommunication Services Engineering Lab Week #1](https://reader031.vdocuments.net/reader031/viewer/2022021210/62064bbd8c2f7b1730065bd8/html5/thumbnails/32.jpg)
Telecommunication Services Engineering Lab
Roch H. Glitho32
![Page 33: Telecommunication Services Engineering Lab Week #1](https://reader031.vdocuments.net/reader031/viewer/2022021210/62064bbd8c2f7b1730065bd8/html5/thumbnails/33.jpg)
Telecommunication Services Engineering Lab
SIP Specific Value Added Service Technologies
1. Introduction: SIP specific architectures vs protocol neutral architectures
2. SIP CGI
3. SIP servlet API
Roch H. Glitho33
![Page 34: Telecommunication Services Engineering Lab Week #1](https://reader031.vdocuments.net/reader031/viewer/2022021210/62064bbd8c2f7b1730065bd8/html5/thumbnails/34.jpg)
Telecommunication Services Engineering Lab
Introduction: SIP specific architectures
• Servers built using SIP specific architectures act as redirect servers, proxy servers, originating user agents, terminating user agents, or back-to-back user agents.
• They have SIP signaling capabilities and are directly involved in
Roch H. Glitho34
• They have SIP signaling capabilities and are directly involved in the call’s signaling flow.
• Implementation techniques: SIP CGI, SIP Servlet
![Page 35: Telecommunication Services Engineering Lab Week #1](https://reader031.vdocuments.net/reader031/viewer/2022021210/62064bbd8c2f7b1730065bd8/html5/thumbnails/35.jpg)
Telecommunication Services Engineering Lab
Introduction: Protocol neutral architectures
• Servers built using protocol neutral architectures can provide the same services as the SIP application server, but are:
– signaling independent (i.e. could be used with any signaling protocol).
– Are not directly involved in the SIP calls’ signaling flow.
• Examples of APIs: TAPI, TSAPI, JTAPI, Parlay and Web services/Parlay X
Roch H. Glitho35
services/Parlay X– Focus of this lecture: SIP specific value added services technologies (i.e. SIP
application servers)
– Web services / Parlay-X will be discussed in another lecture
![Page 36: Telecommunication Services Engineering Lab Week #1](https://reader031.vdocuments.net/reader031/viewer/2022021210/62064bbd8c2f7b1730065bd8/html5/thumbnails/36.jpg)
Telecommunication Services Engineering Lab
SIP CGI
Roch H. Glitho36
Key features
– Inspired by HTTP CGI
– The server passes the message body to the script through its
standard input
– Services are written as CGI scripts
![Page 37: Telecommunication Services Engineering Lab Week #1](https://reader031.vdocuments.net/reader031/viewer/2022021210/62064bbd8c2f7b1730065bd8/html5/thumbnails/37.jpg)
Telecommunication Services Engineering Lab
SIP CGI : shortcomings
• Difficult to program
• Require a deep understanding of SIP protocol
Roch H. Glitho37
![Page 38: Telecommunication Services Engineering Lab Week #1](https://reader031.vdocuments.net/reader031/viewer/2022021210/62064bbd8c2f7b1730065bd8/html5/thumbnails/38.jpg)
Telecommunication Services Engineering Lab
SIP Servlet: Introduction
Key features
– Signalling protocol specific (I.e. applicable to SIP only)
– Prime target: trusted parties
• Service providers
• Third party developers
– Very few constraints on what can be done
Roch H. Glitho38
– Very few constraints on what can be done
– Reliance on HTTP servlet API
• HTTP servlet API is widely used in the Internet world
– A tool which relies on it should attract many users including Web
masters.
– A wide range of developers should favour the development of cool
and brand new services
.
![Page 39: Telecommunication Services Engineering Lab Week #1](https://reader031.vdocuments.net/reader031/viewer/2022021210/62064bbd8c2f7b1730065bd8/html5/thumbnails/39.jpg)
Telecommunication Services Engineering Lab
HTTP servlet API ...
Creation of dynamic Web content
• Servlet
– Java component
– Generate content on the fly, just like HTTP CGI
• interface between HTTP request and data bases
Roch H. Glitho39
• interface between HTTP request and data bases
• Forms
• Dynamic information (e.g. date, number of visitors)
![Page 40: Telecommunication Services Engineering Lab Week #1](https://reader031.vdocuments.net/reader031/viewer/2022021210/62064bbd8c2f7b1730065bd8/html5/thumbnails/40.jpg)
Telecommunication Services Engineering Lab
HTTP servlet API ...
Servlet container (also know as servlet engine)
• Servlet container (or servlet engine)
– Contains the servlets
– Manage the servlets through their life cycle
Roch H. Glitho40
– Manage the servlets through their life cycle
• Creation
• Initialisation
• Destruction
• Receives and decodes of HTTP requests
• Encodes and sends of HTTP responses
![Page 41: Telecommunication Services Engineering Lab Week #1](https://reader031.vdocuments.net/reader031/viewer/2022021210/62064bbd8c2f7b1730065bd8/html5/thumbnails/41.jpg)
Telecommunication Services Engineering Lab
HTTP servlet API ...
Pros
Address most HTTP CGI shortcomings
- Performance
- Can keep data base connections open
Roch H. Glitho41
- Can keep data base connections open
- Scalability
- Servlet containers can be accessed remotely
Cons
• Language dependence
![Page 42: Telecommunication Services Engineering Lab Week #1](https://reader031.vdocuments.net/reader031/viewer/2022021210/62064bbd8c2f7b1730065bd8/html5/thumbnails/42.jpg)
Telecommunication Services Engineering Lab
SIP servlet API...
Adjustments made to HTTP servlet:
• Initiate requests
– Needed for some services
• wake up call
• Receive both requests and responses
Roch H. Glitho42
• Receive both requests and responses
– Needed for some services
• Terminating services (e.g. call forward on busy)
• Possibility to generate multiple responses
• Intermediary responses, then final response
• Proxying requests, possibly to multiple destinations
– Needed for applications such as intelligent routing
.
![Page 43: Telecommunication Services Engineering Lab Week #1](https://reader031.vdocuments.net/reader031/viewer/2022021210/62064bbd8c2f7b1730065bd8/html5/thumbnails/43.jpg)
Telecommunication Services Engineering Lab
SIP Servlet container ...
servletservlet
A container collocated with a proxy server
Roch H. Glitho43
Servlet Container
SIP Proxy Serverrequests
responses
requests
responses
![Page 44: Telecommunication Services Engineering Lab Week #1](https://reader031.vdocuments.net/reader031/viewer/2022021210/62064bbd8c2f7b1730065bd8/html5/thumbnails/44.jpg)
Telecommunication Services Engineering Lab
SIP servlet Request interface ...
SIP specific Request handling methods (Based on both core SIP and SIP extensions):
• doInvite
• doAck
• doOptions
• doBye
Roch H. Glitho44
• doBye
• doCancel
• doRegister
• doSubscribe
• doNotify
• doMessage
• doInfo
![Page 45: Telecommunication Services Engineering Lab Week #1](https://reader031.vdocuments.net/reader031/viewer/2022021210/62064bbd8c2f7b1730065bd8/html5/thumbnails/45.jpg)
Telecommunication Services Engineering Lab
SIP servlet Response interface ...
SIP specific Response handling methods (Based on both core SIP and SIP extensions):
• doProvisionalResponse
• doSuccessResponse
Roch H. Glitho45
• doSuccessResponse
• doRedirectResponse
• doErrorResponse
![Page 46: Telecommunication Services Engineering Lab Week #1](https://reader031.vdocuments.net/reader031/viewer/2022021210/62064bbd8c2f7b1730065bd8/html5/thumbnails/46.jpg)
Telecommunication Services Engineering Lab
An example of service:
Algorithm for call forward
– Get the destination from the SIP request
• Done by retrieving the To_Field by using the GetHeaders
– Obtain the forwarding address from a data base
– Forward the call
• Done by setting the Request_URI (and not the To_field) using the
Roch H. Glitho46
• Done by setting the Request_URI (and not the To_field) using the
setHeader
.
![Page 47: Telecommunication Services Engineering Lab Week #1](https://reader031.vdocuments.net/reader031/viewer/2022021210/62064bbd8c2f7b1730065bd8/html5/thumbnails/47.jpg)
Telecommunication Services Engineering Lab
Another example:
Algorithm for a centralized dial-out conference
Assumptions
– INVITE is used
– URIs of participants are put in the INVITE body
Roch H. Glitho47
Agorithm used in servlet:
• Use GetContent to get the participant’s URIs from INVITE
Request
• Use doINVITE to generate and send an INVITE to each
participant.
.
![Page 48: Telecommunication Services Engineering Lab Week #1](https://reader031.vdocuments.net/reader031/viewer/2022021210/62064bbd8c2f7b1730065bd8/html5/thumbnails/48.jpg)
Telecommunication Services Engineering Lab
Example
.
public class RegistrarServlet extends SipServlet{
protected void doRegister(SipServletRequest request) throws ServletException, IOException {
SipServletResponse response = request.createResponse(200);
response.send();logger.log(Level.FINE, "Sent 200 response.");
} catch(Exception e) {
Roch H. Glitho48
response.setStatus(500);response.send();
}
}
![Page 49: Telecommunication Services Engineering Lab Week #1](https://reader031.vdocuments.net/reader031/viewer/2022021210/62064bbd8c2f7b1730065bd8/html5/thumbnails/49.jpg)
Telecommunication Services Engineering Lab
Pros and cons
Pros
– Possibility of creating a wide range of services due to the full access
to all the fields from the SIP Request
– More performance and more scalability
– Possibility to create services that combine both HTTP and SIP
Cons:
Roch H. Glitho49
Cons:
– SIP Servlet is not exactly the same thing as HTTP Servlet
– Language dependence
.
![Page 50: Telecommunication Services Engineering Lab Week #1](https://reader031.vdocuments.net/reader031/viewer/2022021210/62064bbd8c2f7b1730065bd8/html5/thumbnails/50.jpg)
Telecommunication Services Engineering Lab
References
– R.H. Glitho, “Advanced Services Architectures for Internet Telephony:
A Critical Overview,” IEEE Network, July 2000, pp. 38–44.
– Hechmi Khlifi, Jean-Charles Grégoire: IMS Application Servers: Roles, Requirements, and Implementation Technologies. IEEE
Roch H. Glitho50
Roles, Requirements, and Implementation Technologies. IEEE Internet Computing 12(3): 40-51 (2008)