SIP/XMPP:ejabberd 和 mod_register:注册:禁止

Posted

技术标签:

【中文标题】SIP/XMPP:ejabberd 和 mod_register:注册:禁止【英文标题】:SIP/XMPP: ejabberd and mod_register: REGISTER: forbidden 【发布时间】:2019-09-26 14:23:55 【问题描述】:

我正在尝试在本地计算机上使用 ejabberd,但无法从客户端成功注册。

我几乎尝试了 mod_register 模块上的所有设置组合,但仍然失败并出现 FORBIDDEN 错误。

当前在 ejabberd.yml 中尝试的配置是:

mod_register: ip_access: 全部 访问:全部 access_from:全部

REGISTER sip:192.168.1.68;transport=tcp SIP/2.0
Via: SIP/2.0/TCP 192.168.1.85:57353;rport;branch=z9hG4bKPj3jvWXSQOzXsmbWdugH8q-ELJns0auMeg;alias
Max-Forwards: 70
From: <sip:f34eda64-7d0f-4e67-8768-8e2937d8812c@ccc-bdp.local>;tag=dIXpNqnkhukX7GVZhgk6lNXNR9MXJD0F
To: <sip:f34eda64-7d0f-4e67-8768-8e2937d8812c@ccc-bdp.local>
Call-ID: kwbzf.F3vjJHLTaOBQ3ShnX94efDkWcJ
CSeq: 34599 REGISTER
Supported: outbound, path
Contact: <sip:f34eda64-7d0f-4e67-8768-8e2937d8812c@192.168.1.85:57352;transport=TCP;ob>;+sip.ice;reg-id=1;+sip.instance="<urn:uuid:00000000-0000-0000-0000-00000e448c72>"
Expires: 3600
Allow: PRACK, INVITE, ACK, BYE, CANCEL, UPDATE, INFO, SUBSCRIBE, NOTIFY, REFER, MESSAGE, OPTIONS
Content-Length:  0

14:16:51.283 [debug] SIP [tcp/out] ::ffff:172.17.0.4:5060 -> ::ffff:192.168.1.85:57353:
SIP/2.0 403 Forbidden
Via: SIP/2.0/TCP 192.168.1.85:57353;branch=z9hG4bKPj3jvWXSQOzXsmbWdugH8q-ELJns0auMeg;alias;received=192.168.1.85;rport=57353
Max-Forwards: 70
From: <sip:f34eda64-7d0f-4e67-8768-8e2937d8812c@ccc-bdp.local>;tag=dIXpNqnkhukX7GVZhgk6lNXNR9MXJD0F
Call-ID: kwbzf.F3vjJHLTaOBQ3ShnX94efDkWcJ
CSeq: 34599 REGISTER
To: <sip:f34eda64-7d0f-4e67-8768-8e2937d8812c@ccc-bdp.local>;tag=2592351295-2481125905
Server: ejabberd 19.02
Content-Length: 0

任何想法表示赞赏。

【问题讨论】:

【参考方案1】:

https://github.com/processone/ejabberd/blob/919c9d6fb1bea9f19551a7d5d7204a769a621a3e/src/mod_sip.erl

确保 ejabberd.yml 中的 hosts-field 已包含 REGISTER 请求的 request-URI 中指定的域。

【讨论】:

以上是关于SIP/XMPP:ejabberd 和 mod_register:注册:禁止的主要内容,如果未能解决你的问题,请参考以下文章

iChat 如何开始对话?

如何通过sip在android中发送短信

ejabberd:跟踪名册和存在导致错误

ejabberd 和推送通知

Django + Strophe + ejabberd - 附加和群聊的麻烦

集群 ejabberd 的 MUC 和 PubSub 主机