PJSIP / PJSUA - Python - 检查注册状态

时间:2015-12-10 16:43:52

标签: python sip voip pjsip

关注 registration.py call.py 示例here我开发了一款效果很好的SIP客户端。

不幸的是,如果SIP服务器重新启动,客户端认为它仍然已注册,则服务器不再注册它,因此客户端不会接收呼叫。

我尝试检查acc.info().reg_status的while循环,但它总是报告“200”(OK)......

您如何让客户持续检查它是否实际已注册,如果没有再次注册?

谢谢,

DK

这是注册码:

# Register to SIP server
acc = lib.create_account(pj.AccountConfig(sip_server, sip_user, sip_password))
acc_cb = MyAccountCallback(acc)
acc.set_callback(acc_cb)
acc_cb.wait()
print "Registration complete [server: %s, user: %s]: status: %s (%s)" % (sip_server, sip_user, acc.info().reg_status, acc.info().reg_reason)
my_sip_uri = "sip:" + transport.info().host + ":" + str(transport.info().port)
print my_sip_uri

1 个答案:

答案 0 :(得分:2)

默认情况下,pjsip会在每600秒后发送重新注册请求。我的意思是保持活动超时默认为600秒。所以您可以根据需要更改它。将其更改为其他值。这是一个示例...

acc_cfg.ka_interval =30;