summaryrefslogtreecommitdiff
path: root/res/res_pjsip_session.c
diff options
context:
space:
mode:
Diffstat (limited to 'res/res_pjsip_session.c')
-rw-r--r--res/res_pjsip_session.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/res/res_pjsip_session.c b/res/res_pjsip_session.c
index 04220094f..caaed317a 100644
--- a/res/res_pjsip_session.c
+++ b/res/res_pjsip_session.c
@@ -1826,14 +1826,20 @@ static int session_end(struct ast_sip_session *session)
static void session_inv_on_state_changed(pjsip_inv_session *inv, pjsip_event *e)
{
struct ast_sip_session *session = inv->mod_data[session_module.id];
+ pjsip_event_id_e type;
- print_debug_details(inv, NULL, e);
+ if (e) {
+ print_debug_details(inv, NULL, e);
+ type = e->type;
+ } else {
+ type = PJSIP_EVENT_UNKNOWN;
+ }
if (!session) {
return;
}
- switch(e->type) {
+ switch(type) {
case PJSIP_EVENT_TX_MSG:
handle_outgoing(session, e->body.tx_msg.tdata);
break;