2017-05-11 6 views
0

Ich schreibe eine Anwendung auf Ubuntu 16.04 mit PJSUA/PJSIP.
Ich muss erkennen, wenn ein Anruf gehängt wird. Gibt es eine Art von call_state() Funktion?Ende eines Anrufs erkennen PJSIP

Vielen Dank!

Antwort

1

Fand die Lösung here und here:
Sie haben wie so die static void on_call_state(pjsua_call_id call_id, pjsip_event *e) Funktion ändern:

/* Callback called by the library when call's state has changed */ 
static void on_call_state(pjsua_call_id call_id, pjsip_event *e) 
{ 
    pjsua_call_info ci; 

    PJ_UNUSED_ARG(e); 

    pjsua_call_get_info(call_id, &ci); 
    PJ_LOG(3,(THIS_FILE, "Call %d state=%.*s", call_id, 
      (int)ci.state_text.slen, 
      ci.state_text.ptr)); 


    if (ci.state == PJSIP_INV_STATE_DISCONNECTED) { 

     /*YOUR CODE HERE*/ 

    } 
}