2014-07-13 157 views
0

我想爲我們的應用程序開發瀏覽器到瀏覽器的調用函數,但是直到代碼發佈到生產環境中,所有瀏覽器都在內部網絡上運行mydomain.local地址。我可以撥打電話並獲得試用信息,但我認爲呼叫沒有通過目標瀏覽器,因爲它沒有在公共站點上運行。有沒有辦法解決?我認爲這是一種常見的情況。Twilio在開發環境中

UPDATE:詳細說明:這是用於在網頁A客戶服務用戶呼叫一個客戶網頁B1(與Twilio連接代碼)和B2(與TwiML如在教程中描述):

A(客戶服務側)

call: function() { 
     var phone = { 'PhoneNumber': ' 444e0d6c161644a6a27a305332a4cbbd') }; 
     Twilio.Device.connect(phone); 
      $(".call").hide(); 
      $(".hang-up").show(); 
     }, 

B1:(客戶頁) .... capability.AllowClientIncoming( 「444e0d6c161644a6a27a305332a4cbbd」); ....

B2:(從客戶頁推出) 444e0d6c161644a6a27a305332a4cbbd

我VoiceURL被配置爲指向B2;

兩個A & B都運行Twilio設置代碼,調用「ready」函數。

在客戶服務端觸發呼叫方法時,Twilio演示消息播放並在「按任意鍵繼續」後掛斷;

B1永遠不會收到來電。同樣,撥打我的Twilio電話號碼只是播放默認演示信息,似乎並未連接到網頁。

該文檔相當有用,它確實覺得有一塊失蹤。

回答

1

Twilio福音傳教士在這裏。

這可能是因爲您的防火牆阻止了入站ports needed for Twilio Client。如果是這種情況,缺少開放它們,我不相信有太多可以做到的事情。

在開始弄亂防火牆之前,我會首先仔細檢查Twilio Client的第二個實例是否在連接到Twilio時通過處理error function來加載,並且我還會打開瀏覽器開發者控制檯並使其確保沒有報告JavaScript錯誤。當您調用setup函數讓Twilio Client將調試信息記錄到瀏覽器控制檯時,您還可以包含'debug'參數。

最後,我將驗證用於將呼叫轉移到該客戶端的TwiML是否正確生成,其中包括第二個客戶端正在註冊的正確名稱的<Client>名詞。

希望有所幫助。

+0

謝謝,德文。我沒有發現那些端口是什麼端口的文檔。你是說,如果接收方客戶端使用twilio註冊並且端口是開放的,那麼它應該可以工作,即使在專用網絡中也是如此?我在哪裏可以找到關於哪些端口需要打開的信息。我一定會先做其他步驟。謝謝! – sydneyos

+0

我已經更新了我的答案,包含一個指向Twilio Client端口詳細信息的FAQ的鏈接 –

+0

非常感謝。還有一個問題,就是讓我明白這是否可能。當瀏覽器在名稱X下注冊時執行以下操作:AllowClientIncoming(X),即使它在192.168.xx或developername.domain.local上運行,只要端口處於打開狀態並且使用生成的令牌進行了設置調用憑藉「傳入」功能,Twilio應該能夠將來電轉接到它。正確? – sydneyos