Hi guys; Im using "REGISTRAR MODULE" to control the users login by device.
if (af==INET6){ reg_fetch_contacts("location", "$fu", "existingContact");
xlog("L_INFO","****************$si******************************");
xlog("L_INFO","****************$(hdr(Call-ID){s.substr,0,4})******************************"); if ( $(ulc(existingContact=>user_agent)[0]) =~ "SPI/v") && ($(hdr(Call-ID){s.substr,0,4}) != "TTCN") { $var(oldDeviceId) = $(ulc(existingContact=>callid)[0]{s.substr,9,0}); $var(newDeviceId) = $(hdr(Call-ID){s.substr,9,0}); if($var(oldDeviceId) != $var(newDeviceId) ){ xlog("L_INFO","New device id is different:warn previous user another user overide him"); $var(address) = $(ulc(existingContact=>received){s.substr,9,0}); $var(ruri) = $(var(address){s.substr,4,0}); #$var(ruri) = "[" + $var(address)+ "]" + ":" + $sp + ";" + "transport" + "=" + $proto; #Send a SIP Request signalling the problem and its reason on the body xlog("L_INFO","****************** $var(address)***************************"); $uac_req(method)="MESSAGE"; $uac_req(ruri) = "sip:"+ $au + "@" + $var(ruri); $uac_req(furi) = "sip:kamailio@sip_domain"; $uac_req(turi) = $fu; $uac_req(hdrs)="Max-Forwards: 70\r\nEvent: reg\r\nContent-Type: text/plain\r\nAccept-Contact:*;+g.ext.app.registration\r\n"; $uac_req(body)="Already registered with another device id"; uac_req_send(); } } So as you can see Im trynig to get the variable $var(address) from reg_fetch_contacts but is working for ipv4 unfortunatly not for ipv6. For ipv6 it give me '0'. Somthing is happening related to "[" "]". How can I solve this problem? Thank you.
OS: Centos 7 KAMILIO: version: kamailio 4.4.7 (x86_64/linux) 35d8ab