freeswitch对接其它SIP设备

这几天用到freeswitch对接其它设备方面的知识,这里整理下,也方便我以后查阅。

  • 操作系统:debian8.5_x64
  • freeswitch 版本 : 1.6.8

一、freeswitch作为被叫设备

freeswitch作为被叫设备和其它设备对接的情况比较简单,可以直接通过5080端口呼入。
freeswitch默认配置默认开启5080端口的对接(conf/dialplan/public.xml中关于public):

<extension name="public_extensions">
    <condition field="destination_number" expression="^(10[01][0-9])$">
        <action application="transfer" data="$1 XML default"/>
    </condition>
</extension>

二、freeswitch作为主叫设备

这里主要描述下freeswitch作为主叫设备怎么对接其它sip设备(使用sipp模拟)。

HostA : 192.168.1.100
HostB : 192.168.1.101

其中HostA上安装freeswitch,HostB使用sipp模拟其它设备。

使用sip uri格式对接

1、编辑A机中 conf/dialplan/public.xml 文件 ,添加如下extension :

 <extension name="hostB">
        <condition field="destination_number" expression="^0(.*)$">
                <action application="bridge" data="sofia/external/sip:[email protected]:5080" />
        </condition>
 </extension>

2、B机上使用sipp模拟uas设备,命令如下:

sipp -sn uas -p 5080

A机重新加载xml文件( F6 或 reloadxml ),在A的1000话机上拨打号码 01234 即可看到对接效果。

使用网关对接

1、在A机上创建 conf/sip_profiles/external/gw_a.xml 文件,添加如下内容:

    <include>
      <gateway name="gw_A">
        <param name="username" value="anonymous"/>
        <param name="from-user" value=""/>
        <param name="password" value=""/>
        <param name="outbound-proxy" value="192.168.1.101:5080"/>
        <param name="register-proxy" value="192.168.1.101:5080"/>
        <param name="expire-seconds" value="120"/>
        <param name="register" value="false"/>
        <param name="register-transport" value="UDP"/>
        <param name="caller-id-in-from" value="true"/>
        <param name="extension-in-contact" value="true"/>
        <variables>
          <variable name="gateway_name" value="gw_A"/>
        </variables>
      </gateway>
    </include>    

2、打开A机中 conf/dialplan/public.xml 文件 ,添加如下extension :

    <extension name="gw_A">
            <condition field="destination_number" expression="^9(.*)$">
                <action application="bridge" data="sofia/gateway/gw_A/$1"/>
            </condition>
    </extension>

3、B机上使用sipp模拟uas设备,命令如下:

sipp -sn uas -p 5080

4、加载网关配置,需在A机器执行如下命令:

sofia profile external rescan

A机重新加载xml文件( F6 或 reloadxml ),在A的1000话机上拨打号码 91234 即可看到对接效果。

本文github地址:

https://github.com/mike-zhang/mikeBlogEssays/blob/master/2016/20160916_freeswitch对接其它SIP设备.md

欢迎补充

时间: 2024-10-27 14:04:52

freeswitch对接其它SIP设备的相关文章

FreeSwitch 对接 RTSP 和 RTMP视频

在一些特殊应用场景中,可能希望把摄像头或者其他推流视频加入到FreeSWITCH中,我这里提供2个示例供大家借鉴 <action applicaiton="playback" data="vlc://rtsp://xxxx/vod"> 安装 mod_vlcload mod_vlc (安装这个看前面文章介绍) originate vlc/rtsp://192.168.1.100:8554/vlc &conference(3000) FreeSwit

freeswitch 1.6.17 安装教程

时间:2017-05-01 22:55 作者:李春利 邮箱:[email protected] 目标:在CentOS 6    Ubuntu14.04   两种平台安装freeswitch 1.6.17 当前:最新版本是freeswitch1.6.17 设备:带无线功能的路由器, win7一台,Android一台,并且都安装了Zoiper软件 服务:CentOS一台,Ubuntu14.04一台,作为安装freeswitch服务器 测试:经过多次测试,在全新安装的CentOS6.5 x86, Ub

