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传过去的参数不能大于你设定的最大值。

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

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

    在 Linux Ubuntu 服务器上用 dnx 基于 Kestrel 成功运行一个 ASP.NET 5 站点后,怎么也无无法退出. 运行的命令如下: /data/git/dnx/artifacts/ ...

  2. Css:背景色透明,内容不透明之终极方法!兼容所有浏览器

    转载 http://www.cnblogs.com/jikey/archive/2012/08/31/2665880.html <!DOCTYPE html PUBLIC "-//W3 ...

  3. 清理SQL Server日志释放文件空间的终极方法

    清理SQL Server日志释放文件空间的终极方法  转自:http://www.cnblogs.com/dudu/archive/2013/04/10/3011416.html [问题场景]有一个数 ...

  4. Asp.net操作Excel(终极方法NPOI)(转)

    原文:Asp.net操作Excel(终极方法NPOI) 先去官网:http://npoi.codeplex.com/下载需要引入dll(可以选择.net2.0或者.net4.0的dll),然后在网站中 ...

  5. 3种终极方法,彻底解决CDR不显示缩略图!

    站长所在的印刷出版行业,一般都是使用版本较低的CDR软件,以便更好的兼容出版厂,不然新版本的文件发厂出片时却打不开,而转低版本的话又容易出错.从最开始的 CorelDRAW 9 到现在的 CORELD ...

  6. 解决 android 高低版本 webView 里内容 自适应屏幕的终极方法

    转载请声明出处(http://www.cnblogs.com/linguanh/) 一,先说下我的情况,大家可以对号入座(嫌无聊请跳过) 我的项目要求是这样的,先从数据库里面拿出来html标签,因为加 ...

  7. iPhone中修改iMessage关联手机号码的终极方法

    同事换iPhone时,也换了手机号码,从联通的换成移动的.但iPhone激活后,iMessage始终关联的是以前的手机号码,试了很多方法都没解决. 后来在网上找到一段视频-Fix most iMess ...

  8. [Android设计模式]Android退出应用程序终极方法

    如何干净彻底地退出Android应用程序,是很多开发者的心头痒.如何干净地关闭所有已打开的Activity? 如何关闭指定的Activity? 如何关闭一类Activity? 这里,我们提出一种通过实 ...

  9. EXCEL解析之终极方法WorkbookFactory

    Selenium做自动化测试当然不能避免和Excel打交道. 由于Excel版本的关系,文件扩展名分xls和xlsx, 以往的经验都是使用HSSFWorkbook和XSSFWorkbook来分别处理. ...

随机推荐

  1. 【pyhon】理想论坛单帖爬虫取得信息存入MySql数据库

    代码: # 单帖爬虫,用于爬取理想论坛单个帖子得到发帖人,发帖时间和回帖时间并存入数据库,url例子见main函数 from bs4 import BeautifulSoup import reque ...

  2. gedit如何使用代码片段

    gedit的片段插件 1 打开这个插件   2 以HTML为例,我们看到触发器是doctype   3则我在编辑一个HTML文档的时候,先输入doctype,再按Tab键,将会自动提示,我选择即可插入 ...

  3. ibatis自定义数据类型在不支持中文的数据库存储汉字

    道理很简单,把gbk的汉字转换成iso编码存进数据库就可以了,读出来的时候把iso转换成gbk还原出原始的汉字. ibatis可以自定义类型处理器,在这里面做编码转换再适合不过了! sqlmap-co ...

  4. activeMQ消费消息时网络流量异常大的问题

    http://www.cnblogs.com/baibaluo/archive/2012/12/24/2748468.html#2590289 公司有一个应用,多个线程从activeMQ中取消息,随着 ...

  5. ssh登陆不上

    用ssh key登陆不上某台机A的某个账号xy1,查看A的/var/log/messages,看到有这么句: User xy1 not allowed because account is locke ...

  6. SectionIndexer中的getSectionForPosition()与getPositionForSection()解惑

      大家在做字母索引的时候常常会用到SectionIndexer这个类,里面有2个重要的方法 1.   getSectionForPosition()通过该项的位置,获得所在分类组的索引号 2. ge ...

  7. C语言错误处理方法、C++异常处理方法(throw, try, catch)简介

    一.C语言错误处理方法 1.返回值(if … else语句判断错误) 2.errno(linux 系统调用) 3.goto语句(函数内局部跳转) 4.setjmp.longjmp(Do not use ...

  8. Tomcat服务器配置https协议(Tomcat HTTPS/SSL 配置)

    通常商用服务器使用https协议需要申请SSL证书,证书都是收费的,价格有贵的有便宜的.它们的区别是发行证书的机构不同,贵的证书机构更权威,证书被浏览器否决的几率更小. 非商业版本可以通过keytoo ...

  9. ASP.NET Identity & OWIN 学习资料

    有关 ASP.NET Identity 的更多细节: http://www.asp.net/identity 从一个空项目中添加 ASP.NET Identity 和 OWIN 支持: http:// ...

  10. Java程序(非web)slf4j整合Log4j2

    一.依赖包准备 //slf4j项目提供 compile group: 'org.slf4j', name: 'slf4j-api', version: '1.7.25' //log4j2项目提供 co ...