繁体   English   中英

Twilio - 收到错误:拨打电话时帐户 SID 不能为空

[英]Twilio - getting ERROR : Account SID cannot be null when making a call

当应用程序长时间保持活动状态时,有时会出现此异常。 任何人都可以告诉,什么问题?

接通电话失败

java.lang.IllegalArgumentException: Account SID cannot be null when making a call
                                                          at com.twilio.client.impl.MakeCallCommand.<init>(MakeCallCommand.java:33)
                                                          at com.twilio.client.impl.CallControlManager.makeCall(CallControlManager.java:423)
                                                          at com.twilio.client.impl.InternalConnectionImpl.connect(InternalConnectionImpl.java:212)
                                                          at com.twilio.client.impl.DeviceImpl$2.onCompletion(DeviceImpl.java:339)
                                                          at com.twilio.client.impl.MediaManager.onPlayComplete(MediaManager.java:279)
                                                          at com.twilio.client.impl.MediaManager.queueSound(MediaManager.java:173)
                                                          at com.twilio.client.impl.DeviceImpl.connect(DeviceImpl.java:335)
                                                          at com.lola.activities.CallingActivity.connect(CallingActivity.java:199)
                                                          at com.lola.activities.CallingActivity.onCreate(CallingActivity.java:92)
                                                          at android.app.Activity.performCreate(Activity.java:5122)
                                                          at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1081)
                                                          at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2307)
                                                          at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2395)
                                                          at android.app.ActivityThread.access$600(ActivityThread.java:162)
                                                          at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1364)
                                                          at android.os.Handler.dispatchMessage(Handler.java:107)
                                                          at android.os.Looper.loop(Looper.java:194)
                                                          at android.app.ActivityThread.main(ActivityThread.java:5371)
                                                          at java.lang.reflect.Method.invokeNative(Native Method)
                                                          at java.lang.reflect.Method.invoke(Method.java:525)
                                                          at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:833)
                                                          at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:600)
                                                          at dalvik.system.NativeStart.main(Native Method)

**编辑:** 这里是单击调用按钮时调用的 connect() 方法:

public void connect(String fromMobileNo, String phoneNumber)
    {

        Map<String, String> parameters = new HashMap<String, String>();

        parameters.put("frommobileno", fromMobileNo);
        parameters.put("mobileno",  phoneNumber);

        Log.d("parameters", parameters + "");
        Log.d(TAG, "device :" + device);
        Log.d(TAG, "device :" + device);

        if(device == null)
        {
            Toast.makeText(getApplicationContext(),"Sorry from our side.Please try again.",Toast.LENGTH_LONG).show();
            finish();
        }
        else{
            connection = device.connect(parameters, (Controller)getApplication()/* ConnectionListener */);

            if (connection == null && ((Controller)getApplication()).basicConnectionListener != null)
                ((Controller)getApplication()).basicConnectionListener.onConnectionFailedConnecting(new Exception("Couldn't create new connection"));

        }

        if (connection != null){
            Controller.setConnection(connection);


        }else {
            Log.w(TAG, "Failed to create new connection");
        }

    }

能力令牌具有生命周期。 它在它之后过期。 我认为,这个问题与您的能力令牌过期有关。

所以更新你的能力令牌来解决这个问题。

看看这个

请按照以下步骤解决此问题

第 1 步:首先尝试在拨打电话之前检查您的设备状态。

检查设备状态

第 2 步:如果您的设备处于离线状态,请尝试更新令牌。 如果准备就绪,请致电。 如果,请不要打电话。

设备状态值

C# 用户

将您的 TWILIO 凭据设置为环境变量。

在这里查看: 添加环境变量 Windows

调用它们如下:

    string accountSid = Environment.GetEnvironmentVariable("TWILIO_ACCOUNT_SID");
    string authToken = Environment.GetEnvironmentVariable("TWILIO_AUTH_TOKEN");

然后执行程序。

你必须为你的帐户 sid 和 auth 令牌使用这个twilio 控制台而不是这个

[编辑]:第二个链接是旧的 twilio 用户面板,我认为它从我编辑这个答案 (.) 的确切日期被重定向到新的用户面板,这是上面的第一个链接。 使用新的用户面板控件 (www.twilio.com/console) 再次尝试获取新帐户 sid 和身份验证令牌为我解决了这个问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM