Python 如何增加PJSUA中的最大传输数? 总结
我试图支持32个具有32个唯一IP:端口地址的唯一帐户。我目前能够在构建期间使用Python 如何增加PJSUA中的最大传输数? 总结,python,c,build,config,pjsip,Python,C,Build,Config,Pjsip,我试图支持32个具有32个唯一IP:端口地址的唯一帐户。我目前能够在构建期间使用config_site.h成功地调整最大帐户(PJSIP\u max_ACC),但传输仍然限于默认的8 除了PJ_IOQUEUE_MAX_句柄和PJSIP_MAX_传输,还需要哪些其他设置来允许总共32个唯一传输? 额外学分:下面的测试代码的C等价物是什么,这样我就可以直接测试库了? 历史的 在了解了如何正确使用config_site.h构建之后,我终于能够在ubuntu15.10install上看到一些结果。不幸的
config_site.h
成功地调整最大帐户(PJSIP\u max_ACC
),但传输仍然限于默认的8
除了PJ_IOQUEUE_MAX_句柄
和PJSIP_MAX_传输
,还需要哪些其他设置来允许总共32个唯一传输?
额外学分:下面的测试代码的C等价物是什么,这样我就可以直接测试库了?
历史的
在了解了如何正确使用config_site.h构建之后,我终于能够在ubuntu15.10
install上看到一些结果。不幸的是,当看到一些变化时,我无法看到完成我的计划所需要的变化;32个传输和32个帐户
我用于尝试这些更改的引用是通过找到的,而和的帮助很少
最终的结果是一个带有8种不同设置的config_site.h
(见下面的代码部分)。不幸的是,它仍然无法让我达到我想要达到的目标
我需要唯一的IP:端口地址,因为我正在尝试通过转发/代理服务器两次重定向的对等VOIP呼叫,导致软件的帐户检测无法一致工作
代码
config_site.h
测试代码(通过Python)
错误
尝试取消设置FD_设置大小:
#包括#未定义#FD#u设置大小#定义#FD#u设置大小32
。。。但你可能希望它高于32。(抱歉格式化,评论中没有换行。)我想你有点。。。我确实在其他地方看到了一些未定义的东西,但它从来没有点击过。。。是的,你是对的,我很可能会把所有的32
提高到1024
。如果我最终能接近这个目标,我将是金色的!现在,通过查看文档,似乎FD_SETSIZE
=\ud_SETSIZE
,我应该在设置之前取消这两个定义吗?嗯,现在出现了新的错误,但这实际上是一件好事,因为这意味着发生了一些变化!我最终取消了FD_SETSIZE和u FD_SETSIZE的定义,并按照我的要求定义了它们。今晚我将玩弄这一点,并更新问题以反映任何结果。太激动了!顺便说一句,我最近被告知pjsua Python绑定正在被弃用,pjsua2 swig绑定将取代它们()。在反复测试构建之后,似乎#include
在构建Python
egg和.o文件时引发了一个问题。。。因为这是我的'psuedo functional'config_site.h
和当前破坏构建的版本之间的唯一区别。另外,我玩了一点pjsua2,但在swig的过程中遇到了一些麻烦,所以我放弃了它,但如果这是下一步,我将不得不进一步研究。尝试取消FD_设置大小:包括未定义FD_设置大小定义FD_设置大小32
。。。但你可能希望它高于32。(抱歉格式化,评论中没有换行。)我想你有点。。。我确实在其他地方看到了一些未定义的东西,但它从来没有点击过。。。是的,你是对的,我很可能会把所有的32
提高到1024
。如果我最终能接近这个目标,我将是金色的!现在,通过查看文档,似乎FD_SETSIZE
=\ud_SETSIZE
,我应该在设置之前取消这两个定义吗?嗯,现在出现了新的错误,但这实际上是一件好事,因为这意味着发生了一些变化!我最终取消了FD_SETSIZE和u FD_SETSIZE的定义,并按照我的要求定义了它们。今晚我将玩弄这一点,并更新问题以反映任何结果。太激动了!顺便说一句,我最近被告知pjsua Python绑定正在被弃用,pjsua2 swig绑定将取代它们()。在反复测试构建之后,似乎#include
在构建Python
egg和.o文件时引发了一个问题。。。因为这是我的'psuedo functional'config_site.h
和当前破坏构建的版本之间的唯一区别。另外,我玩了一点pjsua2
,但在swig
部分时出现了一些并发症,所以我放弃了它,但如果这是下一步,我将不得不进一步研究。
/*
* This file is customized by Ash to (attempt) to override the
* default settings of PJSIP to support much more
*/
#define PJ_IOQUEUE_MAX_HANDLES 32
#define FD_SETSIZE_SETABLE 1
#define __FD_SETSIZE 32
#define PJSIP_MAX_TRANSPORTS 32
#define PJSIP_MAX_RESOLVED_ADDRESSES 32
#define PJSUA_MAX_ACC 32
#define PJSUA_MAX_CALLS 32
#define PJSUA_MAX_PLAYERS 32
import pjsua
lib = pjsua.Lib()
lib.init()
lib.start()
custom_range = 32
transport = dict()
acc = dict()
for x in range(custom_range):
transport[x] = (lib.create_transport(pjsua.TransportType.UDP))
print 'Transport', x, 'created:', transport[x]
for x in range(custom_range):
acc[x] = (lib.create_account_for_transport(transport[x]))
print 'Account', x, 'created:', acc[x]
print 'All Clear. Shutting Down.'
lib.destroy()
lib = None
Traceback (most recent call last):
File "/Users/ashpesante/Documents/Development/PyCharms/pj/32t32a.py", line 12, in <module>
transport[x] = (lib.create_transport(pjsua.TransportType.UDP))
File "/Library/Python/2.7/site-packages/pjsua.py", line 2302, in create_transport
self._err_check("create_transport()", self, err)
File "/Library/Python/2.7/site-packages/pjsua.py", line 2721, in _err_check
raise Error(op_name, obj, err_code, err_msg)
pjsua.Error: Object: Lib, operation=create_transport(), error=Too many objects of the specified type (PJ_ETOOMANY)
Exception AttributeError: "'NoneType' object has no attribute 'destroy'" in <bound method Lib.__del__ of <pjsua.Lib instance at 0x10c0f58c0>> ignored
_pjsua.c: In function ‘py_pjsua_enum_transports’:
_pjsua.c:1202:17: warning: variable ‘status’ set but not used [-Wunused-but-set-variable]
pj_status_t status;
^
_pjsua.c: In function ‘py_pjsua_conf_get_port_info’:
_pjsua.c:2338:9: warning: variable ‘status’ set but not used [-Wunused-but-set-variable]
int status;
^
_pjsua.c: In function ‘py_pjsua_get_snd_dev’:
_pjsua.c:2714:9: warning: variable ‘status’ set but not used [-Wunused-but-set-variable]
int status;
^