语音通话 VoiceCall-语音回呼场景API:请求参数

时间:2025-01-26 10:37:34

请求参数

表2 请求Headers参数说明

参数名称

是否必选

参数类型

说明

Content-Type

String

固定填写为application/json;charset=UTF-8。

Authorization

String

固定填写为AKSK realm="SDP",profile="UsernameToken",type="Appkey"。

X-AKSK

String

取值为UsernameToken Username="APP_Key的值", PasswordDigest="PasswordDigest的值", Nonce="随机数", Created="随机数生成时间"。
  • PasswordDigest:根据PasswordDigest = Base64 (HMAC-SHA256 (PasswordNonce + Created))生成。其中,Password为APP_Secret的值。Nonce、Created、Password直接进行字符串拼接即可,无需包含+号和空格。
  • Nonce:客户发送请求时生成的一个随机数,长度为1~128位,可包含数字和大小写字母。例如:66C92B11FF8A425FB8D4CCFE0ED9ED1F。
  • Created:随机数生成时间。采用标准UTC格式,例如:2018-02-12T15:30:20Z。不同编程语言中将UTC时间戳转换为普通时间时使用的格式不同,部分语言可参考表3
表3 不同编程语言的时间格式

编程语言

时间格式

Java

yyyy-MM-dd'T'HH:mm:ss'Z'

PHP

Y-m-d\TH:i:s\Z

Python

%Y-%m-%dT%H:%M:%SZ

C#

yyyy-MM-ddTHH:mm:ssZ

Node.js

toISOString().replace(/.[0-9]+\Z/, 'Z')

注:Node.js中,使用toISOString()转换后的时间格式去除毫秒后即为本接口要求的时间格式。

表4 请求Body参数说明

参数名称

是否必选

参数类型

默认值

说明

displayNbr

String(4-31)

此字段定义主叫用户收到语音通话平台的呼叫时,主叫用户手机终端的来电显示号码。需提前在订购号码页面申请该号码。

号码格式(固话):国家码+区号+固话,与号码管理页面的“固话号码”保持一致。

若该号码为“暂停”状态,语音通话平台会从该应用下随机选取一个其他可用的固话号码进行外呼。

callerNbr

String(4-31)

此字段定义用户在SP开发的应用中,通过语音回呼功能发起呼叫时所使用的主叫号码。

  • 手机号码格式:+{国家码}{手机号码}。示例:+86135***0002。
  • 固话格式:+{国家码}{区号}{固话号码},其中区号需去掉首位的0。示例:国家码86,区号0755,固话号码28****02,填写为+8675528****02。

displayCalleeNbr

String(4-31)

此字段定义被叫用户收到语音通话平台的呼叫时,被叫用户终端的来电显示号码。需提前在订购号码页面申请该号码。

该号码可以与displayNbr配置为同一个号码,也可以配置为不同号码。

号码格式(固话):国家码+区号+固话,与号码管理页面的“固话号码”保持一致。

若该号码为“暂停”状态,语音通话平台会从该应用下随机选取一个其他可用的固话号码进行外呼。

calleeNbr

String(4-31)

此字段定义终端用户在SP开发的应用中通过语音回呼业务发起呼叫时所拨打的被叫号码。

号码格式:

  • 手机号码格式:+{国家码}{手机号码}。示例:+86135****0004。
  • 固话格式:+{国家码}{区号}{固话号码},其中区号需去掉首位的0。示例:国家码86,区号0755,固话号码28****04,填写为+8675528****04。

maxDuration

Integer

0

此字段用于设置允许单次通话进行的最长时间,通话时间从被叫接通的时刻开始计算。

取值范围:0~1440分钟

  • 0:系统不主动结束通话,由主被叫双方结束通话。
  • 1~1440:当通话时长达到此配置值,系统主动结束通话。

不携带时,参数值默认为0。

lastMinVoice

String(1-128)

当maxDuration字段设置为非0时此参数有效。

此参数用于设置最后一分钟放音提示音,此值填写SP定制的放音文件名,例如lastmin_voice1.wav,参数取值有以下两种场景:

  • SP无需定制个性化放音,无需配置此参数,系统将使用默认放音文件,放音内容为:“本次通话时长还剩1分钟”
  • SP需要定制个性化放音,接口消息中携带此参数,参数值携带定制的放音文件名,请提前制作放音文件并通过放音文件管理页面提交到语音通话平台。

lastMinToUE

String(枚举)

both

当maxDuration字段设置为非0时此参数有效。

此字段用于设置最后一分钟放音的播放对象。

  • toa:仅对主叫用户放音。
  • tob:仅对被叫用户放音。
  • both:同时给主叫和被叫用户放音。

不携带时,参数值默认为both。

playPreVoice

String(枚举)

false

此字段用于设置主叫(callerNbr)应答语音回呼后,呼叫被叫(calleeNbr)前,是否向主叫(callerNbr)播放提示音。

