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. 【python】列出http://www.cnblogs.com/xiandedanteng中所有博文的标题

    代码: # 列出http://www.cnblogs.com/xiandedanteng中所有博文的标题 from bs4 import BeautifulSoup import requests u ...

  2. (剑指Offer)面试题41:和为s的两个数字

    题目: 输入一个递增排序的数组和一个数字s,在数组中查找两个数,使得它们的和正好是s,如果有多对数字的和等于s,输出任意一对即可. 思路: 1.枚举 固定一个数字,然后依次判断数组中该数字后面的数字与 ...

  3. 显示游戏FPS帧率的几种计算方式

    FPSDisplay.cs using UnityEngine; using System.Collections; public class FPSDisplay : MonoBehaviour { ...

  4. python urllib2 httplib HTTPConnection

    httplib实现了HTTP和HTTPS的客户端协议,一般不直接使用,在python更高层的封装模块中(urllib,urllib2)使用了它的http实现. import httplib conn  ...

  5. Jquery重新学习之三[属性addClass(),removeClass(),toggleClass()]

    1:属性.addClass(class|fn)及.removeClass(class|fn) 1.1 .addClass(class) 参数class一个或多个要添加到元素中的CSS类名,请用空格分开 ...

  6. Vue中使用节流Lodash throttle

    在Vue中,有时需要对ajax请求提交进行节流操作.这时候,如果页面在请求成功之后会跳转,使用vue指令once或者加载一个loading遮罩禁止点击即可,但如果请求之后不跳转,并且loading不适 ...

  7. ip段/数字,如192.168.0.1/24的意思是什么?(转)

    ip段/数字,如192.168.0.1/24的意思是什么? 踩踩 0作者:Admin 发表日期:2013-10-31 复制链接 收藏 首先来了解一下二进制的转换知识: 二进制数转换成十进制数 二进制的 ...

  8. Java 的抽象特性:抽象类与接口深度解析

    要点: 抽象类 接口 抽象类与接口的差别 一. 抽象 对于面向对象编程来说,抽象是它的四大特征之中的一个. 在Java中,能够通过两种形式来体现OOP的抽象:接口和抽象类. 接口和抽象类为我们提供了一 ...

  9. spring 发送邮件问题

    public void sendEmail() throws Exception { JavaMailSenderImpl senderImpl = new JavaMailSenderImpl(); ...

  10. Android中将一个图片切割成多个图片[转]

    有种场景,我们想将一个图片切割成多个图片.比如我们在开发一个拼图的游戏,就首先要对图片进行切割. 以下是封装好的两个类,可以实现图片的切割.仅供参考和学习. 一个是ImagePiece类,此类保存了一 ...