freeswitch

Initiating call and receiving call in web browser using freeswitch

老子叫甜甜 提交于 2019-12-11 06:35:09
问题 I have a requirement, i have a web site in which i want to implement outgoing call and incoming call functionality. I am using freeswitch on windows as sip server, currently i am able to initiate call on local extensions using verto, how can i initiate outbound calls to mobile phone directly from browser and also able to receive the calls using browser. 回答1: Freeswitch has webrtc support, which means you can use SIP-webRTC client to register from browser and do IN/OUT calls. SIP-webRTC client

Freeswitch India Progress tones

安稳与你 提交于 2019-12-11 04:57:18
问题 I'm using Freeswitch 1.6 to detect Progress tones. I need to configure India but I'm unable to find correct test numbers to validate Ringback/Busy/Reorder tones, looking for existing working settings. Using spandsp.conf.xml module. I have US, MX, BR working just fine. I looked into ITU-T standard and Asterisk sample configuration: [in] description = India ringcadence = 400,200,400,2000 dial = 400*25 busy = 400/750,0/750 ring = 400*25/400,0/200,400*25/400,0/2000 congestion = 400/250,0/250

Linux下如何定位高CPU/Memory的代码段

亡梦爱人 提交于 2019-12-10 15:06:40
先前自开发的过程中解决过一个CPU使用过高的问题,没有记录,今天以FreeSWITCH为例,把解决的过程写下来,方便以后有类似问题参考解决。 注:因为不是真正解决问题的过程,所以CPU的数据会和真实的有差距。 1、我们发现正在运行的FreeSWITCH程序占用的CPU过高,需要确定哪段代码引起,首先,找到FS的进程号: 2、通过top -H -p产看进程中所有线程对应的线程: 上图所有的线程CPU是一样的,因为没有电话进来,如果有错误,会有对应的线程CPU过高。 3、通过GBD获取对应的堆栈,gdb attach 18258,并通过infor threads命令获得所有的线程如下图: 从上图中我们可以看到gdb里面对应的thread号码1-34与系统中线程号18258到18311的对应关系。 4、假如前面通过top -H -p查看到得CPU使用过高的线程为:18312,那么对应的号码为:9.我们可以通过GDB中的 thread 9切换到线程的堆栈中,并通过 bt 命令产看目前的堆栈信息。具体的如下图: 5、通过strace产看程序中,哪些调用占用的时间最长,并对着堆栈和源码找出原因。(注:因为我截图的FS没有问题,所以看到的是正常的值) 命令如下:strace -c -f -T -p 18258 效果图如下: 因为程序运行是正常的,所以所有的时间都在 select/epoll

用freeswitch架构自己的VOIP网络电话

拈花ヽ惹草 提交于 2019-12-09 20:48:08
目标:通过手机拨号的方式,达到手机与手机、手机与电脑之间的语语音或视频通讯,传输数据全部通过互联网。 附加要求:除了实现一对一通话,还必须实现群组呼叫,其中群组呼叫分两种:1、发起呼叫时,所有的群组内的成员都响铃,但某个人接听时,其它人自动挂断;2:发起呼叫时,所有群组的成员都响铃,每个人可以按接听进入群聊; 实现方式:服务端用开源freeswitch架构软交换服务器;客户端目前已经测试通过的有: android开源客户端:sipdroid、mmsdroid; 电脑PC客户端:x-lite(不开源) ,MicroSIP(开源) 苹果手机开源客户端idoubs正在测试中,不过理论没有问题。 目前以上目标和附加要求都已经实现,如果大家想了解细节,可以@我,如果大家想直接使用我的公网freeswitch服务端来测试的话,也可以向我要测试账号和密码。 来源: oschina 链接: https://my.oschina.net/u/1024047/blog/131614

freeswitch实战经验2:发送短消息

陌路散爱 提交于 2019-12-09 20:47:59
大家都知道通过freeswitch,可以实现用户与用户之间发送短信,那能否做个WEB系统,实现通过服务器向一堆用户发送短信呢? 答案必须是肯定的! 1、 还是使用fs_cli,这个东西我不在重复描述,见我另外一篇博文: http://my.oschina.net/hetiangui/blog/138174 2、 使用freeswitch的发送短信命令,格式如下: chat sip|消息发送者|消息接收者|信息内容 chat表示命令(固定值),sip表示发送协议(可以认为是固定值,还有另外一个协议,这里不讲),后面是消息发送者、消息接收者和消息内容,用|分隔; 3、 freeswitch内部有个系统用户,就是0000000000; 4、 如果用户的短号是1001,该用户所在的freeswitch的服务器IP是xxx.xxx.xxx.xxx,则该用户的全地址是: 1001@xxx.xxx.xxx.xxx 5、 完整的,通过调用linux命令实现系统向1001这个用户发送hello word的命令内容为:fs_cli -x "chat sip|0000000000|1001@130.38.185.103|hello world!" ,这里假设sip服务器的IP为130.38.185.103。 6、 还是像上篇文章,可以将发送短信的命令封装成一个sh脚本,简化WEB程序调用,脚本如下:

