Hello,

for <= 1.5 is not easy to get to it, unless you use db mode only and play directly to database.

In 3.0+ you can change the contact header and then use msg_apply_changes():
http://kamailio.org/docs/modules/stable/modules_k/textops.html#id2749047

then do save to location.

Cheers,
Daniel


On 3/30/10 7:03 PM, NeoTel Lists wrote:
Again sorry, too much trial&error makes a lot of noise ...

if (avp_subst("$(avp(contact))", 
"/;phone-context=q([01]\.[0-9]+)(.*>)?([^>]*)/\2\3;q=\1/i")) {
     # just to have it handy int that var(Q)
     $var(Q) = $(avp(contact){s.select,1,>}{param.value,q});
     remove_hf("Contact");
     append_hf("Contact: $(avp(contact))\r\n");    # must not add q= twice
}

->  Same result: q=-1 in Database.

-----Ursprüngliche Nachricht-----
Von: users-boun...@lists.kamailio.org [mailto:users-boun...@lists.kamailio.org] 
Im Auftrag von NeoTel Lists
Gesendet: Dienstag, 30. März 2010 18:56
An: Alex Balashov; users@lists.kamailio.org
Betreff: Re: [Kamailio-Users] Registrar: Save modified contact / set the qvalue

Sorry for being unclear: I meant: Modify the contact in the script, then do 
save().

E.g.
$(avp(contact)) = $ct;
# Those Patton can't send the q value ... Misuse their ;phone-context param
if (avp_subst("$(avp(contact))", 
"/;phone-context=q([01]\.[0-9])(.*>)?([^>]*)/\2\3;q=\1/i")) {
     # just to have it handy int that var(Q)
     $var(Q) = $(avp(contact){s.select,1,>}{param.value,q});
     remove_hf("Contact");
     append_hf("Contact: $(avp(contact));q=$var(Q)r\n");
     # subst() does the same, also not save()ed
}
...
setbflag(1);
fix_nated_register();
save("contactimpl_nat", "0x02");

Br
Walter

-----Ursprüngliche Nachricht-----
Von: users-boun...@lists.kamailio.org [mailto:users-boun...@lists.kamailio.org] 
Im Auftrag von Alex Balashov
Gesendet: Dienstag, 30. März 2010 17:58
An: users@lists.kamailio.org
Betreff: Re: [Kamailio-Users] Registrar: Save modified contact / set the q value

On 03/30/2010 11:36 AM, NeoTel Lists wrote:

Hello Everybody!
Is there any way to save(domain, 0x02) the contact after it has been
changed somehow in Kamailio<= 1.5?
If it were not possible, how would nathelper:fix_nated_contact() work?



--
Daniel-Constantin Mierla * http://www.asipto.com/ * http://twitter.com/miconda * http://www.linkedin.com/in/danielconstantinmierla

_______________________________________________
Kamailio (OpenSER) - Users mailing list
Users@lists.kamailio.org
http://lists.kamailio.org/cgi-bin/mailman/listinfo/users
http://lists.openser-project.org/cgi-bin/mailman/listinfo/users

Reply via email to