在PJSIP的相关函数中(例如pjsua_call_make_call等),都增加了线程注册的判断,

下面以pjsua_call_make_call为例说明:

如果执行pjsua_call_make_call的线程没有在pjsip中注册过,就会assert中断,提示未知线程,需要使用pj_thread_register注册才可以

所以我们只要在线程中先执行以下注册代码,然后再执行pjsua_call_make_call就可以了

//线程注册
pj_status_t pjcall_thread_register(void)
{  static pj_thread_desc  desc;  pj_thread_t*    thread = 0;  if (!pj_thread_is_registered())  {  return pj_thread_register(NULL, desc, &thread);  }  return PJ_SUCCESS;
}
//呼叫线程
DWORD WINAPI CallThreadProc( LPVOID pParam )
{  pjcall_thread_register();//首先注册当前线程
onCallByTwoNumber((WPARAM)pParam, NULL);//该函数内部执行了pjsua_call_make_call就不会报错了return 0;
}

在线程中调用PJSIP中的呼叫出现提示注册线程pj_thread_register的解决方法相关推荐

  1. 天马行空W:在C++中调用DLL中的函数

    1.dll的优点 代码复用是提高软件开发效率的重要途径.一般而言,只要某部分代码具有通用性,就可将它构造成相对独立的功能模块并在之后的项目中重复使用.比较常见的例子是各种应用程序框架,ATL.MFC等 ...

  2. 在C++中调用DLL中的函数

    1.dll的优点 代码复用是提高软件开发效率的重要途径.一般而言,只要某部分代码具有通用性,就可将它构造成相对独立的功能模块并在之后的项目中重复使用.比较常见的例子是各种应用程序框架,ATL.MFC等 ...

  3. 在form2中调用form1中的方法并改变form1中控件值的另一种方法

    在窗体编程中,经常碰到到要在form2中调用form1中的方法并改变form1中控件值,但是又不能用new form1这种方法,因为这是生成一个实例. 网上有些说法是用委托和事件,笔者尝试没有成功,可 ...

  4. oracle中“ORA-00060: 等待资源时检测到死锁” 或存储过程编译卡死 解决方法

    oracle中"ORA-00060: 等待资源时检测到死锁" 或存储过程编译卡死 解决方法 参考文章: (1)oracle中"ORA-00060: 等待资源时检测到死锁& ...

  5. linux 安装程序丢失链接动态库,Linux安装软件过程中提示缺少动态链接库.so的解决方法...

    Linux在安装软件的时候有时会出现错误,提示缺少动态链接库.so,该问题是由什么原因导致的呢? 情况分析: 1.缺少动态连接库.so-cannot open shared object file:N ...

  6. Proxmox VE中出现TASK ERROR: command ‘apt-get update‘ failed: exit code 100的解决方法

    Proxmox VE中出现TASK ERROR: command 'apt-get update' failed: exit code 100的解决方法 参考文章: (1)Proxmox VE中出现T ...

  7. iOS中 H5的input输入框focus()无法自动拉起键盘(解决方法)

    iOS中 H5的input输入框focus()无法自动拉起键盘(解决方法) 参考文章: (1)iOS中 H5的input输入框focus()无法自动拉起键盘(解决方法) (2)https://www. ...

  8. VS2017 启动调试出现 无法启动程序“http://localhost:15613” 操作在当前状态中是非法的。 同时附加进程也是错误的解决方法

    VS2017 启动调试出现 无法启动程序"http://localhost:15613" 操作在当前状态中是非法的. 同时附加进程也是错误的解决方法 参考文章: (1)VS2017 ...

  9. ios系统微信浏览器、safari浏览器中h5页面上拉下滑导致悬浮层脱离窗口的解决方法

    ios系统微信浏览器.safari浏览器中h5页面上拉下滑导致悬浮层脱离窗口的解决方法 参考文章: (1)ios系统微信浏览器.safari浏览器中h5页面上拉下滑导致悬浮层脱离窗口的解决方法 (2) ...

最新文章

  1. 运维需要掌握的基础知识
  2. MongoDB 分页查询的方法及性能
  3. 手机游戏美术外包的四大优点及三大建议
  4. javascript功能_最新版本JavaScript仅具有2个新功能。 这是他们的工作方式。
  5. 用Semisynchronous Replication半同步,mk-table-checksum数据同步一致性检查,监控主从同步运行状态的脚本等方式加强SQL性能和数据审核...
  6. 五、概念数据模型(CDM生成LDM,PDM和OOM)
  7. 内存对齐的规则与作用
  8. Android--记录莫名其妙的引用、依赖冲突解决办法
  9. Jsp 中taglib标签的妙用
  10. AutoCAD工具栏中没有工具栏选项
  11. 你还发现了CSDN那些变化
  12. [分享].Net脱壳利器de4dot介绍
  13. 导数定义考法一网打尽
  14. python查看mac的usb信息_Python实现的读取电脑硬件信息功能示例
  15. 联想340c笔记本cpu能升级吗_笔记本电脑可以升级CPU吗
  16. 用Android和node.js实现扫码登录
  17. 通过GitHub静态网页托管,十分钟制作一份精美的在线网页简历
  18. Rocky——CentOS的延续(原版开发人员)安装与安装后必要操作(个人版)
  19. SpringCloud的实用篇
  20. 中兴捧月比特派E题——反复横跳

热门文章

  1. 下载3D元件模型导入Altium Designer并制作PCB元件库
  2. 如何集中注意力,专注地干一件事情?
  3. 【SQL注入-13】利用SQL注入漏洞读写文件案例
  4. 手机上的 Google 地图
  5. 源声|操作系统十年磨一剑,幕后的坚挺、不懈与客户第一
  6. cpu满载寿命_电脑寿命逐个谈:CPU、内存最长寿,反倒是这个配件最爱坏
  7. 车联网发展的昨天和明天
  8. SQL学习记录2--基础查询与排序
  9. 东华大学计算机年薪,东华大学毕业生薪酬高吗?东华大学什么专业工资高 毕业生就业率...
  10. python制作飞机大战游戏准备工作相关知识点