【问题标题】:dynamically set caller id to Twilio number将呼叫者 ID 动态设置为 Twilio 号码
【发布时间】:2018-07-11 21:56:59
【问题描述】:

是否可以在 twilio 中即时设置呼叫者 ID。我知道您可以通过验证来自 twilio 的号码来设置来电显示,但我如何实现以下用例 -

我有 5 个不同的号码和一个用于呼叫用户的 twilio 号码,现在我的用例是我需要根据某些条件动态地将这 5 个号码中的呼叫者 id 设置为 twilio 号码,例如.setCallerId().

更新 1:

我正在使用以下代码发起呼叫 -

Call call = Call
                .creator(new PhoneNumber(to), new PhoneNumber(from),
                        new URI(url)).create();

这里是我传递的 url,它实际上为用户播放 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();

【问题讨论】:

    标签: java twilio twilio-api


    【解决方案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();
            }
        }
    }
    

    【讨论】:

    • 感谢您提供此信息。我已经用我用来发起呼叫的 twilio API 更新了我的问题。您能否让我知道在这种情况下如何分配 callerId。
    • 哦,那么调用者 ID 就是您在 API 请求中用作From 参数的号码。相同的限制很重要,您只能使用 Twilio 号码或您已验证的号码。
    • 但是我如何分配呼叫者 ID,因为我没有使用 Dial 类。你能举个例子吗?
    • 在您使用Call.creator(new PhoneNumber(to), new PhoneNumber(from), new URI(url)).create(); 的代码中,第二个PhoneNumber 参数是调用者ID。
    • 哦,好的。我在问题中提到的另一件事是我有 5 个号码,所以如果我从 Twilio 验证了所有这些号码,那么我可以根据某些条件在我的代码中使用这些号码作为呼叫者 ID(第二个 PhoneNumber)?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多