【opensips学习笔记】【一】sip flow在script中的对应关系

对应关系

如图

Mapping
  1. 所有进入opensips的信令,一般为INVITE,REGISTER, MESSAGE, OPTIONS 等,都是图示中1和2.这一部分称之为Request Route
  2. 当在Request Route中调用t_relay时,会触发Branch Route。 顾名思义,它是一个分支;Opensips在转发消息时,它可以同时发送多条腿,那么每一条腿就是一个Branch。
  3. 每一个Branch Route的回复消息,就是Reply Route。如图中的5,回复INVITE消息的180 Ringing;以及11,404 Not Found.
  4. 回复消息中所有异常消息(4xx-6xx),都时Failure Route
  5. 消息17,ACK发来的时候,dialog已经建立,此时的to header是有tag的。 它也是Request Route,但是是带有to tag的。所以会走到has_totag()分支逻辑中。

stateless and stateful routing 有状态和无状态路由

区别

  • stateful
    顾名思义,Opensips会在内存中记录routing中的request和对应的reply,同时会保持transaction过程中的变量信息。
    同时,会有如下能力:
    1. Retransmission detection(重复消息检测)
    2. Performing retransmissions(有效重发机制)
    3. Timeout(transaction timeout检测)
    4. Parallel and serial forking(并行/串行分发)
  • stateless
    Opensips不做任何记录,只做功能上的routing,也不会触发Branch Route, Reply Route, Failure Route

stateless routing由Opensips的Stateless Module(SL)提供,而stateful routing由Transaction Module(TM)提供

routing method
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容