是否可以在twilio中即时设置呼叫者ID。我知道您可以通过验证twilio的号码来设置来电显示,但是如何实现以下用例-
我有5个不同的号码和一个用来呼叫用户的twilio号码,现在我的用例是我需要根据某些条件动态地将这5个号码中的主叫方ID设置为twilio号码,例如.setCallerId()
。
更新1:
我正在使用下面的代码发起呼叫-
Call call = Call
.creator(new PhoneNumber(to), new PhoneNumber(from),
new URI(url)).create();
我要传递的网址实际上是为用户播放IVR消息。
Say say = new Say.Builder(announcement).voice(Say.Voice.WOMAN)
.language(Language.EN_US).loop(4).build();
Pause pause = new Pause.Builder().length(1).build();
voiceResponse = new VoiceResponse.Builder()
.say(say)
.pause(pause)
.build();
答案 0 :(得分:1)
这里是Twilio开发人员的传播者。
您只能将呼叫的呼叫方ID设置为您在Twilio内购买的号码或已验证的号码。
使用TwiML将Twilio呼叫连接到另一个呼叫者时,可以set the caller ID using an attribute on the <Dial>
。例如:
<?xml version="1.0" encoding="UTF-8"?>
<Response>
<Dial callerId="+15551112222">
<Number>+15558675310</Number>
</Dial>
</Response>
在Java中,看起来有点像:
import com.twilio.twiml.voice.Dial;
import com.twilio.twiml.voice.Number;
import com.twilio.twiml.VoiceResponse;
import com.twilio.twiml.TwiMLException;
public class Example {
public static void main(String[] args) {
Number number = new Number.Builder("+15558675310").build();
Dial dial = new Dial.Builder().callerId("+15551112222").number(number)
.build();
VoiceResponse response = new VoiceResponse.Builder().dial(dial).build();
try {
System.out.println(response.toXml());
} catch (TwiMLException e) {
e.printStackTrace();
}
}
}