精华内容
下载资源
问答
  • 2020-07-31 15:57:13

    1.主叫拨号,终端使用SIP协议发invite消息(携带SDP消息)

    2.主叫SIP代理和DNS交互,找到被叫SIP代理

    3.主叫SIP代理向被叫SIP代理发invite

    4.被叫成功将invite发送给被叫后,发100(trying)给主叫,主叫显示正在拨号

    5.被叫振铃,被叫SIP代理返回状态码为180(ringing)给主叫,主叫听到嘟嘟嘟声音

    6.被叫摘机,被叫给主叫返回状态码是200得最终成功消息

    更多相关内容
  • system in a package(SIP)需要设计SIP封装的同学可以拿走借鉴
  • SIP基本业务流程

    2018-08-05 13:42:26
    SIP基本业务流程分析;注册解析;通话的建立与拆分;修改回话;等;
  • 2.注销流程: 3. 基本呼叫建立过程: 4. 会话更改流程: 5. 正常呼叫释放过程: 6. 被叫忙呼叫释放: 7.被叫无应答流程一: 8.被叫无应答流程二: 9.遇忙呼叫前转: 10.无应答呼叫前转流程: 11....
  • 本文档对SIP进行的详细说明,并附加交互流程及字段说明,加上示例讲解通俗易懂。sip包字段解析,sdp解析等
  • SIP软电话程序demo

    2020-12-31 10:29:59
    一款基于SIP协议的软电话实现代码,底层使用PJSIP协议,代码全开放,可直接编译运行
  • 本文从SIP网络架构开始,详细介绍了SIP协议、IMS注册及相关流程、IMS会话及相关流程等 内容,是一款非常难得的学习入门资料 。
  • SIP流程图解释.pdf

    2019-08-16 16:31:26
    IMS/SIP 呼叫建立,和 会议的详细过程,已经关键参数解释。 转发的,写得、画的非常好! 很容易就理解了!方便了解SIP IMS 基础知识。PDF 格式。一个积分 -- 系统会自动修改添加积分 改回一个积分
  • 电信sip规范信令流程

    2018-12-09 22:27:16
    中国电信sip规范第三部分(sip信令流程
  • sip 抓包全流程

    2019-05-24 16:11:09
    sip 抓包全流程
  • sip 注册流程

    2020-12-19 14:44:32
    基本注册流程示意图:注册流程描述如下:1、 SIP代理向SIP服务器发送REGISTER请求;2、 SIP服务器向SIP代理发送响应401,并在响应的消息头WWW-Authenticate字段中给出适合SIP代理的认证体制和参数;3、 SIP代理重新向...

    基本注册流程示意图:

    注册流程描述如下:

    1、         SIP代理向SIP服务器发送REGISTER请求;

    2、         SIP服务器向SIP代理发送响应401,并在响应的消息头WWW-Authenticate字段中给出适合SIP代理的认证体制和参数;

    3、         SIP代理重新向SIP服务器发送REGISTER请求,在请求的Authorization字段给出信任书,包含认证信息;

    4、         SIP服务器对请求进行验证,如果检查出SIP代理身份合法,向SIP代理发送成功响应200 OK,如果身份不合法则发送拒绝服务应答。

    注册信令消息示范:

    Register sip:SIP服务器编码@目的域名或者IP地址端口  SIP/2.0

    Via:SIP/2.0/UDP 源域名或者IP地址端口

    From:;tag=185328220

    To:

    Call-ID:ms1214-322164-681262131542511620107-0@172.18.16.3

    CSeq:1 Register

    Contact:

    Max-Forwords:70

    Expires: 7200

    Content-Length: 0

    SIP/2.0 401 Unauthorized

    To: sip:SIP设备编码@源域名

    Content-Length: 0

    CSeq:1 Register

    Call-ID:ms1214-322164-681262131542511620107-0@172.18.16.3

    From:;tag=185328220

    Via:SIP/2.0/UDP 源域名或者IP地址端口

    WWW-Authenticate: Digest realm=”64010000”,nonce=”6fe9ba44a76be22a”

    Register sip:SIP服务器编码@目的域名或者IP地址端口  SIP/2.0

    Via:SIP/2.0/UDP 源域名或者IP地址端口

    From:;tag=185328220

    To:

    Call-ID:ms1214-322164-681262131542511620107-0@172.18.16.3

    CSeq:2 Register

    Contact:

    Authorization: Digest username=”64010000002020000001”,realm=”64010000”, nonce=”6fe9ba44a76be22a”,uri=”sip:64010000002020000001@172.18.16.5:5060”,response=”9625d92d1bddea7a911926e0db054968”,algorithm=”MD5”

    Max-Forwords:70

    Expires: 7200

    Content-Length: 0

    SIP/2.0 200 OK

    To: ;tag=69113a2a

    Contact: sip:SIP设备编码@源IP地址端口

    Content-Length: 0

    CSeq:2 Register

    Call-ID:ms1214-322164-681262131542511620107-0@172.18.16.3

    From:;tag=185328220

    Via:SIP/2.0/UDP 源域名或者IP地址端口

    Date:2010-11-02T15:01:26.115

    Expires: 7200

    展开全文
  • sipcore 用于创建SIP应用程序的Rust框架 sipmsg
  • SIP会话流程

    2021-04-26 17:40:25
    下面我们通过一个简单的场景例子来简单介绍一下 SIP 会话流程。 Tom 和 Jerry 是非常好的伙伴,Tom 在他的 PC 上使用一个 SIP 的应用程序呼叫 Internet 上另一个 SIP 电话用户 Jerry。 1. 注册过程 : SIP 注册...

    下面我们通过一个简单的场景例子来简单介绍一下 SIP 会话流程。

    Tom 和 Jerry 是非常好的伙伴,Tom 在他的 PC 上使用一个 SIP 的应用程序呼叫 Internet 上另一个 SIP 电话用户 Jerry。

    1. 注册过程 :

    SIP 注册过程是建立用户当前 IP 地址与用户URI之间的对应关系。首先,Tom 和 Jerry 的 SIP 应用程序或者硬件设备,需要在网络中注册。之后终端需要知道代理呼叫会话控制功能(P-CSCF)的地址。P-CSCF 是终端向网络中发送所有 SIP 消息的惟一入口,用于 SIP 出站代理,注册完成后服务于所有其他 SIP 信令。该地址可以预先配置,在没有配置的情况下,终端可以在建立的通用或专用 PDP 信令上下文的过程中请求该地址。

    Tom 的终端首先会生成一个 REGISTER 请求,该请求中的相关信息从 Tom 的用户标识模块 (USIM) 的 IP 多媒体服务标识模块(ISIM)中获取。请求经过 P-CSCF 和 I-CSCF(问询呼叫会话控制功能)为 Tom 指定一个 S-CSCF(服务呼叫会话控制功能)。S-CSCF 负责根据请求信息建立用户标识与终端 IP 地址的对应绑定关系。

     1. 构造的 REGISTER 消息

    REGISTER sip: telcomx.tel.com SIP2.0 
    From:<sip: tom@telcomx.tel.com>;tag=pohjaxx 
    To:<sip: tom@telcomx.com> 
    Via:SIP/2.0/UDP[4444::2:3:4:5];branch=xo93sle 
    Route: sip:[5555::a:f:f:e];lr 
    Contact:<sip:[4444::2:3:4:5]>;expires=600000 
    Call-ID: apb304a94sslfeiasle93aj11 
    Authorization:Digest username="tom@telcomx.tel.com", 
                 realm="telcomx.tel.com", 
                 nonce="", 
                 uri="sip:telcomx.tel.com", 
                 response=""
    CSeq: 25 REGISTER 
    Content-Length:0

    该消息中 Route 标识请求路由的下一节点;Contact 中定义了 IP 地址与 SIP URI的绑定持续时间;Call-ID 和 CSeq 消息头惟一标识本次事务。注册消息经 P-CSCF 发送到 I-CSCF,I-CSCF 是 Tom 所在归属网的入口,接收 Tom 终端发起的每一次注册请求。I-CSCF 查询 HSS 服务器,根据请求中标识的需求能力,选择一个合适的 S-CSCF 为用户提供服务,并将请求发送到该 S-CSCF 节点上。

    S-CSCF 返回 401(未授权)响应要求 Tom 进行认证,则 Tom 的终端将发送第二个 REGISTER 请求,第二个请求包含相同的有关注册信息,并经过的路由与第一个 REGISTER 的路由完全相同。但是第二个 REGISTER 产生一个新的 Call-ID、Cseq 号码、branch 参数以及一个新的 From 标签,并且该 REGISTER 请求会带入新的安全认证标签信息。

    2. 构造带有认证信息的 REGISTER 消息

    REGISTER sip: telcomx.tel.com SIP2.0 
    From:<sip: tom@telcomx.com>;tag=6e87wa9 
    To:<sip: tom@telcomx.tel.com> 
    Via:SIP/2.0/UDP[4444::2:3:4:5];branch=u2x9s7 
    Route: sip:[5555::a:f:f:e];lr 
    Contact:<sip:[4444::2:3:4:5]>;expires=600000 
    Call-ID: apb304a94sslfaser2le93aj22 
    Authorization:Digest username="tom@telcomx.tel.com", 
                 realm="telcomx.tel.com", 
                 nonce="A34Cm+FVa73YTUGpGMBIs34P,algorithm=AKAv1-MD5", 
                 uri="sip:telcomx.tel.com", 
                 response="6629fac4969a87854152369874c43fd1"
    CSeq: 47 REGISTER 
    Content-Length:0

    注意,第二次注册请求会填写相应的认证密钥信息。认证过程成功,S-CSCF 将对 Tom 进行注册。即 S-CSCF 创建一个绑定关系,绑定 To 消息头中公共用户标识和 Contact 中的 IP 访问地址。随后 S-CSCF 向终端发送响应。

    3.REGISTER 消息的响应

    SIP/2.0 200 OK 
    Via:SIP/2.0/UDP icscf1.tel.com;branch=21ksi9 
    Via:SIP/2.0/UDP pcscf1.tel.com;branch=2x7as2 
    Via:SIP/2.0/UDP[4444::2:3:4:5];branch=u2x9s7 
    From:<sip: tom@telcomx.tel.com>;tag=6e87wa9 
    To:<sip: tom@telcomx.tel.com>;tag=kotimaex 
    Contact:<sip:[4444::2:3:4:5]>;expires=600000 
    Service-Route:sip:telcomx@scscf1.tel.com;lr 
    Call-ID: apb304a94sslfaser2le93aj22 
    CSeq: 47 REGISTER 
    Content-Length:0

    S-CSCF 将自己的访问地址通过 Service-Route 消息头返回给终端,该响应送回的路径是所有接收过 REGISTER 请求的 CSCF,因为各个 CSCF 在接收 REGISTER 时都把自己的地址放在了 Via 消息头的顶端。这时终端注册已经成功。

    SIP 注册流程

    图 5. SIP 注册流程

    2. 会话建立:

    Tom 通过 Jerry 的 SIP 标识呼叫 Jerry,这个SIP URI 很像一个 E-mail 地址,典型的URI包括一个用户名和主机名。假设 Jerry 的URI为 sip: jerry@california.tel.com。主机名 california.tel.com 是 Jerry 的本地 SIP 服务供应商即 Jerry 的归属域。Tom 使用自己的URI发送请求。Tom 的统一资源标识符:sip: tom@telcomx.tel.com。其中 telcomx.tel.com 是 Tom 的 SIP 服务供应商。

    建立会话的过程主要有以下几步:

    (1)使用 Jerry 的URI创建 INVITE 请求;

    (2)在 Contact 消息头中设置自己的访问 IP 地址与端口号,确保对端 Jerry 所有的响应都能直接发回到该终端;

    (3)将注册过程中所存储的 S-CSCF 访问地址信息添加到消息的 Route 中,这样避免每次发送 SIP 请求需要通过 I-CSCF 查找 S-CSCF 的开销;

    (4)将出站代理 P-CSCF 的访问地址也添加到 Route 消息头顶端生成消息路由;

    (5)请求按照 Route 顶端地址发送到出站代理 P-CSCF 上,去除 Route 中标识自己的访问条目,在 Record-Route 和 Via 中添加 P-CSCF 访问条目,确保请求的响应路由能够返回到自身节点。转发 INVITE 请求到 Route 定义的下一个节点;

    (6)请求发送到 S-CSCF 节点上,首先去除 Route 中标识自己的访问条目,将 S-CSCF 访问条目添加到 Record-Route 和 Via 中,查询 DNS 服务获得用户 Jerry 的 SIP URI 所归属的域,将请求转发到 Jerry 所归属域的 I-CSCF 节点上;

    (7)在 Jerry 归属域的 I-CSCF 节点上,首先添加自己的访问条目并将该访问条目添加到 Via 消息头中,查询 SLF 获取 Jerry 的 HSS 服务器地址,并查询 HSS 获取与用户 Jerry 相绑定的 S-CSCF 节点访问地址,将 INVITE 请求转发到该 S-CSCF 节点上;

    (8)请求到达 Jerry 归属域的 S-CSCF 节点上,首先从路由 Route 消息头中删除标识自己的访问条目,在 Record-Route 中添加该访问条目,将用户 Jerry 的统一资源标识符替换为注册的联系地址,转发请求到下一个节点;

    (9)消息到达 Jerry 的 P-CSCF 代理节点上,其转发请到用户 Jerry 的 IP 地址上;

    (109)这时 INVITE 请求已经到达用户 Jerry 的终端上,该终端设备保存 Tom 的 Contact 消息头,生成相应响应信息,并设置响应 Contact 消息头为 Jerry 终端的 IP 地址 / 端口,将 Record-Route 和 Via 消息头复制到响应中,并基于 Via 消息头发送响应;

    (11)当响应到达用于 Tom 终端时,Tom 终端也会保存用户 Jerry 的 Contact 信息,这样双方都知道对方直接访问的 IP 地址和端口,之后可以直接发送请求到对方终端了。

    SIP 会话建立路由过程

    图 6. SIP 会话建立路由过程

     4.INVITE 请求

    INIVTE sip:jerry@california.tel.com 
     Via: SIP/2.0/UDP[4444::2:3:4:5];branch=8ulse1 
     Route:<sip:[5555::a:b:c:d];lr> 
     Route:<sip:telcomx@scscf1.tel.com;lr> 
     Contact:<sip:[4444::2:3:4:5]:1537> 
     From:<sip: tom@telcomx.tel.com>;tag=6e87wa9 
     To:<sip: jerry@california.tel.com> 
     Call-ID: apb03a0s09dkjdfoaidy49555 
     CSeq: 1 INVITE 
     Max-Forwards: 70 
     Content-Length:183 
    (必须的空行)
    (SDP 请求消息体)

    5. 183“会话进行中”响应

    SIP/2.0 183 Session in Progress 
     Via: SIP/2.0/UDP scscf2.california.tel.com;branch=12fd3 
     Via: SIP/2.0/UDP icscf2.california.tel.com;branch=24re3 
     Via: SIP/2.0/UDP scscf1.tel.com;branch=64w32 
     Via: SIP/2.0/UDP pcscf1.tel.com;branch=412d2 
     Via: SIP/2.0/UDP[4444::2:3:4:5];branch=8ulse1 
     Route-Route:<sip pcscf2.california.tel.com;lr> 
     Route-Route:<sip scscf2.california.tel.com;lr> 
     Route-Route:<sip scscf1.tel.com;lr> 
     Route-Route:<sip pcscf1.tel.com;lr> 
     Route:<sip:telcomx@scscf1.tel.com;lr> 
     Contact:<sip:[4444:5:6:7:8]:1078> 
     From:<sip: jerry@california.tel.com>;tag=e42q14d 
     To:<sip: tom@telcomx.tel.com>;tag=6e87wa9 
     Call-ID: apb03a0s09dkjdfoaidy49555 
     CSeq: 2 183 
     Max-Forwards: 70 
     Content-Length:165 
    (必须的空行)
    (SDP 请求消息体)

    Tom 发送 INVITE 请求后需要等待 Jerry 的响应,如果等待超时则需要重传一个 INVITE 请求,如果 128 秒后仍收不到响应,就宣告本次会话建立失败。例如本例中该呼叫漂洋过海,因此到达 Jerry 终端可能超过超时等待时间,为了避免 Tom 终端频繁地重发 INVITE 请求,P-CSCF 收到 INVITE 请求后,返回一个 100 Trying 临时响应。这表明现在开始 P-CSCF 负责 INVITE 的重传工作,以此类推。

    SIP 会话信号流程图

    图 7. SIP 会话信号流程图

    3. 会话媒体参数协商:

    Tom 终端在发送第一个 INVITE 请求中带有一个 SDP 的消息体,该消息体描述 Tom 希望在本次会话中使用的所有媒体参数信息,包括媒体类型、各类媒体支持的编码解码类型;在 Jerry 终端的第一个响应中会带入 INVITE 请求的 SDP 消息体应答,可能拒绝某些提议的媒体类型,缩减媒体编码解码类型,仅剩下双方都支持的编码解码。Tom 终端收到第一个应答后,其必须最终决定使用哪种编码解码类型,并给被叫方发送 PRACK 消息,将第二个 SDP 媒体协商参数消息发出,确定在本次会话中每种媒体类型采用的惟一编码解码类型。Jerry 终端接受第二次提议并返回一个确认应答。

    会话协商信号流程图

    图 8. 会话协商信号流程图

    通过会话媒体协商,双方商定最终使用的媒体参数建立媒体连接,实现通话。

    4. 会话的释放:

    Tom 和 Jerry 通话完毕,这是 Jerry 会按下终端设备的红色挂机按钮断掉呼叫。这使他的终端生成一个 BYE 请求,沿着与其他请求相同的路由发送给 Tom 的终端,同时还会释放本次会话建立的媒体 PDP 上下文。Tom 的终端收到该请求后也会立刻释放它的 PDP 上下文,同时向 Jerry 终端返回一个 200(OK) 的响应来应答 BYE 请求。注意路径的 CSCF 和所有的 AS 都会清除与本次会话有关的所有会话状态和信息。

    6. BYE 请求

    BYE sip:[4444::2:3:4:5] SIP/2.0 
    Route:<sip:pcscf2.california.com;lr> 
    Route:<sip:scscf2.california.com;lr> 
    Route:<sip:scscf1.tel.com;lr> 
    Route:<sip:pcscf1.tel.com;lr> 
    To:<sip: tom@telcomx.tel.com>;tag=6e87wa9 
    From:<sip: jerry@california.tel.com> 
    Call-ID: w273alskdjb732s07yad22 
    CSeq: 15 BYE 
    Max-Forwards: 70 
    Content-Length:0

    从上述报文可以看到 From 和 To 消息头的信息互换了,因为本次消息是从用户 Jerry 一方发出的。

    SIP 会话释放流程图

    图 9. SIP 会话释放流程图

     

    展开全文
  • 只需选择文本,右键单击拨号,您的Sip软件将完成其余工作。 非常适合Gigaset Quicksync手机。 任何反馈,不胜感激,这是我的第一个扩展,非常好! Windows用户将需要执行以下操作:步骤1.在此处下载“ Ian Sharp的”...
  • 包含sip协议文档,以及在windows上可直接运行的sip server 和 sip client,minisip以及eyebeam在网上都有很多详细的使用方法,可通过抓包的方式,了解sip协议的具体流程
  • SIP协议之呼叫流程

    千次阅读 2022-03-18 20:02:33
    SIP呼呼叫是SIP协议最基本的功能。一个用户呼叫另外一个用户最终完成多媒体通话。此处以常见的B2BUA的服务器模式进行介绍。 环境说明: 主叫:1006 192.168.1.131 ...流程图如下: 关键说明: 1. 1006...

        SIP呼呼叫是SIP协议最基本的功能。一个用户呼叫另外一个用户最终完成多媒体通话。此处以常见的B2BUA的服务器模式进行介绍。

    环境说明:


    主叫:1006  192.168.1.131
    被叫:1012  192.168.0.24
    SIP服务器(以下简称服务器): 192.168.0.201  主、被叫均注册在此服务器


    1 主叫输入1012号码,开始呼叫
    2 被叫收到1006来电,点击接听
    3 主叫点击挂断结束通话

    流程图如下:
        
        

    信令流程:

    编号1: 主叫发出INVITE到服务器
    INVITE sip:1012@192.168.0.201 SIP/2.0
    Via: SIP/2.0/UDP 192.168.1.131:56980;branch=z9hG4bK-d87543-bd00a80d61174148-1--d87543-;rport
    Max-Forwards: 70
    Contact: <sip:1006@192.168.1.131:56980>    //1006的联系地址
    To: "1012"<sip:1012@192.168.0.201>
    From: "1006"<sip:1006@192.168.0.201>;tag=11703172
    Call-ID: NDI2ODA4NmE4OTNlYjlhN2NlYzIxYzcxMzc0MTEzZTY.
    CSeq: 1 INVITE
    Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY, MESSAGE, SUBSCRIBE, INFO
    Content-Type: application/sdp   //表明后面的消息体类型是SDP
    User-Agent: eyeBeam release 1011d stamp 40820
    Content-Length: 436

    //以下为消息体部分

    v=0
    o=- 8 2 IN IP4 192.168.1.131
    s=CounterPath eyeBeam 1.5
    c=IN IP4 192.168.1.131
    t=0 0
    m=audio 1572 RTP/AVP 0 8 18 101   //支持的语音编码
    a=alt:1 3 : YqBcv0hx k0Ir1UAh 192.168.1.131 1572
    a=alt:2 2 : x3fHBmJC A3UcAV4D 192.168.197.1 1572
    a=alt:3 1 : mxpdOrEC wrgtrc0h 192.168.44.1 1572
    a=fmtp:18 annexb=no
    a=fmtp:101 0-15
    a=rtpmap:18 G729/8000
    a=rtpmap:101 telephone-event/8000
    a=sendrecv
    a=x-rtp-session-id:747024EE416C401C864D1F625FC7E145

    编号2: 服务器回复主叫100 Trying
    SIP/2.0 100 Trying
    Via: SIP/2.0/UDP 192.168.1.131:56980;branch=z9hG4bK-d87543-bd00a80d61174148-1--d87543-;rport=56980
    From: "1006" <sip:1006@192.168.0.201>;tag=11703172
    To: "1012" <sip:1012@192.168.0.201>
    Call-ID: NDI2ODA4NmE4OTNlYjlhN2NlYzIxYzcxMzc0MTEzZTY.
    CSeq: 1 INVITE
    User-Agent: FreeSWITCH-mod_sofia/1.10.7-dev+git~20210720T181005Z~4c04914003~64bit
    Content-Length: 0

    编号3:服务器发INVITE被叫
    INVITE sip:1012@192.168.0.24:5060 SIP/2.0
    Via: SIP/2.0/UDP 192.168.0.201;rport;branch=z9hG4bK6XZZ1QaaZjr3p
    Max-Forwards: 68
    From: "1006" <sip:1006@192.168.0.201>;tag=SrUQ72vvXSHFK
    To: <sip:1012@192.168.0.24:5060>
    Call-ID: 2ffaf428-2148-123b-649f-000c29e7aea9
    CSeq: 49245689 INVITE
    Contact: <sip:mod_sofia@192.168.0.201:5060>
    User-Agent: FreeSWITCH-mod_sofia/1.10.7-dev+git~20210720T181005Z~4c04914003~64bit
    Allow: INVITE, ACK, BYE, CANCEL, OPTIONS, MESSAGE, INFO, UPDATE, REGISTER, REFER, NOTIFY, PUBLISH, SUBSCRIBE
    Supported: timer, path, replaces
    Allow-Events: talk, hold, conference, presence, as-feature-event, dialog, line-seize, call-info, sla, include-session-description, presence.winfo, message-summary, refer
    Content-Type: application/sdp
    Content-Disposition: session
    Content-Length: 424
    X-FS-Support: update_display,send_info
    Remote-Party-ID: "1006" <sip:1006@192.168.0.201>;party=calling;screen=yes;privacy=off

    v=0
    o=- 8 2 IN IP4 192.168.1.131
    s=CounterPath eyeBeam 1.5
    c=IN IP4 192.168.1.131
    t=0 0
    m=audio 1572 RTP/AVP 0 8 18 101
    a=rtpmap:18 G729/8000
    a=fmtp:18 annexb=no
    a=rtpmap:101 telephone-event/8000
    a=fmtp:101 0-15
    a=alt:1 3 : YqBcv0hx k0Ir1UAh 192.168.1.131 1572
    a=alt:2 2 : x3fHBmJC A3UcAV4D 192.168.197.1 1572
    a=alt:3 1 : mxpdOrEC wrgtrc0h 192.168.44.1 1572
    a=x-rtp-session-id:747024EE416C401C864D1F625FC7E145


    编号4:被叫回复服务器100-Trying
    SIP/2.0 100 Trying
    Via: SIP/2.0/UDP 192.168.0.201;rport=5060;received=192.168.0.201;branch=z9hG4bK6XZZ1QaaZjr3p
    Call-ID: 2ffaf428-2148-123b-649f-000c29e7aea9
    From: "1006" <sip:1006@192.168.0.201>;tag=SrUQ72vvXSHFK
    To: <sip:1012@192.168.0.24>
    CSeq: 49245689 INVITE //该消息是应答序号为49245689 的INVITE(编号3)消息
    Content-Length:  0

    编号5: 被叫回复服务器180
    SIP/2.0 180 Ringing
    Via: SIP/2.0/UDP 192.168.0.201;rport=5060;received=192.168.0.201;branch=z9hG4bK6XZZ1QaaZjr3p
    Call-ID: 2ffaf428-2148-123b-649f-000c29e7aea9
    From: "1006" <sip:1006@192.168.0.201>;tag=SrUQ72vvXSHFK
    To: <sip:1012@192.168.0.24>;tag=3fVxEhXmI66Iss8a6YjNDWRhpIFlIEP1
    CSeq: 49245689 INVITE
    Contact: "1012" <sip:1012@192.168.0.24:5060>
    Allow: PRACK, INVITE, ACK, BYE, CANCEL, UPDATE, INFO, SUBSCRIBE, NOTIFY, REFER, MESSAGE, OPTIONS
    User-Agent: VoIP
    Content-Length:  0

    编号6:服务器回复主叫180 
    SIP/2.0 180 Ringing
    Via: SIP/2.0/UDP 192.168.1.131:56980;branch=z9hG4bK-d87543-bd00a80d61174148-1--d87543-;rport=56980
    From: "1006" <sip:1006@192.168.0.201>;tag=11703172
    To: "1012" <sip:1012@192.168.0.201>;tag=rF2y57BS0gUvQ
    Call-ID: NDI2ODA4NmE4OTNlYjlhN2NlYzIxYzcxMzc0MTEzZTY.
    CSeq: 1 INVITE   //该消息是应答序号为1的INVITE(编号1)消息
    Contact: <sip:1012@192.168.0.201:5060;transport=udp>
    User-Agent: FreeSWITCH-mod_sofia/1.10.7-dev+git~20210720T181005Z~4c04914003~64bit
    Accept: application/sdp
    Allow: INVITE, ACK, BYE, CANCEL, OPTIONS, MESSAGE, INFO, UPDATE, REGISTER, REFER, NOTIFY, PUBLISH, SUBSCRIBE
    Supported: timer, path, replaces
    Allow-Events: talk, hold, conference, presence, as-feature-event, dialog, line-seize, call-info, sla, include-session-description, presence.winfo, message-summary, refer
    Content-Length: 0
    Remote-Party-ID: "1012" <sip:1012@192.168.0.201>;party=calling;privacy=off;screen=no


    编号7:被叫接听,回复服务器200
    SIP/2.0 200 OK
    Via: SIP/2.0/UDP 192.168.0.201;rport=5060;received=192.168.0.201;branch=z9hG4bK6XZZ1QaaZjr3p
    Call-ID: 2ffaf428-2148-123b-649f-000c29e7aea9
    From: "1006" <sip:1006@192.168.0.201>;tag=SrUQ72vvXSHFK
    To: <sip:1012@192.168.0.24>;tag=3fVxEhXmI66Iss8a6YjNDWRhpIFlIEP1
    CSeq: 49245689 INVITE
    Allow: PRACK, INVITE, ACK, BYE, CANCEL, UPDATE, INFO, SUBSCRIBE, NOTIFY, REFER, MESSAGE, OPTIONS
    User-Agent: VoIP
    Contact: "1012" <sip:1012@192.168.0.24:5060>
    Supported: replaces, 100rel
    Content-Type: application/sdp
    Content-Length:   227

    v=0
    o=- 3856587767 3856587769 IN IP4 192.168.0.24
    s=SDP
    c=IN IP4 192.168.0.24
    t=0 0
    m=audio 10004 RTP/AVP 0 101    //协商后语音编码是0(PCMU)
    c=IN IP4 192.168.0.24
    a=rtpmap:0 PCMU/8000
    a=rtpmap:101 telephone-event/8000
    a=fmtp:101 0-15
    a=sendrecv

    编号8: 服务器发ACK到被叫
    ACK sip:1012@192.168.0.24:5060 SIP/2.0
    Via: SIP/2.0/UDP 192.168.0.201;rport;branch=z9hG4bK76rr3jUDvUepj
    Max-Forwards: 70
    From: "1006" <sip:1006@192.168.0.201>;tag=SrUQ72vvXSHFK
    To: <sip:1012@192.168.0.24:5060>;tag=3fVxEhXmI66Iss8a6YjNDWRhpIFlIEP1
    Call-ID: 2ffaf428-2148-123b-649f-000c29e7aea9
    CSeq: 49245689 ACK
    Contact: <sip:mod_sofia@192.168.0.201:5060>
    Content-Length: 0

    编号9: 服务器回复主叫200
    SIP/2.0 200 OK
    Via: SIP/2.0/UDP 192.168.1.131:56980;branch=z9hG4bK-d87543-bd00a80d61174148-1--d87543-;rport=56980
    From: "1006" <sip:1006@192.168.0.201>;tag=11703172
    To: "1012" <sip:1012@192.168.0.201>;tag=rF2y57BS0gUvQ
    Call-ID: NDI2ODA4NmE4OTNlYjlhN2NlYzIxYzcxMzc0MTEzZTY.
    CSeq: 1 INVITE
    Contact: <sip:1012@192.168.0.201:5060;transport=udp>
    User-Agent: FreeSWITCH-mod_sofia/1.10.7-dev+git~20210720T181005Z~4c04914003~64bit
    Allow: INVITE, ACK, BYE, CANCEL, OPTIONS, MESSAGE, INFO, UPDATE, REGISTER, REFER, NOTIFY, PUBLISH, SUBSCRIBE
    Supported: timer, path, replaces
    Allow-Events: talk, hold, conference, presence, as-feature-event, dialog, line-seize, call-info, sla, include-session-description, presence.winfo, message-summary, refer
    Content-Type: application/sdp
    Content-Disposition: session
    Content-Length: 215
    Remote-Party-ID: "Outbound Call" <sip:1012@192.168.0.201>;party=calling;privacy=off;screen=no

    v=0
    o=- 3856587767 3856587769 IN IP4 192.168.0.24
    s=SDP
    c=IN IP4 192.168.0.24
    t=0 0
    m=audio 10004 RTP/AVP 0 101
    c=IN IP4 192.168.0.24
    a=rtpmap:0 PCMU/8000
    a=rtpmap:101 telephone-event/8000
    a=fmtp:101 0-15

    编号10: 主叫发ACK到服务器
    ACK sip:1012@192.168.0.201:5060;transport=udp SIP/2.0
    Via: SIP/2.0/UDP 192.168.1.131:56980;branch=z9hG4bK-d87543-66782236ac1f413c-1--d87543-;rport
    Max-Forwards: 70
    Contact: <sip:1006@192.168.1.131:56980>
    To: "1012"<sip:1012@192.168.0.201>;tag=rF2y57BS0gUvQ
    From: "1006"<sip:1006@192.168.0.201>;tag=11703172
    Call-ID: NDI2ODA4NmE4OTNlYjlhN2NlYzIxYzcxMzc0MTEzZTY.
    CSeq: 1 ACK
    User-Agent: eyeBeam release 1011d stamp 40820
    Content-Length: 0


    此时双方完成通话建立,可以进行语音通话(互相发送RTP语音包)

    编号11: 主叫挂断电话,发BYE到服务器
    BYE sip:1012@192.168.0.201:5060;transport=udp SIP/2.0
    Via: SIP/2.0/UDP 192.168.1.131:56980;branch=z9hG4bK-d87543-0139516e9a4ac937-1--d87543-;rport
    Max-Forwards: 70
    Contact: <sip:1006@192.168.1.131:56980>
    To: "1012"<sip:1012@192.168.0.201>;tag=rF2y57BS0gUvQ
    From: "1006"<sip:1006@192.168.0.201>;tag=11703172
    Call-ID: NDI2ODA4NmE4OTNlYjlhN2NlYzIxYzcxMzc0MTEzZTY.
    CSeq: 2 BYE
    User-Agent: eyeBeam release 1011d stamp 40820
    Reason: SIP;description="User Hung Up"
    Content-Length: 0

    编号12: 服务器回复200到服务器
    SIP/2.0 200 OK
    Via: SIP/2.0/UDP 192.168.1.131:56980;branch=z9hG4bK-d87543-0139516e9a4ac937-1--d87543-;rport=56980
    From: "1006" <sip:1006@192.168.0.201>;tag=11703172
    To: "1012" <sip:1012@192.168.0.201>;tag=rF2y57BS0gUvQ
    Call-ID: NDI2ODA4NmE4OTNlYjlhN2NlYzIxYzcxMzc0MTEzZTY.
    CSeq: 2 BYE
    User-Agent: FreeSWITCH-mod_sofia/1.10.7-dev+git~20210720T181005Z~4c04914003~64bit
    Allow: INVITE, ACK, BYE, CANCEL, OPTIONS, MESSAGE, INFO, UPDATE, REGISTER, REFER, NOTIFY, PUBLISH, SUBSCRIBE
    Supported: timer, path, replaces
    Content-Length: 0


    编号13: 服务器发BYE到被叫
    BYE sip:1012@192.168.0.24:5060 SIP/2.0
    Via: SIP/2.0/UDP 192.168.0.201;rport;branch=z9hG4bK8FjH5DcHS448D
    Max-Forwards: 70
    From: "1006" <sip:1006@192.168.0.201>;tag=SrUQ72vvXSHFK
    To: <sip:1012@192.168.0.24:5060>;tag=3fVxEhXmI66Iss8a6YjNDWRhpIFlIEP1
    Call-ID: 2ffaf428-2148-123b-649f-000c29e7aea9
    CSeq: 49245690 BYE
    User-Agent: FreeSWITCH-mod_sofia/1.10.7-dev+git~20210720T181005Z~4c04914003~64bit
    Allow: INVITE, ACK, BYE, CANCEL, OPTIONS, MESSAGE, INFO, UPDATE, REGISTER, REFER, NOTIFY, PUBLISH, SUBSCRIBE
    Supported: timer, path, replaces
    Reason: SIP;description="User Hung Up"
    Content-Length: 0


    编号14: 服务器发200到主叫
    SIP/2.0 200 OK
    Via: SIP/2.0/UDP 192.168.0.201;rport=5060;received=192.168.0.201;branch=z9hG4bK8FjH5DcHS448D
    Call-ID: 2ffaf428-2148-123b-649f-000c29e7aea9
    From: "1006" <sip:1006@192.168.0.201>;tag=SrUQ72vvXSHFK
    To: <sip:1012@192.168.0.24>;tag=3fVxEhXmI66Iss8a6YjNDWRhpIFlIEP1
    CSeq: 49245690 BYE    //这个200 OK是应答序号为49245690的BYE(编号13)消息的
    Content-Length:  0

    关键说明:


        1. 1006通过服务器呼叫1012,并且服务器是背靠背模式(B2BUA),因此通话是由两段通话桥接起来的,每一段通话都有各自唯一的Call-ID

           第一段通话: Call-ID: NDI2ODA4NmE4OTNlYjlhN2NlYzIxYzcxMzc0MTEzZTY.

           第二段通话:Call-ID: 2ffaf428-2148-123b-649f-000c29e7aea9


        2. 一段通话是1006到服务器,另一段通话是服务器到1012


        3. 主叫发起INVITE(编号1)消息携带自己的媒体类型audio(语音),表明这是一个语音通话


        4. 回复100 Trying(编号2和编号4)是防止请求方重传INVITE(按rfc3261协议,如果INVITE发送方未收到任何应答,则会按0.5,1,2,4,8..进行重传,直到累计重传时间达到32秒)


        5. 服务器查找到被叫的地址后,发起一个新的INVITE(编号3)请求到被叫1012


        6. 被叫回复180(编号5,此时被叫会开始振铃提示有来电)


        7. 收到被叫180后,服务器回复主叫180(编号6),此时主叫会产生回铃音(表示被叫正在振铃)


        8.  被叫用户接听,被叫回复服务器200(编号7)。服务器发送ACK到被叫。此时服务器与被叫完成对话建立。被叫开始向INVITE消息中的媒体地址(IP:192.168.1.131,端口:1572)发送rtp语音包


        9. 服务器回复主叫200,主叫向服务器发ACK。此时主叫与服务器完成对话建立。主叫开始向200消息中的媒体地址(IP:192.168.0.24,端口:10004)发送rtp语音包

        10. 呼叫过程中,媒体编码是通过INVITE消息体中的SDP和200消息体中的SDP进行协商的

        11. 通话过程中,文中使用服务器为媒体流透传模式,即主、被叫的RTP包不经过服务器,直接发给对方。实际环境中,有的服务器需要主、被叫媒体流经过。 分析问题时注意观察SDP中的媒体地址。

    展开全文
  • Kurento-SIP-GW

    2021-05-07 18:34:39
    该节点应用程序是使用。 HTML客户端UI是使用Nikolay Talanov的Login / Logout Animation Concept制作的,网址为 。 动机 使用该网关可以轻松地将浏览器连接到任何传统的SIP端点,例如Softphone,PABX或MCU。 它最初...
  • SIP中INVITE的流程
  • 包括登陆和发起呼叫流程
  • SIP制作管理流程.pdf

    2021-10-07 12:52:50
    SIP制作管理流程.pdf
  • SIP 交互流程.doc

    2021-12-02 13:37:50
    SIP 交互流程.doc
  • sip-servlets 常用的 SIP Servlet 应用程序集合
  • SIP交互流程.docx

    2021-11-18 09:16:38
    SIP交互流程.docx
  • SIP是基于Automattic的一个主题,有一个基本的Sass框架和最小的增强 设置充当基地的基础上改进的主题开发流程。 下载并激活 您首先需要通过输入以下命令来克隆此存储库: $ cd /your/WordPress/wp-content/themes/...
  • NkSIP是Erlang SIP框架或应用程序服务器,它极大地促进了健壮且可扩展的服务器端SIP应用程序的开发,例如,, 或出站服务器, , 或负载生成器。 NkSIP可以处理大部分SIP复杂性,同时允许完全访问请求和响应。 一个...
  • 用于规范、指导RFID智能图书管理系统系统所使用的SIP2接口模块的二次开发。本指南适用于遵循3M的SIP2协议、通过Socket进行通讯的所有图书管理系统接口的开发。SIP2协议,全称为:Standard Interchange Protocol ...
  • SIP协议 基本流程 及 抓包数据

    千次阅读 2021-01-25 19:29:26
    1、SIP业务基本知识 1.1 业务介绍 会话初始协议(Session Initiation Protocol)是一种信令协议,用于初始、管理和终止网络中的语音和视频会话,具体地说就是用来生成、修改和终结一个或多个参与者之间的会话。SIP...
  • SIP注册流程

    2020-01-22 17:27:17
    SIP Client SIP Server -------------------------register--------------------> <-----------------401Unauthorize-------------- -------------------------register---...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 26,751
精华内容 10,700
关键字:

sip工作流程

友情链接: LCDdrive877A.zip