zoukankan      html  css  js  c++  java
  • SIP 协议

    SIP简介

    sip出现于二十世纪九十年代中期,源于哥伦比亚大学计算机系副教授Henning Scheulzrinne 及其研究小组的研究。他处于人共同提出通过Internet传输实时数据的实时传输协议RTP之外,还与人合作编写了实时流传输协议RTSP标准提案,用于控制音频视频内容在Web上的流传输。
    SIP(Session Initiation Protocol)是一个会话层的信令控制协议。用于创建、修改和释放一个或多个参与者的会话。这些会话可以好似Internet多媒体会议、ip电话或多媒体分发。会话的参与者可以通过组播、网状单播或两者的混合体进行通信。
    SIP是类似于HTTP的基于文本的协议。SIP可以减少应用特别是高级应用的开发时间。由于基于IP协议的SIP利用了IP网络,固定网运营商也会逐渐认识到SIP技术对于他们的深远意义。
    与存在已久的国际电信联盟 (ITU) SS7 标准(用于呼叫建立)和 ITU H.323 视频协议组合标准不同,SIP 独立工作于底层网络传输协议和媒体。它规定一个或多个参与方的终端设备如何能够建立、修改和中断连接,而不论是语音、视频、数据或基于 Web 的内容。

    • SIP默认使用UDP 5060端口,但也可以使用TCP 5060。
    • SIP使用Server-Client模型。
    • SIP的四项基本功能:定位用户,将SIP地址解析为IP地址;协商Session的feature 呾capability;在迚行呼叫时改变会话参数;负责会话的建立和中断。
    • SIP 地 址 形 式 :sip:1112223344@mycompany.com 或sip:1112223344@10.1.1.1

    SIP组件

    User Agent

    UA是SIP的基本组件,可分为UAC(User Agent Client)和UAS(User Agent Server)。发起呼叫的为UAC,接收呼叫的为UAS。很多设备都可做UA,如IP电话、PC、路由器等。

    Proxy Agent

    proxy server起到call routing、authentication、authorization、address resolution、loop detection 的功能。
    UAC发起呼叫时会先把call setup message 发给proxy server,如果proxy server知道UAS的位置,会把call setup message转发给UAS(或者是next hop),否则会找其他的server查询。UAS接收到call setup message后会给proxy server响应,proxy ser ver再把这个响应返回给UAC。当呼叫建立之后,proxy server有2种选择。第一、呼叫建立之后还处于UAC和UAS之间的signaling path之间(Record-Route),以监视call change message或call termination message。第二、退出UAC和UAS之间的signaling path,不再参与会话。

    Redirect Server

    UA、Proxy Server可与Redirect Server通讯,以查找另一个endpoint的位置。

    sip方法

    REGISTER  UAC 使用此message向server注册以表明自己的位置。
    INVITE     UAC发送此消息用以邀请UAS加入会话,其实就是一个call setup message。
    ACK     为INVITE回复一个确认信息
    CANCEL   中止一个还没建立的呼叫。
    OPTIONS   用来查询server的capability。
    BYE     用于中断呼叫。

    返回的状态码

    1. 1XX  临时响应、表示请求消息正在被处理
    2. 2XX  成功响应、表示请求已被成功接收完全理解并接收
    3. 3XX  重定向响应、表示需采取进一步完成请求
    4. 4XX  客户机错误、表示请求消息中包含语法错误信息或服务器无法完成客户机的请求
    5. 5xx  服务器错误、表示服务器无法合法完成请求
    6. 6XX 全局故障 、表示任何服务器都无法完成该请求

    SIP注册过程

    请求端发送Register消息

    REGISTER sip:10.109.252.6:5060 SIP/2.0
    Call-ID: 90b9fbdb1437ec4c3b57f2e72ad60c4a@10.108.164.218
    CSeq: 1 REGISTER
    From: <sip:libin@10.109.252.6>;tag=6256
    To: <sip:libin@10.109.252.6>
    Via: SIP/2.0/UDP 10.108.164.218:6060;branch=z9hG4bK2a6a2acc56bd8a994d4a8773f5cfdc99
    Max-Forwards: 70
    Contact: <sip:libin@10.108.164.218:6060;transport=udp>
    Expires: 180
    Content-Length: 0

    服务器端检查到需要鉴权,给请求端发送401结果码,并带上“WWW-Authenticate”头信息

    SIP/2.0 401 Unauthorized
    Via: SIP/2.0/UDP 10.108.164.218:6060;branch=z9hG4bK13b359679ffdc900772e249069e492f5;rport=6060
    To: <sip:libin@10.109.252.6>;tag=942cdaa5
    From: <sip:libin@10.109.252.6>;tag=8377
    Call-ID: 41b7660d5020c244787544a9c3aa63cd@10.108.164.218
    CSeq: 1 REGISTER
    WWW-Authenticate: Digest nonce="1356268016:5eaed72a7b94a6b1b235611391117886",algorithm=MD5,realm="10.109.252.6",qop="auth"
    Content-Length: 0

    请求端通过“Authorization”头字段带上鉴权头信息,发送一个新的REGISTER消息

    REGISTER sip:10.109.252.6:5060 SIP/2.0
    Call-ID: 8b1db000ad7a99821a25fdadaa7c1d28@10.108.164.218
    CSeq: 2 REGISTER
    From: <sip:libin@10.109.252.6>;tag=2550
    To: <sip:libin@10.109.252.6>
    Via: SIP/2.0/UDP 10.108.164.218:6060;branch=z9hG4bK658495c291f118da5e63443ca60dc668
    Max-Forwards: 70
    Contact: <sip:libin@10.108.164.218:6060;transport=udp>
    Expires: 180
    Authorization: Digest username="libin",realm="10.109.252.6",uri="sip:10.109.252.6:5060",algorithm=MD5,opaque="",nonce="1356268196:9425e0b73fcdb8d50f7b87cbd4db2fef",nc=1,cnonce="xyz",response="d829aff6987b2596cefe625dcff689d8",qop=auth
    Content-Length: 0

    服务器端验证鉴权信息的合法性,若验证成功,发送200 OK消息

    SIP/2.0 200 OK
    Via: SIP/2.0/UDP 10.108.164.218:6060;branch=z9hG4bK7cd89ec16ccd95349cc7ee4f461c4353;rport=6060
    To: <sip:libin@10.109.252.6>;tag=adc2c168
    From: <sip:libin@10.109.252.6>;tag=9291
    Call-ID: 90bbca26efb20dc82029f443c416579f@10.108.164.218
    CSeq: 2 REGISTER
    Content-Length: 0

    查看全文
  • 相关阅读:
    最近工作状态异常的原因追寻。
    当“逻辑”与“UE”冲突时
    面对一个“丢失了与用户“签订”的协议的修改”时进行的思考。
    如果公司的需求总是让研发部门有怨言…
    安装sybase12.0,运行时报错异常。
    你看到这份文档,我就想摔鼠标!
    对于研发组长的责任产生了疑惑。
    关于html中空格导致的排版问题
    如何配置你的工作环境。
    今天的笔记:2014年6月3日
  • 原文地址:https://www.cnblogs.com/cubika/p/2830328.html
  • 最新文章
  • 发送邮件
    一、MVC
    正则表达式
    创建maven+spring+struts1
    java 计算溢出
    iTextPDF
    获取元素高度(单位像素px)
    $.getJSON $.ajax
    Gson
    iframe
  • 热门文章
  • 什么是跨域?如何实现跨域?
    ajax是什么?ajax交互模型?
    js怎样添加、移除、移动、复制、创建和查找节点
    关于css权重计算
    HTML 5 Web 存储 与 应用缓存
    网页布局 (bfc)自适应布局
    js 递归
    es6 语法
    js 捕获异常和抛出异常
    js 闭包
