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