Views 
   PDF Download PDF Downloads: 997

 Open Access -   Download full article: 

An Optimized Call Routing Technique Using Session Initiation Protocol

B. Vijaya Babu¹, M. Surendra Prasad Babu and P. Sunitha

¹Department of IST, KLCE, Vaddeswaram - 522 502 (India)

²Department of CS & SE, College of Engineering, Andhra University, Visakhapatnam (India)

³Department of CSE, PVPSIT, Vijayawada - 520 010 (India)

Article Publishing History
Article Received on :
Article Accepted on :
Article Published :
Article Metrics
ABSTRACT:

Revolutionary changes took place in the modern communication world. Mobiles and internet have changed the way people communicate with each other. Nowadays every busy person has many devices for communicating with others such as a mobile phone, a telephone and a PC at his home, a telephone and a PC at his office etc. People call using a telephone or PC to communicate with that particular user according to their convenience (using the device which is along with them). But the user may not be present at that particular device. Hence the user may have to loose some calls. Those calls may be very important or urgent calls. This paper ICR aims to solve the above problem. In order to avoid this problem we should route the call to the current user location irrespective of the device used by the other user. We check the current location of the user and route the call to that location. For this we maintain a schedule for every user in the database provided in the server of the service provider. Whenever call comes to a particular user it checks the schedule of that user, finds his location and routes the call to that location. Hence this application can also be called as Schedule Based Calling. For implementation of this application we require a protocol which works for all the devices in order to create a session between any two different devices. Hence we use Session Initiation Protocol (SIP). Session Initiation Protocol is an application layer control signaling protocol used to create (initiate), modify and terminate sessions. Session represents the type of data transfer between two devices such as audio, video etc. SIP only initiates, modifies and terminates sessions. It does not provide any information about data transfer. Data transfer is done using other protocols such as RTP, RTSP etc. type of session is defined by Session Description Protocol (SDP).

KEYWORDS: Session Initiation Protocol(SIP); Intelligent call routing; H.323; user agent client; user agent server; HTTP; Proxy sever; MGCP; PSTN; forking

Copy the following to cite this article:

Babu B. V, Babu M. S. P, Sunitha P. An Optimized Call Routing Technique Using Session Initiation Protocol. Orient. J. Comp. Sci. and Technol;1(1)


Copy the following to cite this URL:

Babu B. V, Babu M. S. P, Sunitha P. An Optimized Call Routing Technique Using Session Initiation Protocol. Orient. J. Comp. Sci. and Technol;1(1). Available from: http://www.computerscijournal.org/?p=2028


Introduction

ICR is implemented by maintaining a schedule in the server of the service provider. A database has to be maintained by the service provider inorder to load the schedules of its customers. Whenever a call reaches the proxy server, the server checks the database and routes the call to the location specified in the schedule of the user. The user can access the website of the service provider to change his schedule. For this every user can be given a username and password at the time of registration inorder to access the schedule. For maintaining the schedules we may use any type of database such as Oracle or MS Access etc. For greater security we can use Oracle.

Why only SIP? (Related Protocols Compared)

Admittedly, SIP is hardly the only protocol in the VoIP space. Two others that are closely related to SIP are – H.323 and MGCP (We group IPDC, SGCP, Megaco, and H.248 together with MGCP for purposes of this discussion).

In this application, MGCP “competes” with SIP in the sense that instead of MGCP, SIP could have been placed in the phone. There is a substantial difference in these two approaches. The MGCP

approach assumes the phone is nothing more than a dumb black phone with the standard twelve buttons.

Comparison of SIP and H.323
H.323 was originally designed for video conferencing and LAN telephony, whereas SIP is designed for multimedia Internet communication. The advantage of SIP is that it is backed by IETF, one of the most important standards bodies, while the advantage of H.323 is that it has a much larger piece of the current market.

  • H.323 defines hundreds of elements, while SIP has only 37 headers, each with a small number of values and parameters.
  • H.323 uses a binary representation for its messages, which is based on ASN.1, while SIP encodes its messages as text, similar to HTTP.
  • H.323 is not very scalable as it was designed for use on a single LAN and has some problems in scaling.
  • H.323 is limited when performing loop detection in complex multi-domain searches.
  • On the other hand, SIP uses a loop detection method by checking the history of the message in the header fields.