Copyright © 2011-2022 走看看

4617作文网健康管理的公司起名姓余的起名字怎么起起带云的公司名字起名字要注意什么陈少什么起名字餐饮店起什么名字好听月线选股,周线交易姓朱的男孩起什么名字好两个字煎饼店起名免费算命生辰八字配对岳氏男孩起名字啊免费算命大家找起名舞蹈周公解梦之怀孕4画起名吉利的字维起名起名的苏周易八字算命免费男孩王姓同字辈起名那起名比较好起名用骅字的含义算命算命算命健康管理公司的起名一起学报名网址周易十讲女孩子起名字火字旁的字滑姓起名大全给宝宝起个好名字免费名单取名公司 周易情侣的起名大全淀粉肠小王子日销售额涨超10倍罗斯否认插足凯特王妃婚姻让美丽中国“从细节出发”清明节放假3天调休1天男子给前妻转账 现任妻子起诉要回网友建议重庆地铁不准乘客携带菜筐月嫂回应掌掴婴儿是在赶虫子重庆警方辟谣“男子杀人焚尸”国产伟哥去年销售近13亿新的一天从800个哈欠开始男孩疑遭霸凌 家长讨说法被踢出群高中生被打伤下体休学 邯郸通报男子持台球杆殴打2名女店员被抓19岁小伙救下5人后溺亡 多方发声单亲妈妈陷入热恋 14岁儿子报警两大学生合买彩票中奖一人不认账德国打算提及普京时仅用姓名山西省委原副书记商黎光被逮捕武汉大学樱花即将进入盛花期今日春分张家界的山上“长”满了韩国人?特朗普谈“凯特王妃P图照”王树国3次鞠躬告别西交大师生白宫:哈马斯三号人物被杀代拍被何赛飞拿着魔杖追着打315晚会后胖东来又人满为患了房客欠租失踪 房东直发愁倪萍分享减重40斤方法“重生之我在北大当嫡校长”槽头肉企业被曝光前生意红火手机成瘾是影响睡眠质量重要因素考生莫言也上北大硕士复试名单了妈妈回应孩子在校撞护栏坠楼网友洛杉矶偶遇贾玲呼北高速交通事故已致14人死亡西双版纳热带植物园回应蜉蝣大爆发男孩8年未见母亲被告知被遗忘张立群任西安交通大学校长恒大被罚41.75亿到底怎么缴沈阳一轿车冲入人行道致3死2伤奥运男篮美国塞尔维亚同组周杰伦一审败诉网易国标起草人:淀粉肠是低配版火腿肠外国人感慨凌晨的中国很安全男子被流浪猫绊倒 投喂者赔24万杨倩无缘巴黎奥运男子被猫抓伤后确诊“猫抓病”春分“立蛋”成功率更高?记者:伊万改变了国足氛围奥巴马现身唐宁街 黑色着装引猜测

4617作文网 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化