FreeSWITCH 1.2.5.3 Step by Step Install

Ubuntu: apt-get -y install build-essential automake autoconf git-core wget libtool apt-get -y install libncurses5-dev libtiff-dev libjpeg-dev zlib1g-dev 从 Git 仓库安装: 从代码库安装能让你永远使用最新的版本: git clone git://git.freeswitch.org/freeswitch.git cd freeswitch .

配置SIP网关拨打外部电话

如果你拥有某个运营商提供的SIP账号,那么你就可以通过配置SIP来拨打外部电话了.该SIP账号(或提供该账号的设备)在 FreeSWITCH 中称为SIP网关(Gateway).添加一个网关只需要在 conf/sip_profiles/external/中创建一个XML文件,名字可以随便起,如gw1.xml,然后在该文件中输入如下代码:<gateway name="gw1">    <param name="realm" value="S

FreeSwitch学习二

1.FreeSWITCH的设计:模块化,可扩展,稳定 FreeSWITCH的设计目标是提供一个围绕在switching核心的模块化,可扩展,并且为开发人员提供用来添加和控制系统的健全接口的通讯系统.FreeSWITCH中的每一个分子都是彼此独立,同时不需要了解其他部分是如何工作,此外,每个分子所提供的我们叫作"裸露功能". FreeSWITCH的功能同样可以使用加载模块进行扩展,一种可以绑定外部功能到核心的特殊技术. FreeSWITCH 拥有很多不同的模块类型围绕在中央核心.列表如下

linux设备上的Onvif 实现21:解决大华摄像头无法使用问题

好长时间没有再写该系列文章了,最近刚好摸索着解决了大华摄像头无法使用问题,记录下来,应该对其他博友有所帮助.之前虽然写了一大堆文章说明了如何使用gsoap连接摄像头,但这是针对一台海康的摄像头开发的,一旦使用了同品牌不同型号摄像头或者其他牌子的摄像头就可能出现兼容性问题,导致无法使用.我就是碰到了这个问题,测试过的多个品牌型号摄像头,有的能直接使用,有的不能使用,问题各部相同.本文就是针对大华摄像头的问题解决过程说明. 摄像头型号:DH-IPC-HDW130S-0600B MAC:90:02:A

SIP协议&amp;开源SIP服务器搭建和客户端安装

1. SIP SIP 是一个应用层的控制协议,可以用来建立,修改,和终止多媒体会话,例如Internet电话 SIP在建立和维持终止多媒体会话协议上,支持五个方面: 1)   用户定位: 检查终端用户的位置,用于通讯. 2)   用户有效性:检查用户参与会话的意愿程度. 3)   用户能力:检查媒体和媒体的参数. 4)   建立会话: “ringing”,建立会话参数在呼叫方和被叫方. 5)       会话管理:包括发送和终止会话,修改会话参数,激活服务等等. 1.1 SIP基本组成要素 用户

asterisk(sip.conf)的详细说明

介绍 extensions.conf中使用sip设备的语法是SIP/devicename,devicename名在下一节中说明. 如果用户在Internet上,可以使用SIP/[email protected]形式,同时不要忘记打开DNS SRV功能. 如果定义了一个SIP代理,可以使用SIP/proxyhostname/user或者SIP/[email protected]形式,proxyhostname的定义在下面的章节说明. 2.        在CLI中的查询命令: u      sip

sip 注册流程

基本注册流程示意图: 注册流程描述如下: 1.         SIP代理向SIP服务器发送REGISTER请求: 2.         SIP服务器向SIP代理发送响应401,并在响应的消息头WWW-Authenticate字段中给出适合SIP代理的认证体制和参数: 3.         SIP代理重新向SIP服务器发送REGISTER请求,在请求的Authorization字段给出信任书,包含认证信息: 4.         SIP服务器对请求进行验证,如果检查出SIP代理身份合法,向SIP