Many have seen the call flow shown that popularized the notion that SIP is a simple protocol. It is the one shown in Figure 1.
A B
INVITE -->
Figure 1
But, this is hardly the typical call flow. In order to establish a basic call between two entities, provisional responses are necessary. Further, it is necesary that those responses be reliable. A typical call between two endpoints looks like Figure 2.
A B
INVITE -->
Figure 2
That suddenly looks more comlex. All of these extra mesages exist only so that a device can place a call from A to B, just like in Figure 1. No new functionality was added: it merely guaranteed that messaages get delivered.
But, how many useful phones do you know that live in isolation? None, of course. Phones rely on various devices in the network like SBCs and SIP proxy devices in order to get a call from point A to B. Consider the addition of a single SIP proxy: an important device that is necesary in order to help endpoints (or "user agents") to establish a call between themselves. Refer to Figure 3.
A Proxy B
INVITE -->
PRACK -->
PRACK -->
ACK -->
Figure 3
This is generally the minimum level of complexity required to get a basic voice call working in an operating network. What is not shown here, though, are the message elements (details), SDP signaling and offer/answer model interactions that often lead to even more complex flows and interoperability issues.
An organization called 3GPP has defined a technology called IMS, which secifies the use of multiple proxies. In fact, to place a call between two endpoints, there may be as many as five proxies in the signaling path between two endpoints. Just imagine how many message have to be transmitted on the wire in order to establish a basic call in such an environment! (We don't even want to draw it on a web page, but we do have a sample presentation showing an IMS flow.)
Perhaps what is most frustrating is the failure of the most basic call. If device A happens to only offer a codec the other device does not support, the call fails! See Figure 4 for an example.
A B
INVITE (G.729, G.723) -->
(Now what?)
Figure 5
In this flow, the caller did not offer a codec, which is legal and is referred to as "delayed offer". The answering device return a 200 with a proposed codec that the caller does not understand. So, the call is up, but nobody can communicate.
In short, SIP call flows are hardly simple. Real-world call flows are very complex—much more complex than these—and interoperability problems abound. Here, we did not even get into the contents of these various messages. Loss of a message results in delay in establishing the call, there is risk of media clipping, risk of call failure for basic reasons, and no end of troubleshooting this complex network.
分享到:
相关推荐
SIP Call Flow Examples,SIP Call Flow Examples
详细的SIP 话务流程 详解,全部取自于Cisco SIP IP Phone 实例分析。
SIP(Session Initiation Protocol,会话初始协议)是由IETF(Internet Engineering Task Force,因特网工程任务组)制定的多媒体通信协议。 它是一个基于文本的应用层控制协议,用于创建、修改和释放一个或多个参与...
Call transfer in SIP
The use of Uniform Resource Identifiers (URIs) in conferencing, OPTIONS for capabilities discovery, and call control using REFER are covered in detail with example call flow diagrams. The usage of ...
IMS call flow, 详细的 SIP 调用解释
sip flow 动画流程,基础性的说明
lucent公司讲义,详细描述了SIp 以及SDP的流程及应用
These SDKs allow developers and Service Provider, OEM or Enterprise clients to create customized SIP-based VoIP applications, likes SIP Softphone, SIP base IVR system. Typically, customers that ...
IMS注册及CALL SIP信令分析
SIP_CallOut.zip ip电话demo。
转载网络上的,由于http://blog.csdn.net/liaoxinmeng/article/details/6949351 无图不方便,找齐图片版的(但仍然感谢)。还有 http://blog.sina.com.cn/s/blog_4b839a1b010092tl.html 感谢以上...在此借花献佛了。
10.2 SIP Call with Stateless and Stateful Proxies with Called Party Busy 214 10.3 SIP to PSTN Call Through Gateway 218 10.4 PSTN to SIP Call Through Gateway 222 xiv SIP: Understanding the Session ...
sngrep:Ncurses SIP消息流查看器
调用流序列图生成器是awk和shell脚本的集合,这些脚本将获取一个数据包捕获文件,该文件可以由wirehark读取并生成时间序列图。 这对于查看和调试SIP呼叫流或其他网络流量很有用
miniSIPserver 服务器软件,可搭软电话终端,简单好用。 VoIP电话平台!非常简单、实用!...V0.2.1版本能实现基本的Call Flow流程。 预制用户100~102,缺省密码分别为100~102; 采用SIP协议的缺省端口:5060
SIP Inspector 是一个用来模拟不同的SIP消息和通讯情景的工具,可用来创建 SIP 信令、定制 SIP 消息以及兼容输入和输出的消息包,该工具还可以直接从 pcap 文件中播放 RTP 流。
SIP stack with SIP proxy
SIP与诺基亚SIP工具 SIP与诺基亚SIP工具 SIP与诺基亚SIP工具
WebCallActiveX控件的创建及应用说明文档