Freeswitch指定分机uuid

我们呼叫一个目标分机,并向给本次呼叫指定一个自定义的uuid,应该是这样:

 

originate {origination_uuid=xxxxxx-xxxxxx-xxxxxxx-xxxxx}user/1001  &park

 

在freeswitch的wiki和freeswitch权威指南中,都可以找到相关说明

 

 

但是两个分机相互拨打,那么每个分机的uuid都是系统生成的,默认情况下是这样的。

 

如果想要分机相互拨打,每个分机的uuid也都使用我们自己指定的uuid,应该如何修改呢?

 

经过追踪freeswitch的源代码,查明,呼叫产生的时候,会从switch_core_session.c中的switch_core_session_request_xml开始创建session,然后创建channel

 

创建session时,读取xml配置文件,并从配置文件中查找uuid变量,将uuid参数传递给创建channel的函数。

 

创建channel时,如果配置文件提供了uuid值,则使用该uuid,如果不存在,则系统自己生产一个uuid(权威指南中有写)。

 

根据这些描述,我修改了分机的配置文件(lua脚本动态生成的配置文件),当然也可以在conf/directory/default目录下修改分机的配置文件

 

重新注册分机后,再次拨打,就是我们指定的uuid了,并且不用在呼叫的时候,使用origination_uuid特别指定uuid

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值