voltando a versao de n aberturas e fechamentos de sockets
Dependencies: EthernetInterface NTPClient mbed-rtos_old mbed
Fork of header_main_public by
Diff: sip.cpp
- Revision:
- 10:22da1a0ac1e1
- Parent:
- 9:ffa64f38ef9c
- Child:
- 12:07fd716e0f35
diff -r ffa64f38ef9c -r 22da1a0ac1e1 sip.cpp --- a/sip.cpp Mon Sep 15 17:51:46 2014 +0000 +++ b/sip.cpp Mon Sep 15 20:55:48 2014 +0000 @@ -108,7 +108,7 @@ char out[ 1000 ]; debug_msg("registrando -- %d", this->my_ext ); build_registry_package( buffer ); - int sent = sock.sendTo( sip_server, buffer, sizeof( buffer ) ); + int sent = sock.sendTo( sip_server, buffer, strlen( buffer ) ); sock.receiveFrom( sip_server, buffer, sizeof( buffer ) ); debug_msg(" Recebidos %d bytes para o o ext %d", sent, my_ext ); if( decode_gettag( (unsigned char *)buffer, "cseq: ", out ) ){ @@ -917,21 +917,20 @@ > 0 :: devo remover essa call do vetor de calls */ int Sip::listen_SIP_server( void ){ - sock.set_blocking( false, 3 ); // verificar isso com mais cuidado depois + sock.set_blocking( false, 1 ); // verificar isso com mais cuidado depois uint8_t read = sock.receiveFrom( sip_server, this->buffer, sizeof( this->buffer ) ); if( read > 0 ){ - //debug_msg( "-- SIP recebeu algo --" ); if( !( strncasecmp( buffer, "bye", strlen("bye") ) ) ){ char ans[ 2000 ]; build_reply_package( ans, (unsigned char*)buffer ); - sock.sendTo( sip_server, ans, sizeof( ans ) ); - debug_msg(" Server request BYE to %d ext", my_ext ); + int sent_to_ast = sock.sendTo( sip_server, ans, sizeof( ans ) ); + debug_msg(" Server request BYE to %d ext -- %d bytes reply", my_ext, sent_to_ast ); return( this->my_ext ); }else if( !( strncasecmp( buffer, "options", strlen("options") ) ) ){ char ans[ 2000 ]; - debug_msg(" Options received "); build_reply_package( ans, (unsigned char*)buffer ); - sock.sendTo( sip_server, ans, sizeof( ans ) ); + int sent_to_ast = sock.sendTo( sip_server, ans, sizeof( ans ) ); + debug_msg(" Ext %d :: Options -- %d bytes reply ", my_ext, sent_to_ast ); } } return( 0 ); @@ -946,8 +945,10 @@ } void Sip::send_bye( void ){ + debug_msg(""); build_bye_package( this->buffer ); sock.sendTo( sip_server, build_bye_package( this->buffer ), sizeof( this->buffer ) ); + debug_msg(""); } void Sip::send_unregistry_pkg(){