Module: kamailio
Branch: master
Commit: 6a498f713a2522e18bed96dc4d1f361008a95502
URL:
https://github.com/kamailio/kamailio/commit/6a498f713a2522e18bed96dc4d1f361…
Author: lazedo <luis.azedo(a)factorlusitano.com>
Committer: lazedo <luis.azedo(a)factorlusitano.com>
Date: 2015-10-07T11:39:37-07:00
presence: use advertised ip for local contact
---
Modified: modules/presence/utils_func.h
---
Diff:
https://github.com/kamailio/kamailio/commit/6a498f713a2522e18bed96dc4d1f361…
Patch:
https://github.com/kamailio/kamailio/commit/6a498f713a2522e18bed96dc4d1f361…
---
diff --git a/modules/presence/utils_func.h b/modules/presence/utils_func.h
index 866df1b..6592375 100644
--- a/modules/presence/utils_func.h
+++ b/modules/presence/utils_func.h
@@ -124,15 +124,18 @@ static inline int ps_fill_local_contact(struct sip_msg* msg, str
*contact)
goto error;
}
- ip.s= ip_addr2a(&msg->rcv.dst_ip);
- if(ip.s== NULL)
- {
- LM_ERR("transforming ip_addr to ascii\n");
- goto error;
+ if(msg->rcv.bind_address->useinfo.name.len>0) {
+ ip = msg->rcv.bind_address->useinfo.name;
+ } else {
+ ip = msg->rcv.bind_address->address_str;
}
- ip.len= strlen(ip.s);
- port = msg->rcv.dst_port;
+ if(msg->rcv.bind_address->useinfo.port_no>0) {
+ port = msg->rcv.bind_address->useinfo.port_no;
+ } else {
+ port = msg->rcv.bind_address->port_no;
+ }
+
if(strncmp(ip.s, "sip:", 4)!=0)
{
strncpy(contact->s, "sip:", 4);