添加自定义变量
以点击拨号的方式发起呼叫,如何传递自定义字段信息(变量)?
# 发起呼叫
例:以点击拨号的方式先呼叫分机1001
,分机1001
接通后再桥接给分机1002
。
/api?token=${token}&action=call
请求参数:
{
"dial": {
"line": "line/1001",
"number": "1001",
"variables": ["origination_caller_id_number=999","ignore_early_media=true"]
},
"bridge": {
"line": "line/1002",
"number": "1002",
"variables": ["a=b"]
},
"notifyurl":"http://127.0.0.1?customparam=myparam"
}
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
参数解析:
dial
- line:发起呼叫使用的线路或者线路组
line/线路名
或者linegroup/线路组名
- number:被叫号码
- variables:变量列表
- line:发起呼叫使用的线路或者线路组
bridge:用于先呼叫一个号码A,A接通后呼叫号码B。
notifyurl:呼叫进度通知回掉,部分回调通知如下:
- 呼叫失败:
{"call":"failed","cause":"呼叫失败原因"}
- 呼叫成功:
{"call":"answer","uuid":"6ab1403d-de06-4ac3-8a9c-6e5960c0aa6b"}
- 收到183:
{"call":"early","uuid":"4c613373-aeda-484a-8ce3-11f1ed6e8b96"}
- bridge端收到183:
{"call":"bridge","uuid":"6ab1403d-de06-4ac3-8a9c-6e5960c0aa6b","peer_uuid":"cb089768-a192-40af-89af-8d9c37b75344"}
- uuid:dial端的UUID
- peer_uuid:bridge端的UUID
- 呼叫失败:
# 传递自定义变量
自定义参数需要添加在 dial.variables
中,添加的形式如下所示:
sip_h_*
添加自定义sip头到 INVITE ;(如果值里面又逗号用\转义,例:sip_h_X-My-Header=one,two,three。)sip_rh_*
添加自定义sip头到 200sip_ph_*
添加自定义sip头到 180 183sip_bye_h_*
添加自定义sip头到 bye
例:以点击拨号的方式先呼叫分机1001
,分机1001
接通后再桥接给分机1002
。然后传递自定义变量:key
,值:abcde
。
请求参数:
{
"dial": {
"line": "line/1001",
"number": "1001",
"variables": ["origination_caller_id_number=999","ignore_early_media=true","sip_h_key=abcde"]
},
"bridge": {
"line": "line/1002",
"number": "1002",
"variables": ["a=b"]
},
"notifyurl":"http://127.0.0.1?customparam=myparam"
}
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
# 查看传递的变量
开启信令,Freeswitch控制台执行命令:
sofia global siptrace on
点击拨号发起呼叫。
查看信令,传递的自定义变量在 INVITE 信令中。如图所示:
上次更新: 2024/06/25, 14:47:21