|
@@ -1508,6 +1508,8 @@ ClientNatTest(struct sip_msg *msg, unsigned int tests)
|
|
|
|
|
|
|
|
|
|
#define FROM_PREFIX "sip:keepalive@"
|
|
#define FROM_PREFIX "sip:keepalive@"
|
|
|
|
+#define MAX_BRANCHID 9999999
|
|
|
|
+#define MIN_BRANCHID 1000000
|
|
|
|
|
|
static void
|
|
static void
|
|
send_keepalive(NAT_Contact *contact)
|
|
send_keepalive(NAT_Contact *contact)
|
|
@@ -1536,7 +1538,7 @@ send_keepalive(NAT_Contact *contact)
|
|
|
|
|
|
len = snprintf(buffer, sizeof(buffer),
|
|
len = snprintf(buffer, sizeof(buffer),
|
|
"%s %s SIP/2.0\r\n"
|
|
"%s %s SIP/2.0\r\n"
|
|
- "Via: SIP/2.0/UDP %.*s:%d;branch=0\r\n"
|
|
|
|
|
|
+ "Via: SIP/2.0/UDP %.*s:%d;branch=z9hG4bK%ld\r\n"
|
|
"From: %s;tag=%x\r\n"
|
|
"From: %s;tag=%x\r\n"
|
|
"To: %s\r\n"
|
|
"To: %s\r\n"
|
|
"Call-ID: %s-%x-%x@%.*s\r\n"
|
|
"Call-ID: %s-%x-%x@%.*s\r\n"
|
|
@@ -1546,6 +1548,7 @@ send_keepalive(NAT_Contact *contact)
|
|
keepalive_params.method, contact->uri,
|
|
keepalive_params.method, contact->uri,
|
|
contact->socket->address_str.len,
|
|
contact->socket->address_str.len,
|
|
contact->socket->address_str.s, contact->socket->port_no,
|
|
contact->socket->address_str.s, contact->socket->port_no,
|
|
|
|
+ (long)(rand()/(float)RAND_MAX * (MAX_BRANCHID-MIN_BRANCHID) + MIN_BRANCHID),
|
|
from_uri, keepalive_params.from_tag++,
|
|
from_uri, keepalive_params.from_tag++,
|
|
contact->uri, keepalive_params.callid_prefix,
|
|
contact->uri, keepalive_params.callid_prefix,
|
|
keepalive_params.callid_counter++, get_ticks(),
|
|
keepalive_params.callid_counter++, get_ticks(),
|