X-Git-Url: http://git.eversberg.eu/gitweb.cgi?p=lcr.git;a=blobdiff_plain;f=sip.cpp;h=4def0a1cbeb3b35141c315a8376205051337cf22;hp=90818248a73ad651f5df812d22bf923e6b935c6d;hb=cde9a763b10ce9fb98be413ded983fb1816ea258;hpb=2bdb5135a30caebb75cb55663938cc453a445016 diff --git a/sip.cpp b/sip.cpp index 9081824..4def0a1 100644 --- a/sip.cpp +++ b/sip.cpp @@ -19,6 +19,8 @@ unsigned char flip[256]; +int any_sip_interface = 0; + //pthread_mutex_t mutex_msg; su_home_t sip_home[1]; @@ -1890,6 +1892,8 @@ int sip_init_inst(struct interface *interface) PDEBUG(DEBUG_SIP, "SIP interface created (inst=%p)\n", inst); + any_sip_interface = 1; + return 0; } @@ -1908,6 +1912,16 @@ void sip_exit_inst(struct interface *interface) interface->sip_inst = NULL; PDEBUG(DEBUG_SIP, "SIP interface removed\n"); + + /* check if there is any other SIP interface left */ + interface = interface_first; + while (interface) { + if (interface->sip_inst) + break; + interface = interface->next; + } + if (!interface) + any_sip_interface = 0; } extern su_log_t su_log_default[];