2014-06-22 10 views
5

Sto scrivendo un client Web con Flask e l'integrazione di Twilio per consentirmi di effettuare chiamate dal browser. Tutto bene, funziona in gran parte, ma ho alcune informazioni sullo stato che desidero aggiornare quando viene data risposta alla chiamata.Quando si effettua una chiamata dal browser, come posso comunicare a livello di codice quando la chiamata ha ricevuto risposta?

Il metodo connection.status() non sembra essere d'aiuto, poiché "aprire" sembra significare che la chiamata sta tentando di passare e lo stato rimane aperto finché non ottengo "chiuso" quando termina la chiamata.

C'è un modo valido (tramite il browser o registrando una richiamata dal codice python sul server) per ottenere un aggiornamento di stato per quando la chiamata passa da "squillo" a "live"?

risposta

7

Per le chiamate in uscita

I twilio.js stati libreria:

Twilio.Device is your main entry point for creating outbound connections, accepting incoming connections, and setting up your connection event handlers. 

All'interno della documentazione dispositivo, prosegue affermando che il metodo .status():

Returns the status of the device. 

La chiave qui è nello snippet di codice:

Twilio.Device.incoming(function(conn) { 
    console.log(conn.parameters.From); 
    conn.status // => "pending" 
    conn.accept(); 
    conn.status // => "connecting" 
}); 

Ora la chiave qui è da ricordare che il Device.incoming viene utilizzato quando una chiamata in uscita è stata effettuata dal browser, come specificato qui:

The Device.incoming handler function is called when an incoming event is fired. 
This is triggered whenever an incoming connection from an outbound REST call or a TwiML <Dial> to this device is made. 

Con il frammento di codice di cui sopra, sono stato in grado di controllare

conn.status 

essere "collegamento" quando la connessione è stata transizione per aprire status e "aprire" una volta una chiamata è stato preso da una chiamata in uscita. Di conseguenza, sono stato in grado di impostare una bandiera e un registro una volta che è stata prelevata una chiamata in uscita. Questo è stato il TwiML utilizzato:

<Response> 
    <Dial callerId="+1888XXXXXXX"> 
    {{INSERT PHONE NUMBER HERE}} 
    </Dial> 
</Response> 

Ecco la documentazione per le specifiche del dispositivo e la biblioteca generale twilio.js:

http://www.twilio.com/docs/client/device

e

http://www.twilio.com/docs/client/twilio-js

Siete pregati di comunicare so se hai altre domande!

Grazie per il vostro tempo,

+0

Hey Devarsh, cercherò questo, ma non sembra a prima vista come la soluzione giusta. Mi sembra che l'esempio sia per le chiamate in entrata e che io sia interessato alle chiamate in uscita. – MahatmaManic

+0

Ehi MahatmaManic, ahh, vedo il problema con le chiamate in uscita, lavorando ora con una soluzione, posterò ASAP una volta confermato (più tardi stasera/entro domani mattina!) –

+1

Ehi @MahatmaManic, sono riuscito a ottenere un twiso soft phone per fare chiamate in uscita e registro quando le connessioni venivano prelevate. Ho modificato il post precedente per descrivere i passaggi necessari. Per favore fatemi sapere se avete domande o volete qualche chiarimento !!Grazie per il tuo tempo, –

Problemi correlati