Overview of SIP functionality

SIP is an application-layer control protocol that can establish, modify, and terminate multimedia sessions such as Internet telephony calls. SIP can
also invite participants to already existing sessions, such as multicast conferences. Media can be added to or removed from an existing session. SIP
transparently supports name mapping and redirection services, which supports personal mobility – users can maintain a single externally visible identifier regardless of their network location. SIP supports five facets of establishing and terminating multimedia communications:

User location
Determination of the end system to be used for communication;

User availability

Determination of the willingness of the called party to engage in communications;

User capabilities

Determination of the media and media parameters to be used;

Session setup

“Ringing”, establishment of session parameters at both called and calling party;

Session management

Including transfer and termination of sessions, modifying session parameters, and invoking services.

ICR Call Flow
Request methods
Invite

The INVITE method is used by a user agent client that desires to initiate a session, session examples include, audio, video, or a game. The INVITE request asks a server to establish a session. This request may be forwarded by proxies, eventually arriving at one or more UAS’s that can potentially accept the invitation.

ACK

An ACK is used to acknowledge the successful receipt of a message in a transaction. It is also used to illustrate the successful setup of a dialog via the three-way handshake between an UAC and an UAS for an Invite transaction.BYE
The BYE request is used to terminate a specific session or attempted session. When a BYE is received on a dialog, any session associated with that dialog SHOULD terminate.

Options

The OPTIONS method allows a User Agent to query another User Agent or a proxy server as to its capabilities. This allows a client to discover information about the supported methods, content types, extensions, codecs, etc. without “ringing” the other party

Register

The REGISTER method requests the addition, removal, and query of bindings. A REGISTER request can add a new binding between an address-of-record and one or more contact addresses.

Message

Message is an extension method that allows the transfer of instant messages. The MESSAGE request inherits all the request routing and security features of SIP. MESSAGE requests carry the content in the form of MIME body parts.

Responses
SIP responses are distinguished from requests by having a status-line as their start-line. A Status-Line consists of the protocol version followed by a numeric Status-Code and its associated textual phrase, with each element separated by a single SP character. The Status- Code is a 3-digit integer result code that indicates the outcome of an attempt to understand and satisfy a request. The Reason-Phrase is intended to give a short textual description of the Status-Code.

Trying

This response indicates that the request has been received by the next-hop server and that some unspecified action is being taken on behalf of this call. This response, like all other provisional responses, stops retransmissions of an INVITE by a UAC.

Ringing

The User Agent receiving the INVITE is trying to alert the user. This response MAY be used to initiate local ring back.

Table 1

Table 1



Click here to View table

 

OK

The request has succeeded. The information returned with the response depends on the method used in the request.

User agent application

Here we are assuming 2 user agents of which one is the caller (User Agent Client) and the other as collie (User Agent Server), and the communication is point to point communication between them. And there is no proxy in between the User Agents.

The UserAgentClient (UAC) will start the session with an INVITE packet to the UserAgentServer (UAS) then the UAS responds
with 100 TRYING if the UAS is available otherwise the UAC waits for some time and retransmit the same INVITE packet. After some retransmits of the INVITE packet it will be assumed that the UAS is not available.

Once the UAS got the INVITE packet immediately it sends 100 TRYING response and process the request. After processing the request and if the UAS willing to communicate with the UAC then sends 180 RINGING response and 200 OK response.

Once the 200 OK response reaches to UAC the UAC will process it and sends an ACK Request packet to the UAS. From then the actual Media Stream starts. The Media Stream will be described as in SDP (Session Description Protocol). After the communication if either the User Agents want to end their session the User Agent will sends a BYE Request packet to the other user agent. Once the ACK packet reaches to the other side the User
Agent will process it and sends a 200OK response to the request. Then the session terminates.

