终极方法,pjsip发起多方对讲出错Too many objects of the specified type (PJ_ETOOMANY)

http://blog.csdn.net/zhangjm_123/article/details/26727221

——————————————————————————————————————————————————————————————————————————————

Pjsip提供发起多方对讲功能,允许开发者通过setMaxCalls(int calls)方法设定要发起多少方对讲,最多不能超过32方。但也许很多人发现最多只能设置4方对讲,即使设置了10方对讲 setMaxCalls(10)也不起作用。原因是在我们编译pjsip的时候,pjsip官方在提供给我们的pjproject源代码中做了限制(可能 是其它原因吧),其中一个很重要的常量PJSUA_MAX_CALLS被设成了4,即最大呼叫数量为4.

我们只要修改一下pjproject\pjlib\include\pj\config_site_sample.h和pjproject\pjsip\src\pjsua-lib\pjsua_core.c源文件中的几行代码即可。

其中config_site_sample.h中这行代码中的4就是限定了发起多方对讲的最大值,所以只要把这个4改成你想要的值就行了。但最好不要超过32,官方文档是这样规定的,最好按照要求去做,否则可能会出现一些意想不到的错误。

  1. #define PJSUA_MAX_CALLS     4

在上面的config_site_sample.h源文件中出现多处#define PJSUA_MAX_CALLS   4 ,这可能是和不同的平台有关,反正如果你的程序不涉及到不同平台需要限定发起多方对讲的最大值的话,全部都设成同一个值就行了。如:设置最大发起对讲为16方,#define
PJSUA_MAX_CALLS   16。

另外,还需要修改一下pjsua_core.c文件:

  1. cfg->max_calls = ((PJSUA_MAX_CALLS) < 4) ? (PJSUA_MAX_CALLS) : 4;

把4改为你想要设定的值,如:cfg->max_calls = ((PJSUA_MAX_CALLS) < 16) ? (PJSUA_MAX_CALLS) : 16;

改完这两个文件之后,保存,重新编译一次pjsip。编译完成之后,setMaxCalls(int calls)方法就起作用了,但int calls传过去的参数不能大于你设定的最大值。

时间: 2024-12-25 13:25:35

终极方法,pjsip发起多方对讲出错Too many objects of the specified type (PJ_ETOOMANY)的相关文章

防止SSL劫持的终极方法

众所周知,我们正处在一个存在着各种诈骗.劫持的网络年代,我们的各种帐号密码很多时候都能很容易地被黑客窃取.由此很多网站使用HTTPS来保护用户的信息不被窃取.而HTTPS本身所使用的SSL协议也并不是完美无缺,即使能确保本机安全,也还存在着各种SSL劫持了,令人防不胜防.影史十大最性感丝袜美腿镜头 曾经发生过并被大众知晓的SSL劫持有:Comodo CA被黑客入侵用于伪造SSL证书.DigiNotar CA被黑客入侵用于伪造SSL证书.法国政府伪造CA证书用于劫持Gmail等.当然,还有广为流传

Net操作Excel(终极方法NPOI)

http://www.cnblogs.com/stone_w/archive/2012/08/02/2620528.html Net操作Excel(终极方法NPOI) 前言 Asp.net/C#操作Excel已经是老生长谈的事情了,可下面我说的这个NPOI操作Excel,应该是最好的方案了,没有之一,使用NPOI能够帮助开发者在没有安装微软Office的情况下读写Office 97-2003的文件,支持的文件格式包括xls, doc, ppt等.NPOI是构建在POI 3.x版本之上的,它可以在

Linux中强制结束一个进程的终极方法

在 Linux Ubuntu 服务器上用 dnx 基于 Kestrel 成功运行一个 ASP.NET 5 站点后,怎么也无无法退出. 运行的命令如下: /data/git/dnx/artifacts/build/dnx-coreclr-linux-x64/bin/dnx . kestrelStarted 但运行之后,怎么也退不出.不管是按回车,还是按ctrl-C,还是按ctrl-Z. Started ^C^Z 直接关闭客户端 ssh 窗口,命令依然在运行,站点依然可以正常访问. 然后重新用 ss

让女人脱衣服自动终极方法#

男人泄欲网站< / SPAN> < / P > 架飞机撞上一个人的地方< / SPAN> < / P > 男人疯狂< / SPAN> < / P > 一个男人的天堂,女人的王国莛 < / SPAN> < / P > 男人泄欲网站< / SPAN> < / P > <跨度风格="字体大小:12px ; " >女人高潮,其中# < / SPAN>

新辰:十种外链终极方法 让SEOer外链之路不再孤独!

大家都知道,外链就是指从别的网站导入到自己网站的链接,导入链接对于新辰网站优化来说是非常重要的一个过程.因此,新辰认为,对于中小型网站来说,外链可是优化的重中之重!因为也有了"外链专员"一说,新辰觉得这只是SEO得最基础的阶段,不是都说SEO的最高境界就是脱离SEO吗?不过,这次还行要说一下外链. 新辰认为,外链不是想象的那样简单,不是简单的在论坛上发个回复,留给签名,因为这基本上算是垃圾外链,也就是行业中所说的:外链工厂.那么我们究竟要怎么去发外链?发外链有没有什么方法?且跟着新辰往

解决粘包问题终极方法

解决粘包问题终极方法 #server粘包 import socket import subprocess import struct soc=socket.socket(socket.AF_INET,socket.SOCK_STREAM) soc.bind(('127.0.0.1',8001)) soc.listen(3) while True: print('等待客户端连接') conn,addr=soc.accept() print('有个客户端连接上了',addr) while True:

【转】Eclipse下配置CDT和MinGW终极方法。

网上关于Eclipse中配置CDT和MinGW的教程很多,但大部分都比较早,有些方法已经不适合现在的版本了.为了让那些喜爱Eclipse,计划在Eclipse平台下开发C++的爱好者不至于因为第一步没有迈开,而放弃一个绚丽多彩的Eclipse世界,我就在这介绍一些在Eclipse下配置CDT和MinGW的方法. 网上有许多介绍Eclipse配置的文章,但大多步骤较多,令人望而却步.在这里,第一部分先介绍Eclipse的安装,第二部分是CDT+MinGW的傻瓜式安装教程.第三部分是CDT+MinG

无法启动MYSQL服务”1067 进程意外终止”解决办法——汇总及终极方法

自己一开始按照百度经验里的方法--<MySQL下载安装.配置与使用(win7x64)>去安装和配置,但是到后面步骤总是出现1067代号的错误.慢慢折腾去解决. 这里汇总各种导致mysql提示无法启动MYSQL服务"1067 进程意外终止"的一些解决办法.自己遇到这个问题是查了很多方法不行,最后看到一个论坛的讨论,试了一下竟然可以.一下是网上的部分方法,最后可以的那个方法我放在最后面: 启用MySql服务的时候出现"windows无法启动mysql服务(位于本地计算

[转载]手动解决dll文件无法删除的终极方法

相信大家都遇见过:在删除一些软件的时候弹出某某文件正在运行或磁盘写保护不能删除这样的报错提示吧.而常常删除不掉的都一些后缀为.dll的文件.到底这个dll文件是什么文件,如何才能知道是哪些程序在调用这个dll文件呢? [基础理论] dll文件英文名称为Dynamic Linking Library,以下简称dll,中文名字"动态链接程序库"文件.在Windows中,许多应用程序并不是一个完整的可执行文件,它们被分割成一些相对独立的动态链接库,即dll文件,放置于系统中.当我们执行某一个