当该参数设置为true时,播放完主叫提示音(preVoice)后才播放主叫等待音(waitVoice)并呼叫被叫(calleeNbr)。

  • true:播放提示音。
  • false:不播放提示音。

不携带时,参数值默认为false。

preVoice

String(1-128)

当playPreVoice字段设置为true时此参数有效。

此字段用于设置主叫(callerNbr)应答语音回呼后,呼叫被叫(calleeNbr)前向主叫播放的提示音,此值填写放音文件名,例如pre_voice1.wav。

  • SP无需定制个性化放音文件,接口消息中无需携带此参数,系统将使用默认放音“正在为您转接中,请稍后”。
  • SP需要定制个性化放音文件,接口消息中携带此参数,请提前制作放音文件并通过放音文件管理页面提交到语音通话平台。

waitVoice

String(1-128)

此字段用于设置主叫应答语音回呼后的等待音,此值填写放音文件名,例如wait_voice1.wav。

  • SP无需定制个性化放音文件,接口消息中无需携带此参数,系统将使用默认放音,系统边给主叫放音(循环放音)边拨打被叫用户;被叫应答才中止放音。
  • SP需要定制个性化放音文件,接口消息中携带此参数,请提前制作放音文件并通过放音文件管理页面提交到语音通话平台。

waitVoice可结合calleeMedia使用。

calleeMedia

String(枚举)

all

该参数用于指定被叫的媒体音播放方式,参数取值范围如下:

  • all:透传被叫端的所有放音。当被叫端返回振铃音等媒体音,则终止主叫的等待音,播放被叫的媒体音,如彩铃音等。
  • none:不透传被叫所有放音,一直播放主叫的等待音,直到被叫应答或挂机。
  • fail:只有在被叫回失败放音时(带reason原因值),才终止主叫的等待音、播放被叫的失败放音。

不携带时,参数值默认为all。

statusUrl

String(1-128)

此参数请采用BASE64编码进行加密。

此字段用于设置SP接收状态上报的URL。

语音通话平台将业务触发过程中通话的状态信息(包括呼出、振铃、摘机和挂机信息)推送至此服务器,SP根据通话状态信息确定用户状态。

URL可填写为https://IP:Port或 域名 ,推荐使用域名。且该域名对应多个服务器,避免单点故障无法接收通知。

URL只能由大小写字母(a-z、A-Z),数字(0-9),中划线(-),英文冒号(:),英文点号(.),以及英文斜杠(/)组成,不支持其它字符。最大128字节。

feeUrl

String(1-128)

此参数请采用BASE64编码进行加密。

此参数用于设置SP接收话单上报的URL。

语音通话平台将业务产生的话单推送至此服务器。

URL可填写为https://IP:Port或域名,推荐使用域名。且该域名对应多个服务器,避免单点故障无法接收话单。

URL只能由大小写字母(a-z、A-Z),数字(0-9),中划线(-),英文冒号(:),英文点号(.),以及英文斜杠(/)组成,不支持其它字符。最大128字节。

recordFlag

String(枚举)

false

此字段设置语音回呼通话过程是否录音。

  • true:开启录音,请在添加应用时开启录音功能。
  • false:不开启录音。

不携带时,参数值默认为false。

recordHintTone

String(1-128)

此字段在recordFlag为true时才有效。

此字段用于设置使用录音功能的提示音,参数传值为指定的放音文件名,例如recordhint_voice1.wav。

  • 无需定制个性化放音时,接口消息中无需携带此参数。
  • 需要定制个性化放音文件时,接口消息中携带此参数,请提前制作放音文件并通过放音文件管理页面提交到语音通话平台。

partyTypeRequiredInDisconnect

String(枚举)

false

该参数用于指定语音通话平台给开发者发送disconnect的呼叫状态时,通知消息是否需要携带通话主动挂机的用户类型(主叫挂机、被叫挂机、平台挂机)。

该参数取值范围如下:

  • true:需要携带
  • false:不需要携带

不携带该参数时,默认值为false。

returnIdlePort

String(枚举)

false

指示是否需要返回平台空闲呼叫端口数量。

  • true:需要返回
  • false:不需要返回

不携带该参数时,默认值为false。

userData

String(1-256)

此字段用于SP开发者自定义呼叫发起时,设置用户的附属信息,应用场景可以是当开发者想要对每一次呼叫的用户进行跟踪时,该参数可以携带用于标识用户的信息,如customerId123。

语音通话平台不对此参数做强制要求,如果开发者传入此参数,语音通话平台会在后续发给SP的通知消息中携带该参数值。

不允许携带以下字符:“{”,“}”(即大括号)。

不允许包含中文字符,如果包含中文字符请采用Base64编码。

support.huaweicloud.com/api-VoiceCall/rtc_05_0006.html