吐个槽:

http://tryit.jssip.net/  这个毛东西,默认是要使用视频的,而且没得设置不使用,至少我没看到有设置的!!!(其实就是写死了,翻了他的js代码的-_-||)

设置连接到自己的FreeSWITCH服务器也很简单:

然后 登陆/注册那里要填"you name" 随便填就好了.

好了, 到这里, 我们已经可以注册上了,然后打电话吧,,,,

然后你有米有发现,  contact 是一堆随机字符,  O(∩_∩)O哈哈~

fs 的 esl 事件里看到 不知道是谁...

要命...

哦,对了, 这里呼出也是有问题的, 哈哈

要设置 Session expires

FreeSWITCH 默认设置要求 Session Expires 不低于120

JsSIP.C.SESSION_EXPIRES=120,JsSIP.C.MIN_SESSION_EXPIRES=120;

不然你打不出的, O(∩_∩)O哈哈~~~o(>_<)o ~~

对了, 继续上一个问题, contact的随机字符串的问题,

然后又去研究代码了,  原因嘛,我喜欢研究别人的js代码, 毛病,  ,,,找不到文档说明呀o(╥﹏╥)o

然后又试 , 按照 内部js的搞, configuration 加参数:

contact_uri:new JsSIP.URI('sip',8004,'192.168.1.254',null,{transport:'ws'})

结果new JsSIP.UA(configuration)直接报错,contact_uri不能赋值为对象,只能是string, 准备去看看改掉?? 这样子不行啊

于是又拿不同方式注册的 siptrace 对比, 看到

Contact: <sip:8004@pud927611qgg.invalid;transport=ws>;+sip.ice;reg-id=1;+sip.instance.....

这里有transport=ws   (transport=wss 也是行的啦)

可是内部是会把contact_uri变成对象的, 怎么搞,

算了 试试咯

contact_uri: 'sip:'+u+'@'+fsip+';transport=ws'

嗯, 结果是成功的,呼叫的esl事件里的 也有了分机号可以识别了

如此, 填了两个坑,以上!

然后还有个问题, 不管呼入还是呼出,调整了 fs的 codec 编码的 , 也还是报编码问题, 不能通话, 一接就挂

然后还有 ACL 的问题, 明天再折腾

,附图:

报错:

编码问题貌似是要手工设置转码...

<X-PRE-PROCESS cmd="set" data="media_mix_inbound_outbound_codecs=true"/>

参考1:http://freeswitch.net.cn/164.html

参考2:https://freeswitch.org/confluence/display/FREESWITCH/Codec+Negotiation

-------------更新线----------------------------------------------------------------------------------

其实不需要这些这么折腾, acl.conf.xml 中加:

<list name="wan.auto" default="allow">
<node type="allow" cidr="you-ip/24"/>
</list>

就应该能解决 ACL 问题,,,,应该差不多吧, 我就试了下,好像有些作用的...

而且我是使用的另一种办法(没用这个配置了): 改源代码,,,,O(∩_∩)O哈哈~

代码如下: (switch_core_media.c)

1 if (!engine->cand_acl_count) {
2     engine->cand_acl[engine->cand_acl_count++] = "localnet.auto";// "wan.auto";//lzpong 2018/11/15
3     switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(smh->session), SWITCH_LOG_WARNING, "NO candidate ACL defined, Defaulting to localnet.auto not wan.auto -- lzpong 2018/11/15\n");
4 }

至于解码,嗯...... 其实不需要折腾啦, 一点都不需要!!!

我用的是1.6.20,  都支持啦,浏览器也都支持啦!

省事!

其实没声音,也可能是没有给输出设备哟(比如: <audio/>),,就这个我折腾不少时间, 才想到, 然后有折腾(因为官网没例子说明....坑爹不,,,个官网,都多长时间了,文档都缺缺的...)

audioPlayer.srcObject=session.connection.getRemoteStreams()[0];

也可以使用 mod_verto : https://blog.csdn.net/jiaojian8063868/article/details/79020024

转载于:https://www.cnblogs.com/lzpong/p/9965319.html

