1. API
  2. /MakeCall

HTTP methods

POST

Request parameters

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

ParametersDescription
server

SIP outbound服务器, 为invite协议的请求行地址,例如:

"server": "sip:*86@20.18.10.165:6065"

没有指定transport的默认都是udp协议,没有指定端口,默认就是5060,如果上一字段transport没有指定,则会根据server的transport来自动匹配走哪个transport发送。 如果指定上一字段的transport,会尝试使用指定的transport发送。

fromINVITE消息的from字段
toINVITE消息的to字段
transporttransport的名字,使用获取transport列表中的字符串,用于指定注册信息通过哪个transport发送,可以不写此字段,不写则根据其他注册信息自动匹配。
report指定呼叫结束时回调的url,可以不指定,默认为配置文件配置的回调地址,否则提交到指定的url
play指定媒体文件路径,在接通后,给对端播放RTP的内容,文件内容为已经编码的音频,例如目前支持PCMU通话,文件内容应当为PCMU编码格式。不指定则给对方播放全0的数据。
mode整数,指定媒体文件播放方式,需要结合play指定的文件。0 表示不会主动挂断,一直循环播放play文件,大于 0,则表示播放次数,例如 1 表示播放 play 文件 1 遍后自动挂机,10则表示播放10 遍后挂机。
time整数,单位秒,控制通话时长。不写本属性,或者设置为0,则表示不控制,设置为大于0的数,表示通话时间长短,例如设置10,则在接通10秒后,本方会主动挂断。
user帐号认证信息,在呼叫遇到服务器返回鉴权需求的时候,会使用user帐号下的认证信息进行认证,不写则没有认证信息。

Curl Request Example

$ curl -H 'Content-type:application/json' -d '[{"server":"sip:1009@192.168.1.67:6060","from":"<sip:1009@client.astercc.com>","to":"<sip:58889888@client.astercc.com>","user":"1009","play":"/usr/src/out.wav","mode":0,"time":60}]' http://127.0.0.1:11111/MakeCall

Response

返回json数组,每个数组元素为json对象,包含3个属性,分别为

[
  {
    "call_id" : "4b9c7be8-ec16-4844-b8d0-0477cc8b6339",  # 请求生成的通话标识,后面和呼叫有关的操作均需要。
    "from"    : "<sip:1009@client.astercc.com>",         # 对应请求的from字段
    "to"      : "<sip:58889888@client.astercc.com>"      # 对应请求的to字段
  }
]