【问题标题】:openSIPs 403 "Externa SIP domain forbidden" erroropenSIPs 403“禁止外部 SIP 域”错误
【发布时间】:2011-10-05 04:34:27
【问题描述】:

我正在尝试了解我的软电话如何发出 BYE 以挂断,以便我可以在其他地方重新创建它。下面是 ZoIPer 发送到运行 SIP 信令软件的服务器的数据包。

我正在尝试构建此字符串并成功挂断某人,但我总是收到 400、403、407、481 和 503 错误。问题是我无法确定 Route 标头中“did”的值来自哪里,也不知道 Via 标头中的“branch”值来自哪里。 Asterisk 公开了所有其他参数供我使用,而不是这两个。

如何确定“did”和“branch”?

此外,此示例使用 Proxy-Authorization,但对于短调用,ZoIPer 省略了此行。

BYE sip:user1@astHost SIP/2.0
Via: SIP/2.0/UDP 192.168.1.183:5060;branch=z9hGda4bK-d8754z-678f2d4d1e5-1---d8754z-
Max-Forwards: 70
Route: <sip:sipHost;lr;ftag=733a98721;did=c0f.22438545>
Contact: <sip:user2@192.168.1.183:5060;transport=UDP>
To: <sip:user1@mydomain;transport=UDP>;tag=as4f57c9b8a
From: <sip:user2@mydomain;transport=UDP>;tag=733a98721
Call-ID: Nzg1ZTEyYTg4NasdlkSZLK3j10.
CSeq: 3 BYE
Proxy-Authorization: Digest username="bobby",realm="TomTest.voip.snohio.net",nonce="4e8a1b1700005997e6b1d8732be4b4c01f56d27a6d2dd80b",uri="sip:103@74.115.42.220:5060",response="3dbb0f4cbb0000c7786975cf043e6898",algorithm=MD5
User-Agent: Zoiper rev.11137
Content-Length: 0

谢谢。

【问题讨论】:

    标签: sip asterisk


    【解决方案1】:

    branchBYE 事务的标识符。它必须以z9hG4bK 开头并且是全局唯一的,否则其精确格式由实现者自行决定。在请求中,无论用户代理发送请求,都会添加branch 参数。在你的情况下,Zoiper 会计算它。

    大多数 SIP 标头可以携带任意参数,这里 ftagdid 是此类参数的示例。根据IANA registry,它们不是任何 SIP RFC 的一部分,因此可能意味着什么。它看起来是 Asterisk 内部的东西。最好的办法是不理会 Route 标头。

    对于BYE,重要的部分是FromTo 标头中的Call-IDtag 参数。弄错这些,您将收到481 Call/Transaction Does Not Exist 回复。

    如果您的 Authorization (403) 或 Proxy-Authorization (407) 凭据不正确,您将收到 403 和 407 响应。

    503 响应表明您的代理太忙,无法处理您的请求。

    【讨论】:

    • 谢谢。是的,我最终在 RFC 中找到了 Magic Cookie 前缀。另外,我刚刚删除了 did 标签,事情开始起作用了……一点点。如果我正确设置了买入,我似乎只会终止我的通话的一个分支,这意味着出站分支出现对其他用户有效,但线路已死。
    猜你喜欢
    • 1970-01-01
    • 2016-06-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-20
    相关资源
    最近更新 更多