1. API
  2. /register

HTTP methods

POST

Request parameters

参数为json数组,数组每个元素为json对象,json对象包含如下属性:

ParametersDescription
transporttransport的名字,使用获取transport列表中的字符串,用于指定注册信息通过哪个transport发送,可以不写此字段,不写则根据其他注册信息自动匹配。
serverSIP注册服务器,使用标准的SIP URI,例如:sip:1.2.3.4、sip:1.2.3.4:6060、sip:1.2.3.4:7443;transport=wss
没有指定transport的,默认都是udp协议,没有指定端口,默认是5060。
如果上一字段transport没有指定,则会根据server的transport来自动匹配走哪个transport发送。
如果指定上一字段的transport,会尝试使用指定的transport发送。
from注册消息的from字段
reg注册消息的to字段,通常设置和from一致
user注册使用的认证帐号信息,需要提前设置帐号认证信息,否则认证信息将为空。
report指定呼叫结束时回调的url,可以不指定,默认为配置文件配置的回调地址,否则提交到指定的url
expires注册消息的过期时间,填写整数,单位为秒,可以不设置,不写则默认60s
hangup呼入默认动作,1 表示挂机,0 表示接通,可以不设置,默认值为0。
delay呼入延迟动作时间,整数,单位为毫秒,可以不设置,默认值为0,表示无延迟,直接执行默认动作。
cb

呼入回调的url地址,可以不设置,默认值为空。
cb为空时,呼入动作由delay和hangup控制。
cb不为空,则呼入后会使用POST请求cb指定的url。
post内容为json对象,包含3个字段:

{
    "from"    : "呼入消息的from字段",
    "to"      : "呼入消息的to字段",
    "call_id" : "呼入消息的call-id字段"
}

cb对应的url在响应时,需要返回json对象,对象至少包含一个字段

{
    "hangup"  : "整数值,1 表示挂机,0 表示接通。",
}

Curl Request Example

$ curl -H 'Content-type:application/json' -d '[{"transport":"wss:127.0.0.1:18081;transport=wss","server":"sip:192.168.1.67:7443;transport=wss","from":"<sip:1100@pcall>","reg":"1100<sip:1100@pcall>","user":"1100","expires":3600,"hangup":0,"delay":2000},{"transport":"wss:127.0.0.1:18081;transport=wss","server":"sip:192.168.1.67:7443;transport=wss","from":"<sip:1101@pcall>","reg":"1101<sip:1101@pcall>","user":"1101","expires":3600,"hangup":0,"delay":2000}]' http://127.0.0.1:11111/register

Response

None