Changeset 735


Ignore:
Timestamp:
Sep 22, 2006 6:42:09 PM (18 years ago)
Author:
bennylp
Message:

Handle incoming empty packets sent by some user agents (to refresh NAT)

Location:
pjproject/trunk/pjsip/src/pjsip
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • pjproject/trunk/pjsip/src/pjsip/sip_parser.c

    r608 r735  
    909909        } 
    910910 
     911        /* Check if we still have valid packet. 
     912         * Sometimes endpoints just send blank (CRLF) packets just to keep 
     913         * NAT bindings open. 
     914         */ 
     915        if (pj_scan_is_eof(scanner)) 
     916            return NULL; 
     917 
    911918        /* Parse request or status line */ 
    912919        if (pj_scan_stricmp_alnum( scanner, PJSIP_VERSION, 7) == 0) { 
  • pjproject/trunk/pjsip/src/pjsip/sip_transport.c

    r720 r735  
    10841084                int len; 
    10851085                len = pj_ansi_snprintf(tmp.ptr+tmp.slen, sizeof(buf)-tmp.slen, 
    1086                                        ": %s exception when parsing %.*s " 
     1086                                       ": %s exception when parsing '%.*s' " 
    10871087                                       "header on line %d col %d", 
    10881088                                       pj_exception_id_name(err->except_code), 
     
    10951095            } 
    10961096 
    1097             PJ_LOG(1, (THIS_FILE,  
    1098                       "Error processing %d bytes packet from %s:%d %.*s:\n" 
     1097            /* Only print error message if there's error. 
     1098             * Sometimes we receive blank packets (packets with only CRLF) 
     1099             * which were sent to keep NAT bindings. 
     1100             */ 
     1101            if (tmp.slen) { 
     1102                PJ_LOG(1, (THIS_FILE,  
     1103                      "Error processing %d bytes packet from %s %s:%d %.*s:\n" 
    10991104                      "%.*s\n" 
    11001105                      "-- end of packet.", 
    11011106                      msg_fragment_size, 
     1107                      rdata->tp_info.transport->type_name, 
    11021108                      rdata->pkt_info.src_name,  
    11031109                      rdata->pkt_info.src_port, 
     
    11051111                      (int)msg_fragment_size, 
    11061112                      rdata->msg_info.msg_buf)); 
     1113            } 
    11071114 
    11081115            goto finish_process_fragment; 
Note: See TracChangeset for help on using the changeset viewer.