Proxy server application
This is the heart of our application as the application runs in this stage. Whenever an invite request comes here the proxy has to find the
location of the user from the schedule present in the database. After finding the location it sends the request to the current location of the user. In the above User Agent Applicaton the UAS and UAC will communicate as a simple case of SIP. But there will be a number of hops in between two end users.
The hops are proxy servers. In the Proxy server application the end users will send the requests and responses to the proxy and the proxy will process the requests and responses and forward those to the respected end users. The behavior of the Proxy as follows.

SIP proxies are elements that route SIP requests to user agent servers and SIP responses to user agent clients. A request may traverse several proxies on its way to a UAS. Each will make routing decisions, modifying the request before forwarding it to the next element. Responses will route through the same set of proxies traversed by the request in the reverse order.

Redirect server application

In some architecture it may be desirable to reduce the processing load on proxy servers that are responsible for routing requests, and improve signaling path robustness, by relying on redirection. Redirection allows servers to push routing information for a request back in a response to the client, thereby taking themselves out of the loop of further messaging for this transaction while still aiding in locating the target of the request. When the originator of the request receives the redirection, it will send a new request based on the URI(s) it has received. By propagating URIs from the core of the network to its edges, redirection allows for considerable network scalability. A redirect server.

Fig. 1: Response diagram between SIP User agent client & Sever

Figure 1: Response diagram between SIP User
agent client & Sever



Click here to View figure

 

is logically constituted of a server transaction layer and a transaction user that has access to a location service of some kind.

A redirect server does not issue any SIP requests of its own. After receiving a request other than CANCEL, the server either refuses the request or
gathers the list of alternative locations from the location service and returns a final response of class 3xx. For well-formed CANCEL requests, it SHOULD
return a 2xx response.

This response ends the SIP transaction. The redirect server maintains transaction state for an entire SIP transaction. It is the responsibility of clients to
detect forwarding loops between redirect servers.

Fig. 2: Response diagram between SIP User agent client & server

Figure 2: Response diagram between SIP User agent client & server



Click here to View figure

 

Forking proxy application

In the Forking application the proxy will send the request to multiple UASs. The UAS will subscribe to this service and will provide UAS’s
contact information. The contact information consists of multiple addresses like SIP User Agent System, Mobile, and PDA kind of things. If INVITE
Request comes to the UAS then the Forking Proxy will send the Request to all the contact addresses of the UAS.

The Forking is of two kinds. One is Simultaneous Forking in which the forwarding of the Request to the UAS will be done simultaneously, and the second one is Serial in which the Forking will be serially to all the contact addresses of the UAS. And the signaling will be establish between the UAC and the UAS contact address where from the response comes first. The Forking Proxy will drop all the remaining signals.

Fig. 3: Diagram for Simultaneous forking

Figure 3: Diagram for Simultaneous forking 



Click here to View figure

 

Fig. 4: Diagram for serial forking

Figure 4: Diagram for serial forking 



Click here to View figure

 

Conclusion

The ICR consults user profiles to determine each user’s authorized calling privileges and required quality of service when deciding to route a call over an intranet (lower price, lower quality) or the PSTN (high quality, high price). Routing decisions are made dynamically to bypass failures, limited network resources, and congestion points in the network as they occur. Regardless of whether the voice communication solution is made up of analog, digital, or IP telephony, the ICR performs call routing intelligently across the network seamlessly and transparently to users.

Benefits summary

  • Real-time, mixed media routing environment. Intelligently routed calls to the edge, branch, and mobile worker via any network technology.
  • Cost savings from routing calls cost effectively and efficiently.
  • Increased customer satisfaction and user productivity.
  • Extended life for existing media.
  • Intelligent call routing provides automatic route selection using any network

References

  1. www.mutare.com
  2. www.rostrvm.com
  3. www.voip-news.com
  4. www.quintum.com
  5. www.abptech.com
  6. B.Vijaya Babu, M.Surendra Prasad babu,Ch.Supriya . An Optimized Call Routing Technique using Session Initiation Protocol. In the proceedings of National Conference on Advanced Computing Technologies-2008, NCACT-08, Perambalur,Tamilnadu,India.

Creative Commons License
This work is licensed under a Creative Commons Attribution 4.0 International License.