2
0
Эх сурвалжийг харах

final version!! I hope :))

Bogdan-Andrei Iancu 24 жил өмнө
parent
commit
f5c429a10a

+ 2 - 2
modules/tm/sip_msg.c

@@ -334,7 +334,7 @@ void sh_clean_hdr_field(struct hdr_field* hf)
       switch(hf->type)
       {
          case HDR_VIA:
-   DBG("DEBUG: sh_clean_hdr_field : via headers\n");
+   DBG("DEBUG: sh_clean_hdr_field: sip_msg_free : via headers\n");
                sh_free_via_list(hf->parsed);
              break;
          case HDR_CSEQ:
@@ -357,7 +357,7 @@ void sh_free_hdr_field_lst(struct hdr_field* hf)
 
    while(hf)
     {
-      DBG("DEBUG: free_hdr_field_lst : %s [%d]\n",hf->name.s, hf->type);
+      DBG("DEBUG: free_hdr_field_lst : %s [%d] (adr=%x)\n",hf->name.s, hf->type,hf);
        foo=hf;
        hf=hf->next;
        sh_clean_hdr_field(foo);

+ 4 - 1
modules/tm/t_funcs.c

@@ -397,6 +397,7 @@ int t_on_reply_received( struct sip_msg  *p_msg )
 
    global_msg_id = p_msg->id;
 
+   parse_headers( p_msg , HDR_EOH ); /*????*/
    /* we use label-matching to lookup for T */
    t_reply_matching( hash_table , p_msg , &T , &branch  );
 
@@ -839,9 +840,11 @@ nomatch:
   */
 int t_store_incoming_reply( struct cell* Trans, unsigned int branch, struct sip_msg* p_msg )
 {
+   DBG("DEBUG: t_store_incoming_reply: starting [%d]....\n",branch);
    /* if there is a previous reply, replace it */
    if ( Trans->inbound_response[branch] )
-      free_sip_msg( Trans->inbound_response[branch] ) ;
+      sip_msg_free( Trans->inbound_response[branch] ) ;
+   DBG("DEBUG: t_store_incoming_reply: sip_msg_free done....\n");
    /* force parsing all the needed headers*/
    if ( parse_headers(p_msg, HDR_VIA1|HDR_VIA2|HDR_TO )==-1 ||
         !p_msg->via1 || !p_msg->via2 || !p_msg->to )

+ 1 - 1
modules/tm/timer.h

@@ -12,7 +12,7 @@ enum lists { RETRASMISSIONS_LIST, FR_TIMER_LIST, WT_TIMER_LIST, DELETE_LIST, NR_
 
 /* FINAL_RESPONSE_TIMER ... tells how long should the transaction engine
    wait if no final response comes back*/
-#define FR_TIME_OUT     8
+#define FR_TIME_OUT     64
 
 /* WAIT timer ... tells how long state should persist in memory after
    a transaction was finalized*/