天下网吧 >> 网吧方案 >> 网络方案 >> 正文

两个SIP路由实例分析

2:

  如果说上面的示例主要关注的是SIP路由流程,那么本示例关注的则是严格路由与松散路由的区别。

  场景:U1->P1->P2->P3->P4->U2其中,P3是严格路由的,其余Proxy都是松散路由的,并且4个Proxy都很乐意增加Record-Route头域。

  消息流:我们直接给出了到达被叫的INVITE消息:

  1.INVITE sip:callee@u2.domain.com SIP/2.0

  2.Contact: sip:caller@u1.example.com

  3.Record-Route: <sip:p4.domain.com;lr>

  4.Record-Route: <sip:p3.middle.com>

  5.Record-Route: <sip:p2.example.com;lr>

  6.Record-Route: <sip:p1.example.com;lr>

  这中间的其他消息我们就不过问了,直接看一下被叫最后发出的BYE消息大概是什么样子:

  1.BYE sip:caller@u1.example.com SIP/2.0

  2.Route: <sip:p4.domain.com;lr>

  3.Route: <sip:p3.middle.com>

  4.Route: <sip:p2.example.com;lr>

  5.Route: <sip:p1.example.com;lr>

  因为P4在第一个Route里,因此被叫将BYE消息发给了P4。

  P4收到该消息后,发现自己不负责域u1.example.com,但是第一个Route头域中的URI正是自己,因此删除之。在SIP路由机制中,P4还发现新的第一个Route头域中的URI是一个严格路由器,因此它把request-URI中的URI添加到最后一个Route的位置,并且将第一个Route“弹出”并且覆盖原来的request-URI。然后将消息转发给当前的request-URI,也就是P3。

  1.BYE sip:p3.middle.com SIP/2.0

  2.Route: <sip:p2.example.com;lr>

  3.Route: <sip:p1.example.com;lr>

  4.Route: <sip:caller@u1.example.com>

  P3收到该消息后,直接把消息作出如下变换并且发给P2:

  1.BYE sip:p2.example.com;lr SIP/2.0

  2.Route: <sip:p1.example.com;lr>

  3.Route: <sip:caller@u1.example.com>

  P2收到该消息后,发现消息中的request-URI是自己的,因此在进一步处理先首先对消息做如下变换:

  1.BYE sip:caller@u1.example.com SIP/2.0

  2.Route: <sip:p1.example.com;lr>

  然后,P2发现自己不负责域u1.example.com 。第一个Route中的URI也不是自己的,因此将消息转发给该URI,也就是P1。

  P1收到该消息后,发现自己不负责域u1.example.com,但是第一个Route头域中的URI正是自己,因此删除之。

  消息变成下面的样子:

  1.BYE sip:caller@u1.example.com SIP/2.0

  既然Route头域已经是空,因此P1把消息发给u1.example.com。

  到这里,两个SIP路由实例已经讲解完了,不知道大家对这部分知识是否了解了,希望本文的总结,能够让给大家一些参考。

 

本文来源:天下网吧 作者:网吧方案

相关文章
没有相关文章
声明
声明:本站所发表的文章、评论及图片仅代表作者本人观点,与本站立场无关。若文章侵犯了您的相关权益,请及时与我们联系,我们会及时处理,感谢您对本站的支持!联系Email:support@txwb.com,系统开号,技术支持,服务联系QQ:1175525021本站所有有注明来源为天下网吧或天下网吧论坛的原创作品,各位转载时请注明来源链接!
天下网吧·网吧天下