SDP在pjsip中的应用

本文介绍了SDP在pjsip中的应用,详细阐述了从拨打者发起呼叫到接听者接收过程中的SDP状态转换。在拨打者发送invite消息时,会携带本地SDP,接听者收到后创建自己的SDP并进行协商。SDP的生成和协商过程涉及到媒体匹配和codec选择,顺序和兼容性是关键因素。
摘要由CSDN通过智能技术生成
  • SDP的定义参见http://www.ietf.org/rfc/rfc2327.txt
  • SDP在pjsip中的状态转换(图片来自pjsip开发文档

  • 结合pjsip2.0源码分析一下上面这张图:
    • 假设两个人做视频通话,一方是拨打者,一方是接听者,拨打者发送sip invite消息, 接听方接收消息
    • 拨打者开始打电话,会回调on_make_call_med_tp_complete, 在该方法中调用pjsua_media_channel_create_sdp创建本地的sdp, 并保存在pjmedia_sdp_neg.neg_local_sdp,此sdp在发送invite时会一起发给接听方, 此时拨打方的sdp状态即LOCAL OFFER。
    • 当接听者收到sdp消息后,调用inv_check_sdp_in_incoming_msg,将收到sdp保存在pjmedia_sdp_neg.neg_remote_sdp,
      然后回调pjsua_call_on_rx_offer创建本地sdp(方法同样是pjsua_media_channel_create_sdp), 将该sdp保存在pjmedia_sdp_neg.neg_local_sdp,
      此时sdp的状态变为WAIT NEGO, 然后在inv_check_sdp_in_incoming_msg中调用inv_negotiate_sdp进行协商
    • 当拨打方收到接听方返
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值