diff --git a/kamailio/registrar-role.cfg b/kamailio/registrar-role.cfg index 72e06cd..546164f 100644 --- a/kamailio/registrar-role.cfg +++ b/kamailio/registrar-role.cfg @@ -120,7 +120,13 @@ route[ATTEMPT_AUTHORIZATION] $var(expires) = REGISTRAR_MIN_EXPIRES; } - $var(params) = "fs_path="; + if($(proto{s.tolower}) == "udp" || $(proto{s.tolower}) == "tcp" || $(proto{s.tolower}) == "tls") { + $var(return_port) = "$Rp"; + } else { + $var(return_port) = "5060"; + } + + $var(params) = "fs_path="; ## TODO: fix escaping, some phones send us -- reg-id=1;+sip.instance="urn:uuid:9b8bd513-0e6e-4660-ad5e-5e35d88cc68f"; ## and if we can store it but not use it because it looses the escapes (that weren't there...) @@ -134,6 +140,12 @@ route[ATTEMPT_AUTHORIZATION] $var(fs_contact) = ""; } + if ($avp(AVP_RECV_PARAM) == $null) { + $var(fs_contact) = "<" + $(ct{tobody.uri}) + ";" + $var(params) + ">"; + } else { + $var(fs_contact) = ""; + } + $var(register_contants) = ' "Presence-Hosts" : "n/a", "Profile-Name" : "sipinterface_1", "Status" : "Registered", "Event-Timestamp" : "' + $TS + '", "Expires" : ' + $var(expires); $var(amqp_payload_request) = '{"Event-Category" : "directory", "Event-Name" : "reg_success", "Contact" : "' + $var(fs_contact) + '", "Call-ID" : "' + $ci + '", "Realm" : "' + $fd + '", "Username" : "' + $fU + '", "From-User" : "' + $fU + '", "From-Host" : "' + $fd + '", "To-User" : "' + $tU + '", "To-Host" : "' + $td + '", "User-Agent" : "' + $ua + '" ,' + $var(register_contants) + ' }'; @@ -141,9 +153,7 @@ route[ATTEMPT_AUTHORIZATION] kazoo_publish("callmgr", $var(amqp_routing_key), $var(amqp_payload_request)); - xlog("L_INFO", "$ci|end|successful registration with contact $var(fs_contact)"); - exit; }