Python 如何增加PJSUA中的最大传输数? 总结

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上看到一些结果。不幸的

我试图支持32个具有32个唯一IP:端口地址的唯一帐户。我目前能够在构建期间使用
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; 
     ^