gpt4 book ai didi

sip - 在这种情况下,SDP sendonly 意味着打开一个 RTP 音频流吗?

转载 作者:行者123 更新时间:2023-12-02 01:16:00 26 4
gpt4 key购买 nike

我是 sip/sdp 世界的新手。
根据我对 SDP 协议(protocol)的理解,如果我们定义 a=sendonly 从 sip 服务器到客户端软电话,软电话应该打开一个 RTP session 进行监听,但它不应该向目的地发送任何 RTP 数据包。我对么?

在我的例子中,我听不到任何声音,并且有一个 RTP 流来上传音频。注意:我使用的是多播地址。

这是一个 SIP/SDP 转储(从服务器到客户端软件电话):

    SIP/2.0 200 OK    Via: SIP/2.0/UDP 192.168.8.219:5060;branch=z9hG4bK-d8754z-b394381274917501-1---d8754z-;rport=5060    From: ;tag=d67855ee    To: ;tag=KQQHgQ93Sjg1F    Call-ID: YTExMzkwZDdhMGM1NTJmMDJlMGFiYjgxMGI1ZDNmMDI.    CSeq: 2 INVITE    Contact:     User-Agent: FreeSWITCH-mod_sofia/1.2.0-rc2+git~20120623T054003Z~65b2f2d2e7+unclean~20120623T083401Z    Accept: application/sdp    Allow: INVITE, ACK, BYE, CANCEL, OPTIONS, MESSAGE, UPDATE, INFO, REGISTER, REFER, NOTIFY, PUBLISH, SUBSCRIBE    Supported: timer, precondition, path, replaces    Allow-Events: talk, hold, presence, dialog, line-seize, call-info, sla, include-session-description, presence.winfo, message-summary, refer    Content-Type: application/sdp    Content-Disposition: session    Content-Length: 265    v=0    o=FreeSWITCH 1340907341 1340907343 IN IP4 224.168.168.168    s=FreeSWITCH    c=IN IP4 224.168.168.168    t=0 0    a=sendonly    m=audio 34567 RTP/AVP 0 101    a=rtpmap:0 PCMU/8000    a=rtpmap:101 telephone-event/8000    a=fmtp:101 0-16    a=silenceSupp:off - - - -    a=ptime:20

我使用另一个软电话在该地址和端口上多播声音(通过 wireshark 验证)。为什么我听不到声音?

顺便说一下,软电话我用的是xlite,服务器是freeswitch。

最佳答案

a=sendonly 如您所料,是单向流。服务端说要发送数据,不会接收数据,所以客户端必须开启一个监听端口。你做对了。

如果您收不到音频,可能是时候使用像 Wireshark 这样的分析工具了。查看服务器是否实际发送任何 RTP 数据。

关于sip - 在这种情况下,SDP sendonly 意味着打开一个 RTP 音频流吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11256362/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com