voltando a versao de n aberturas e fechamentos de sockets
Dependencies: EthernetInterface NTPClient mbed-rtos_old mbed
Fork of header_main_public by
Diff: utils.cpp
- Revision:
- 10:22da1a0ac1e1
- Parent:
- 9:ffa64f38ef9c
- Child:
- 12:07fd716e0f35
diff -r ffa64f38ef9c -r 22da1a0ac1e1 utils.cpp --- a/utils.cpp Mon Sep 15 17:51:46 2014 +0000 +++ b/utils.cpp Mon Sep 15 20:55:48 2014 +0000 @@ -67,6 +67,7 @@ } void registry_aging( Vector * v_cb, uint8_t * data, uint8_t * write_buffer ){ + //debug_msg(""); Call_Box * cb = NULL; if( v_cb && data && write_buffer ){ int tam = v_cb->size(); @@ -134,6 +135,7 @@ } int sip_manager( Vector * v_cb, Vector * v_call, uint8_t * write_buffer ){ + //debug_msg(""); static int index = 0; if( v_cb && write_buffer ){ if( v_cb->size() > 0 ){ @@ -147,7 +149,8 @@ */ int returned_value = 0; - if( cb->status == cb_on_call || cb->status == cb_idle ) returned_value = cb->listen_SIP_server(); + //if( cb->status == cb_on_call || cb->status == cb_idle ) returned_value = cb->listen_SIP_server(); + if( cb->status == cb_on_call ) returned_value = cb->listen_SIP_server(); index++; return( returned_value ); @@ -158,6 +161,7 @@ /* remove calls por timeout */ void call_manager( Vector * v_call, Vector * v_cb, uint8_t * data, uint8_t * write_buffer, Timeslice * ts ){ + //debug_msg(""); for( register int i = 0; i < v_call->size(); i++ ){ VZ_call * call = ( VZ_call * )v_call->get_element( i ); if( call->is_timeout() || call->is_timetofinish() ){ @@ -172,7 +176,7 @@ __send_to_cb__( __build_cb_package__( cb->get_ext(), cb->get_port(), __CB_BYE__, ( char * )data, cb->get_msg_id(), __CB_BUFFER_SIZE__ - __VZ_HEADER_OFFSET__, write_buffer ) ); cb->send_bye(); - set_status( cb->sip->status, sip_idle ); + if( cb->sip ) set_status( cb->sip->status, sip_idle ); } delete( call ); }