当您使用融合通信服务时,在呼叫的某些环节会回调开发者的HTTP接口,用业务鉴权和呼叫控制。所有HTTp接口都是使用POST的方式,返回值是一个JSON对象。

呼出操作鉴权HTTP回调

如果您在我们平台配置了呼出操作鉴权HTTP回调地址,我们在隶属于您的融合通信账号发生呼出操作时,会通过HTTP接口回调您的服务端接口,并依据返回的结果决定是否允许当前操作继续发生。如果您没有配置对应的回调接口,我们默认这个操作是允许的。
  • 请求参数。
    参数名称 参数类型 必填与否 样例取值 参数说明
    communicationType String 必须 voip2voip 呼叫类型。取值:
    • voip2voip
    • voip2pstn
    callerInfo Object 必须 {“voipId” : “20000000000****”} 主叫信息。
    calleeInfos Array 必须 [{“isPstn” : “true”, “platformNumber” : “1381234****”,”phoneNumber” : “1371234****”}] 被叫信息。
    channelId String 必须 1390000**** 本次通话的唯一标识。
    extend String 必须 abc SDK发起呼叫时传入的扩展字段。
    • callerInfo结构体。
      参数名称 参数类型 必填与否 样例取值 参数说明
      voipId String 必须 2000000000**** 主叫数据语音账号。
    • calleeInfo结构体
      参数名称 参数类型 必填与否 样例取值 参数说明
      isPstn Boolean 必须 true 是否为pstn。
      platformNumber String 非必须 05710000**** isPstn为true时有该字段,呼出到pstn时使用的主叫电话号码,即被叫看到的来电号码。
      phoneNumber String 非必须 1380000**** isPstn为true时有该字段,被叫电话号码。
      selfLineName String 非必须 123 isPstn为true且为自有线路用户时有该字段,自有线路名称。
      voipId String 非必须 200000000**** isPstn为false时有该字段,被叫数据语音账号。
  • 返回数据。
    出参名称 出参类型 样例取值 参数说明
    success Boolean true 是否允许本次呼叫,true表示允许。
    message String 呼叫受限 呼叫不允许时透传给客户端的错误信息,可选。(即将支持)
    model Object {“timeLimit” : 200} 允许呼叫时的一些附加参数,可选。
    model结构体。
    出参名称 出参类型 样例取值 参数说明
    timeLimit Long 100 本次通话可允许的最大通话时长,单位为秒,可选。
    needRecord Boolean true 本次通话是否需要服务端录音,会覆盖SDK调用相关接口设置的值。

呼入回调接口

如果您在我们平台配置了呼入HTTP回调地址,我们在隶属于您的呼叫送达到我们平台时会调用您的这个HTTP接口获取您希望呼叫的融合通信账号列表(也就是被叫)。
  • 请求参数。
    参数名称 参数类型 必填与否 样例取值 参数说明
    phoneNumber String 必须 1381111**** 主叫号码。
    platformNumber String 必须 1390000**** 被叫号码。
    channelId String 必须 1390000**** 本次通话的唯一标识。
  • 返回参数。
    出参名称 出参类型 样例取值 参数说明
    success Boolean true 是否允许当前操作,为true表示允许。
    model Object {“calleeInfos”:[{“rtcId”:200000000000****}]} 被叫信息列表。
    • model结构体
      出参名称 出参类型 样例取值 参数说明
      mixedCalleeInfos Array [{"type": "voip", "voipId": "200000000000****"},{"type": "pstn", "platformNumber": "05718684****", "phoneNumber": "1381111****", "sequence": 2, "selfLineName": "qwe"}] 被叫信息。
      timeLimit Long 100 本次通话可允许的最大通话时长,单位为秒,可选。
      needRecord Boolean true (即将支持)本次通话是否需要服务端录音,会覆盖SDK调用相关接口设置的值。
    • mixedCalleeInfo结构体
      出参名称 出参类型 样例取值 参数说明
      type String voip 枚举值,voip表示呼入到voip端,pstn表示转呼至pstn端。
      rtcId String 2000000000**** type为voip时需要该字段,被叫数据语音账号。
      phoneNumber String 1381111**** type为pstn时需要该字段,转呼时的被叫电话号码。
      platformNumber String 05710000**** type为pstn时需要该字段,转呼时使用的主叫电话号码,需要为已在平台购买且开通数据语音服务的固话号码。
      sequence String 1 呼叫次序。
注意
对于sequence字段,数据语音服务从sequence为1开始逐批振铃呼叫:
  • 即首先同时呼叫sequence为1的所有被叫,待所有被叫都挂断后,再同时呼叫sequence为2的所有被叫,依次类推。
  • 一旦有任何一个被叫接听,则认为通话已建立,中断其他已进行或正在进行的呼叫,若没有下一序列被叫,则中止呼叫。
  • sequence可以重复表示同时呼叫,但必为从1开始连续的数字,无该字段是默认为1,如1-2-2-3-5,则会依次呼叫到5,sequence最大值为10,相同sequence最多也为10个。
  • 目前不支持所有被叫中包含多个voip被叫,不支持相同sequence下同时包含voip与pstn被叫,也不支持相同sequence中既包含voip被叫又包含pstn被叫,若发生这样的现象,则将会随机取一个被叫。