linphone (Python) 更改端口号

linphone (Python) Change Port number

我正在使用 linphone 3.9

我试图通过更改 SipTransprts 中的端口来更改默认端口 但 5060 仍然是默认值 我的问题是如何在 Linphone 库中更改 udp 和 tcp 的默认端口 python ?

  core = linphone.Core.new(callbacks, None, None)
address = linphone.Address.new("sip:"+username+"@"+domain)
address.username = username
address.port =random.randint(5063,6060) 
print address.port
proxy_cfg = core.create_proxy_config()
proxy_cfg.identity_address = address
proxy_cfg.server_addr = "<sip:"+domain+">"
authInfo = core.create_auth_info(username, None, password, None, None, domain);
core.add_auth_info(authInfo)
proxy_cfg.register_enabled = True
core.add_proxy_config(proxy_cfg)
tp = core.sip_transports
tp.tcp_port=1011
tp.tls_port=1012
tp.udp_port=1013
print '0000000000000000000000000000000000000000'
print core.sip_transports.udp_port
print '0000000000000000000000000000000000000000'
#print 5060
tp = core.sip_transports
tp.tcp_port=1011
tp.tls_port=1012
tp.udp_port=1013
core.sip_transports = tp

基本上就是一个"pointer issue"。因此,例如在 tp = core.sip_transports 中,您正在为 core.sip_transport 分配默认值(即 5060)。然后你制作一个副本,然后重新分配值。您不能直接更改 sip_transport 值。

查看这段代码的最后:https://github.com/BelledonneCommunications/linphone/blob/master/tools/python/unittests/test_register.py