- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在使用 pjsua 的 python 模块并尝试注册到 PBX。
这是代码:
import sys
import pjsua as pj
import threading
def log_cb(level, str, len)
print str,
class MyAccountCallback(pj.AccountCallback)
sem = None
def __init__(self, account)
pj.AccountCallback.__init__(self, account)
def wait(self)
self.sem = threading.Semaphore(0)
self.sem.acquire()
def on_reg_state(self)
if self.sem
if self.account.info().reg_status = 200
self.sem.release()
lib = pj.Lib()
try
lib.init(log_cfg = pj.LogConfig(level=4, callback=log_cb))
lib.create_transport(pj.TransportType.UDP, pj.TransportConfig(5060))
lib.start()
acc = lib.create_account(pj.AccountConfig("181.21.200.109:5060", "561123", "admin"))
acc_cb = MyAccountCallback(acc)
acc.set_callback(acc_cb)
acc_cb.wait()
print n
print Registration complete, status=, acc.info().reg_status,
( + acc.info().reg_reason + )
print nPress ENTER to quit
sys.stdin.readline()
lib.destroy()
lib = None
except pj.Error, e
print Exception + str(e)
lib.destroy()
PBX IP 是 181.21.200.109,我尝试注册的号码是 123456,至于密码 - 我只输入 123(我不认为 PBX 需要密码)。
我从 PBX 收到一个 sip 数据包 SIP 403 禁止(错误的身份验证)。
为了进行比较,我查看了来自另一个注册成功的 sip 客户端的另一个注册数据包。 (PBX发回OPTIONS包)。
这是数据包:
此数据包收到 FORBIDEN(错误身份验证)响应(失败)
REGISTER sip:181.21.200.109:5060 SIP/2.0
Via: SIP/2.0/UDP 181.21.200.50:51117;rport;branch=z9hG4bKPj36c48c6ff87b47ac86c9036e0acbaed4 (Different)
Route: <sip:181.21.200.109:5060;lr> (Different)
Max-Forwards: 70
From: <sip:561123@181.21.200.109>;tag=10a3290c7748480c9c0808366ae0c840 (Different)
To: <sip:561123@181.21.200.109> (Different)
Call-ID: 94f280c9cfcf41539b500ff39582a1ef
CSeq: 21606 REGISTER
User-Agent: pjsip python
Contact: <sip:561123@181.21.200.50:51117;ob> (Different)
Expires: 300
Allow: PRACK, INVITE, ACK, BYE, CANCEL, UPDATE, INFO, SUBSCRIBE, NOTIFY, REFER, MESSAGE, OPTIONS - (Different Options)
Authorization: Digest username="561123", realm="asterisk", nonce="21f4ad6b", uri="sip:181.21.200.109:5060", response="62a339057d2b4e3fed4d368ff94f6d46", algorithm=MD5
Content-Length: 0
此数据包获得 OPTIONS 响应(成功)
REGISTER sip:181.21.200.109:5060 SIP/2.0
Via: SIP/2.0/UDP 181.21.200.150;rport;branch=z9hG4bK4H5Z6Z2myFUNr
Max-Forwards: 70
From: <sip:561123@181.21.200.109:5060>;tag=307m6Zy8cj7pa
To: <sip:561123@181.21.200.109:5060>
Call-ID: f3ce9234-40e3-1233-a783-5c6b32d1a9b5
CSeq: 3 REGISTER
Contact: <sip:561123@181.21.200.150>
User-Agent: sofia-sip/1.12.11
Allow: REGISTER, INVITE, ACK, BYE, CANCEL, OPTIONS, MESSAGE, SUBSCRIBE, REFER, UPDATE, INFO
Supported: timer, 100rel, path
Authorization: Digest username="561123", realm="asterisk", nonce="7625cf17", algorithm=MD5, uri="sip:181.21.200.109:5060", response="dca3173b2159f812481ca0c96b10a751"
Content-Length: 0
有人知道为什么我会收到禁止的回复吗?我的代码有问题吗?
提前致谢
最佳答案
您的 PABX 确实需要这些帐户的密码(否则我们将看不到随机数、响应和授权 header 本身),因此请确保密码有效。如果找不到帐户(配置:alwaysauthreject=yes),并且您的日志没有澄清这一点,那么 Asterisk 也可能会拒绝 403 注册,因为您尝试从 python 和独立客户端注册不同的扩展。
最好使用相同的分机进行比较(但不要尝试同时将两个软件电话注册到同一分机)。
关于python - pjsua - 禁止 403(错误的身份验证),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28672233/
如何获取python pjsua? $ wget http://www.pjsip.org/release/2.1/pjproject-2.1.tar.bz2 $ tar xvfj pjproject
我在尝试导入 python 模块 pjsua 时遇到以下错误。我有 Mac OS 10.8.1 版本。我验证了http://www.darrensessions.com/?p=292中提供的解决方案并
大家好! 我正在尝试使用以下分支编译 pjsua: http://svn.pjsip.org/repos/pjproject/branches/projects/android/ .我有尝试将 (ad
我正在尝试编译并运行一个使用 PJSua 构建的小型 c 应用程序。当我尝试运行该应用程序时,出现大量错误,其中之一如下: Undefined symbols for architecture x86
我有一个使用 pjsip 的 iOS Voip 应用程序。而且我必须将所有来自 pjsip 的日志写入文件,但我不知道如何以及从哪里开始。谁能帮帮我? 最佳答案 要将日志从 pjsua 写入文件,我们
我在 Raspberrypi 上使用 PJSIP 2.7 和 Python,我有 2 个问题: 问题 1: 我怎么知道可用的编解码器?我正在使用 enum_codecs() 方法列出编解码器,但它返回
我在 Linux 上使用 pjsip 2.3 时遇到了一些问题。该系统可以正常工作数天。但是过了一段时间,声卡就没有声音了: 所有来电正常挂断/挂断 文件中的声音正常 RTP 正确发送/接收 日志消息
我尝试创建多个 sip 帐户,这些帐户应该与不同的服务器一起工作,但只有在其中一个服务器可用时才能同时与一个服务器一起工作。我可以轻松地创建具有不同 IP 和 SIP 号码的帐户,并且工作正常。但是在
我正在尝试构建和运行 pjsip 的 pjsua 示例应用程序并已成功构建它。 我已经关注了这个 PJSIP教程。 ID : sip:150@123.12.xxx.123:5060 注册商:sip:1
我正在使用 pjsua 的 python 模块并尝试注册到 PBX。 这是代码: import sys import pjsua as pj import threading def log_cb(l
我正在尝试使用 pjsua 向 SIP 服务器发出 SIP 请求,pjsua 是 pjsip 的 SIP 客户端(版本 2.10,2020-02-14)。以这种方式启动客户端: pjsua-x86_6
我希望使用 Android Pjsua2 库在不丢失音频调用的情况下即时暂停和取消暂停视频通话中的视频传输。但是有些我无法理解如何实现该功能来采样 android pjsua2 应用程序。任何帮助将不
我已成功构建适用于 Android 的 pjsua 示例应用程序...但是,没有说明下一步如何进行...是否有关于如何使用示例应用程序作为 SIP 调用基础的有用教程?! 最佳答案 Follow th
我正在编写一个脚本,该脚本使用 curses 在屏幕底部生成一个主窗口和一个日志窗口。 似乎当我导入 pjsua 时它坚持打印到屏幕,即使我已将日志级别设置为 0。这是它输出的内容: 15:49:09
我正在尝试使用 Visual Studio 2012 在 Windows 中构建 _pjsua C 扩展。 我从这里下载了源代码 - http://www.pjsip.org/download.htm
我正在使用 PJSUA 在 android 中开发 VOIP 应用程序,在这里我想静音通话 我正在阅读与 PJSUA 相关的文档,我找到了用于此目的但无法在 android APP 中实现的方法,请任
进口pjsua 这是我第一次在 python 中使用 pjsua 库,我试图在 ubuntu 20 上导入它,它给了我一个错误 ->没有名为“pjsua”的模块 有人可以帮我安装吗? 最佳答案 pyt
我正在使用 pjsua 模块维护一个 python/QT 应用程序 (Linux Mint),该模块旨在处理多个传入的 SIP 调用。这是一个旧版本,1.x。 我发现这个模块与随 Linux Mint
您好,我正在尝试为 Android 视频通话编译 pjsua。在执行 pjusa 上的步骤后我收到以下错误。 ../src/pjsua/pjsua_app_cli.c:1253: error: und
所以我正在使用 C 编写一个带有 PJSUA 的软电话客户端。所以首先我尝试了 pjsip-homepage 给出的示例。现在我在注册到我的 Asterisk 服务器时遇到错误,但我无法弄清楚为什么会
我是一名优秀的程序员,十分优秀!