JsSIP 注册,拨打填坑相关推荐

  1. spring cloud eureka注册原理-注册失败填坑

    写在前面 我们知道Eureka分为两部分,Eureka Server和Eureka Client.Eureka Server充当注册中心的角色,Eureka Client相对于Eureka Serve ...

  2. 传统行业转型微服务的挖坑与填坑

    原文:传统行业转型微服务的挖坑与填坑 一.微服务落地是一个复杂问题,牵扯到IT架构,应用架构,组织架构多个方面 在多家传统行业的企业走访和落地了微服务之后,发现落地微服务是一个非常复杂的问题,甚至都不 ...

  3. 老司机实战Windows Server Docker:1 初体验之各种填坑

    前言 Windows Server 2016正式版发布已经有近半年时间了,除了看到携程的同学分享了一些Windows Server Docker的实践经验,网上比较深入的资料,不管是中文或英文的,都还 ...

  4. 填坑黑苹果(VMware装MacOS) - 修改 Unlocker 补丁源码版

    最近闲的突然想找点事来折腾一下, 于是随着苹果的发布会就盯上自己手上的 iPhone, 也想弄个 Mac 来搞 IOS. 于是就有了这个填坑故事. 为什么要修改补丁源码: 不再苦苦去寻找和下载 dra ...

  5. KKBOX音乐——数据分析,用户研究与填坑指南

    KKBOX音乐--数据分析,用户研究与填坑指南 导语 1 数据来源 2 数据处理 2.1 录入数据 2.2 数据类型 3 探索性分析 3.1 MySQL+Excel 3.1.1 每年3月最先注册的前1 ...

  6. Python美股量化交易填坑记录——13c.Vegas隧道交易机器人(实盘记录)

    1.背景 上一篇帖子介绍了思路调整的过程,我的目标从"消灭止损单"(越来越保守)改为"追大肉"(允许有止损单,盈利超过损失就行). Python美股量化交易填坑 ...

  7. 记一次完整的新浪云部署nodejs项目上线完整流程及填坑处理!

    工欲善其事,必先利其器.在开始本次部署新浪云nodejs项目之前,请先做好以下准备工作: 1.注册一个新浪微博账号! 2.使用注册好的新浪微博账号,登录新浪云网站:http://www.sinaclo ...

  8. 填坑记1-nrf52840出现error flash download failed -cortex-M4错误的解决办法-清风电子开发板

    填坑类型: nrf52840出现error flash download failed -cortex-M4错误 使用板子:清风电子开发板 问题描述: keil4出错,keil5不出错(意思是其他ke ...

  9. 用MinGW编译AWTK填坑录

    AWTK 全称为 Toolkit AnyWhere,是 ZLG 倾心打造的一套基于 C 语言开发的 GUI 框架.旨在为用户提供一个功能强大.高效可靠.简单易用.可轻松做出炫酷效果的 GUI 引擎,并 ...

最新文章

  1. 我们工作到底为了什么?
  2. 计算机内存与内置类型,笔记本内存种类有哪些 笔记本常见内存类型介绍
  3. SAP云平台Extension Factory和微软Azure上的Lambda Function
  4. ASP.NET Core中实现单体程序的事件发布/订阅 - LamondLu - 博客园
  5. Modularity(模块化-CMD规范)
  6. anaconda进出某个环境
  7. 探索Windows命令行系列(7):通过命令编译C#类和Java类
  8. Java基础学习总结(73)——Java最新面试题汇总
  9. 数据库索引高频面试题梳理
  10. java获取字符长度和字节长度
  11. Blender2.8入门教程(1): 物体操作、物体编辑、修改器Modifier
  12. halcon测量总结
  13. windows打不开应用商店,edge浏览器不能登录同步
  14. Oracle Number 精度坑
  15. linux识别不了u盘格式,Linux识别不了u盘怎么办
  16. vrchat新手教程_VRChat简易教程2-创建一个最基本的世界(world)
  17. jsp作业--计算矩形、圆形面积
  18. amd服务器主板文件,AMD服务器主板全攻略--Opteron篇
  19. linux debian iso下载,Debian GNU/Linux 9.8 “Stretch” live和DVD ISO现在可供下载
  20. 输出N阶方阵 ,输出该方阵及方阵主对角线的总和

热门文章

  1. iphone全部机型_5G旗舰坚果R2再出发 1亿像素拍照出彩领跑四千价位档|像素|华为mate|iphone|手机...
  2. zabbix中mysql连不上的排错_zabbix使用排错 - oschina130111的个人空间 - OSCHINA - 中文开源技术交流社区...
  3. android 传输日期,Android 跟日期和时间有关的操作
  4. python周志_python第一周总结
  5. python可以处理哪些文件_Python(文件处理)
  6. js 串口通信mscomm接收undefined_VB串口通信应用开发入门知识讲解
  7. Python 语言程序设计(2)基本图形绘制
  8. 在cad如果用计算机,CAD如何使用快速计算器为中的变量区域功能
  9. 三线压力传感器原理_电喷摩托车进气压力传感器原理与检测
  10. 文字识别(五)--自然场景文本检测技术综述(CTPN, SegLink, EAST)