摘要: 1.简介SIP(Session Initiation Protocol)是一种类似于http协议的纯文本应用层协议。SIP可以用来控制会话的建立、取消、关闭等操作。主要可以实现以下功能:用户定位:检查终端用户的位置,用于通信;用户有效性:检查用户参与会话的意愿程度;用户能力:检查媒体和媒体参数;建立会话:“振铃”,在呼叫和被叫方同时建立会话的参数;会话管理:包括会话的传输和终止,修改会话参数以及请求服务2.SIP的结构在SIP协议中主要包含以下几种逻辑上的角色:UA、Proxy Server、 Register/Location Server、Redirect Server。UA:用户代理(U 阅读全文
posted @ 2012-10-04 21:05 wulax 阅读(1131) 评论(0) 推荐(1) 编辑
摘要: 今天在看eXosip代码的时候发现一个问题,在eXosip中使用TCP的socket实现了一个pipe管道,具体的原理是,打开一个TCP的socket然后设置成监听socket,再打开另一个socket作为pipe的一端向监听socket发起连接,监听socket经过accept后返回一个已连接socket,该socket作为pipe的另一端,这个很像用sockpair创建的socket对。但是我发现,在连接完成以后监听socket并没有关闭,带着这个疑惑我上网查了一些资料。以下是我的理解(没有看过TCP的源代码,只是猜测)。TCP协议作为一个可靠的协议是有状态的,协议栈在每个连接上都维护了一 阅读全文
posted @ 2012-10-04 21:04 wulax 阅读(2738) 评论(0) 推荐(0) 编辑
摘要: 1.概念会话是SIP协议中一个重要的概念,它不同于会话,它是发生在两个UA之间点对点通讯。通俗来说,就像是两个人说话,举个例子:A:Hi,我叫Tommy,你好!B:我叫Elaine,很高兴认识你A:不知道今晚你有没有时间,请你喝咖啡B:我有时间。A:那就今天晚上7点在华语的星巴克B:嗯,好的A:那就这么定了,晚上见。B:晚上见。通常是有一方发起对话,当对方有没有回应,或者回应是“不好意思我不认识你”、“我现在忙没时间”时对话就无法开始;如果对方回应是“稍等”,那对话就处于早期等待开始的状态;如果对法给出回应是“你好”的时候表示对方愿意与你对话,对话就正式开始了。对话的结束通常是一方说“再见”之 阅读全文
posted @ 2012-10-04 21:04 wulax 阅读(667) 评论(0) 推荐(0) 编辑
摘要: 1.总体结构看了这么长时间的RFC文旦,谈谈我对SIP协议通信粒度的理解吧,在SIP协议中通信的行为分成了不同的粒度,从小到大分别是点到点的sip消息的传输(这点是我自己总结的),sip事务,sip对话以及sip会话。点到点的sip消息的传输时sip协议传输的最基本的单位,发生在传输层(Transport Layer),就是将一个sip message通过udp、tcp或tls等底层协议发送到目的UA(或者Proxy)的传输层。事物的粒度在点对点sip消息传送之上,包含了一系列的sip消息传输,事务由一个request、0到多个临时response以及一到多个最终response组成,表示了一 阅读全文
posted @ 2012-10-04 21:03 wulax 阅读(4475) 评论(0) 推荐(2) 编辑