freeswitch websocket webrtc

半世苍凉 提交于 2019-12-09 20:31:50
Install the Certificate into FreeSWITCH Replace sipjs.com with the domain name that you used to generate the certificate. cd /etc/letsencrypt/live/sipjs.com echo '' >> /usr/local/freeswitch/certs/wss.pem && cat cert.pem >> /usr/local/freeswitch/certs/wss.pem && cat privkey.pem >> /usr/local/freeswitch/certs/wss.pem && cat chain.pem >> /usr/local/freeswitch/certs/wss.pem Restart FreeSWITCH 其他还有配置在本文档的 《Freeswitch/wss》的章节。 echo '' >> /usr/local/freeswitch/certs/wss.pem && cat cert.pem >> /usr/local/freeswitch/certs/wss.pem && cat privkey.pem >> /usr/local/freeswitch/certs/wss.pem && cat chain

freeswitch实战经验1:服务器向成员主动发起会议邀请

夙愿已清 提交于 2019-12-09 20:31:32
接触过freeswitch的童鞋们都知道,freeswitch自动会议室功能, 比如大家都拨3000这个号码,就可以进行电话会议功能了。但是,现在有这么一个场景:现在某个主持人想开电话会议,想直接由freeswitch主动向需要参加会议的成员打电话,成员接通电话后就直接进入会议室,能否实现呢? 答案是肯定的。 实现原理和演化步骤: 1、 freeswitch的bin目录下有一个叫做fs_cli的可执行文件,可以执行freeswitch的外部命令,格式fs_cli -x "命令串"; 2、 freeswitch的命令里头,有一个某个号码向另外一个号码打电话的命令,格式:originate 被叫用户 主叫用户; 3、 结合以上两点,就可以写出可以在linux下,会议室主动向某个号码主动发出邀请电话的执行的命令了,比如以会议室3000这个号码向号码为1001和1002的打电话,则分别执行以下两行的linux命令行: fs_cli -x "originate user/1001 3000" fs_cli -x "originate user/1002 3000" 4、 你现在就可以做个WEB系统,管理你的会议室号码和会议的成员,点击下"发起会议"按钮,循环调用linux命令的方式,给所有的成员打电话了,成员接听电话后,就自动进入会议室了。 5、 为了简化WEB调用方式

用freeswitch架设局域网内sip电话

こ雲淡風輕ζ 提交于 2019-12-09 20:31:19
FreeSWITCH 是一个电话的软交换解决方案,包括一个软电话和软交换机用以提供语音和聊天的产品驱动。FreeSWITCH 可以用作交换机引擎、PBX、多媒体网关以及多媒体服务器等。 首先保证已经有libjpeg-devel,libtoo,libncurses5,libncurses5-dev git clone git://git.freeswitch.org/freeswitch.git cd freeswitch ./bootstrap.sh 如果要测试IVR的话,需要修改modules.conf,找到mod_flite的行,把它的注释去掉 ./configure make make install 然后需要安装语音文件 sounds-install moh-install (8 kHz) hd-sounds-install hd-moh-install (16 kHz) uhd-sounds-install uhd-moh-install (32 kHz) cd-sounds-install cd-moh-install (48 kHz) 选一个,8 kHz是普通电话的音质,越高越好 make sounds-install moh-install 下载安装完后就算完成了 运行/usr/local/freeswitch/bin/freeswitch开启服务器,要关闭的话

Inconsistent systemd startup of freeswitch

谁说我不能喝 提交于 2019-12-06 15:31:38
I have two problems running freeswitch from systemd : EDIT 2 - I have moved the slow start up question to here ( Freeswitch pauses on check_ip at boot on centos 7.1 ) as although they may be related it's probably good as a standalone. EDIT - I have noticed something else. Look at these next lines captured from the terminal output when running it from there. The gap is 4 minutes but it has been around 10 minutes before. I noticed it because I was trying to find out why port 8021 was taking several minutes to accept the fs_cli connection. Why does this happen? Never happened to me before and I

Are there parallels to Asterisk AMI and AGI in FreeSWITCH?

怎甘沉沦 提交于 2019-12-04 07:31:48
Asterisk has Asterisk Manager Interface (AMI) and Asterisk Gateway Interface (AGI) , using which one can trigger PHP scripts at certain events from Asterisk. Using the same PHP scripts can also instruct Asterisk what to do next to a call/conference. Are there parallels to AMI and AGI in FreeSWITCH? Michael Collins These are good questions. I just wanted to add a few things to what @dkwiebe said (which is correct, BTW). The AMI equivalent in FreeSWITCH is the event socket. (Technically it's not the "Event Socket Library" or ESL, which is an abstraction layer for writing programs that use the