voltando a versao de n aberturas e fechamentos de sockets data 19/09

Dependencies:   EthernetInterface NTPClient mbed-rtos mbed EALib

Fork of header_main_publish by VZTECH

Revision:
13:ae278302dffe
Parent:
12:07fd716e0f35
Child:
14:22a35f575502
--- a/sip.cpp	Tue Sep 16 13:21:01 2014 +0000
+++ b/sip.cpp	Tue Sep 16 15:09:11 2014 +0000
@@ -105,24 +105,21 @@
 }
  
 void Sip::registry(){
-    //jhcchar out[ 1000 ];
-    char out[ 350 ];
+    char out[ 1000 ];
     debug_msg("registrando -- %d", this->my_ext );
     build_registry_package( buffer );
-    int sent = sock.sendTo( sip_server, buffer, strlen( buffer ) );
+    int sent = sock.sendTo( sip_server, buffer, sizeof( 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 ) ){
         if(strlen( out ) > 7){
             if(strcasecmp("options",out+strlen(out)-7) == 0){
-                //jhcchar ans[ 2000 ];
-                char ans[ 350 ];
+                char ans[ 2000 ];
                 build_reply_package( ans, (unsigned char*)buffer );
                 sock.sendTo( sip_server, ans, sizeof( ans ) );
             }
         }
     }
-    debug_msg("registrei");
 }
 
 VZ_call * Sip::invite(){
@@ -173,8 +170,7 @@
                         ref += 6; // audio 
                         ref = strtok( ref, " ");
                         if( call == NULL ) call = new VZ_call( this->my_ext, this->my_rtp_port, this->peer_ext, atoi( ref ) );
-                        //jhcchar ans[ 1024 ];
-                        char ans[ 350 ];
+                        char ans[ 1024 ];
                         build_ack_package( ans, ( unsigned char *)buffer );
                         sock.sendTo( sip_server, ans, sizeof( ans ) );
                         debug_msg("Call alocada -- Sip::status::%d -- loop_times :: %d :: received_loop_times :: %d", status, loop_times, received_loop_times );
@@ -921,22 +917,21 @@
     > 0 :: devo remover essa call do vetor de calls 
 */
 int Sip::listen_SIP_server( void ){
-    sock.set_blocking( false, 1 ); // verificar isso com mais cuidado depois
+    sock.set_blocking( false, 3 ); // 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") ) ) ){
-            //jhcchar ans[ 2000 ];
-            char ans[ 350 ];
+            char ans[ 2000 ];
             build_reply_package( ans, (unsigned char*)buffer );
-            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 );
+            sock.sendTo( sip_server, ans, sizeof( ans ) );  
+            debug_msg(" Server request BYE to %d ext", my_ext );
             return( this->my_ext );
         }else if( !( strncasecmp( buffer, "options", strlen("options") ) ) ){
-            //jhcchar ans[ 2000 ];
-            char ans[ 350 ];
+            char ans[ 2000 ];
+            debug_msg(" Options received ");
             build_reply_package( ans, (unsigned char*)buffer );
-            int sent_to_ast = sock.sendTo( sip_server, ans, sizeof( ans ) );
-            debug_msg(" Ext %d :: Options -- %d bytes reply ", my_ext, sent_to_ast );
+            sock.sendTo( sip_server, ans, sizeof( ans ) );
         }
     }
     return( 0 ); 
@@ -951,10 +946,8 @@
 }
 
 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(){