Hi Daniel,
My bad, I'll try to elaborate further. Here's a real example of the xavp
structure, printing it in a loop.
# Print Contacts List
if(defined $xavp(tm_contacts)) {
$var(i) = 0;
while($xavp(tm_contacts[$var(i)]) != $null) {
xlog("L_INFO", "--- Loaded Contact [$var(i)]\n");
xlog("L_INFO",
"UserAgent: $xavp(tm_contacts[$var(i)]=>ua) \n");
xlog("L_INFO",
"RUID: $xavp(tm_contacts[$var(i)]=>ruid) \n");
xlog("L_INFO",
"Q_flag: $xavp(tm_contacts[$var(i)]=>q_flag) \n");
xlog("L_INFO",
"Flags: $xavp(tm_contacts[$var(i)]=>flags) \n");
xlog("L_INFO",
"Socket: $xavp(tm_contacts[$var(i)]=>sock) \n");
xlog("L_INFO",
"DST_URI: $xavp(tm_contacts[$var(i)]=>dst_uri) \n");
xlog("L_INFO",
"R-URI: $xavp(tm_contacts[$var(i)]=>uri) \n");
$var(i) = $var(i) + 1;
}
}
*Result:*
--- Loaded Contact [0]
UserAgent: kamailio SIP Router - RPC Server
RUID: ulcx-5e88a468-587c-3
Q_flag: 0
Flags: 0
Socket: <null>
DST_URI: sip:10.10.10.10:5060
R-URI: sip:s@10.10.10.10:5060
--- Loaded Contact [1]
UserAgent: kamailio SIP Router - RPC Server
RUID: ulcx-5e88a468-587c-2
Q_flag: 0
Flags: 0
Socket: <null>
DST_URI: sip:10.22.0.30:5070
R-URI: sip:s@10.22.0.30:5070
--- Loaded Contact [2]
UserAgent: kamailio SIP Router - RPC Server
RUID: ulcx-5e88a468-587c-1
Q_flag: 0
Flags: 0
Socket: <null>
DST_URI: sip:10.10.10.10:5070
R-URI: sip:s@10.10.10.10:5070
Thanks.
On Mon, May 11, 2020 at 10:38 AM Daniel-Constantin Mierla <miconda(a)gmail.com>
wrote:
Hello,
I haven't implemented the t_load_contacts() to be familiar with how it
stored data internally, because it should be more fields than the address.
That's why I asked if you can provide some example with assignments, so one
can reproduce the issue and eventually give a solution or fix the code.
Cheers,
Daniel
On 11.05.20 16:17, Sergiu Pojoga wrote:
Hi again,
After calling t_load_contacts(), all Contacts are stored in
$xavp(tm_contacts). Then, some evaluation of Contacts is done and some of
them may need to be dropped so that branches aren't created.
modparam("tm", "contacts_avp", "tm_contacts");
Question is: how to delete Contact[x] from $xavp(tm_contacts) ?
Hope this clarifies it.
Thanks.
On Mon, May 11, 2020 at 8:03 AM Daniel-Constantin Mierla <
miconda(a)gmail.com> wrote:
Hello,
I am not sure I get the issue here, maybe you can give some explicite
examples with assignments operations to be able to replicate.
Just be aware, that when you delete an xavp, the list is shifted and
another xavp can come in the same place (same index).
Cheers,
Daniel
On 03.05.20 05:56, Sergiu Pojoga wrote:
Hi there,
For some reason I can't figure this seemingly simple Subj, may be someone
can help.
In my particular case, trying to delete Contact[0] from the xavp storing
Contacts after t_load_contacts()
$xavp(tm_contacts[0]) = $null;
Above results in all but the latest added value being deleted. Assigning
$null to index[1] results in all but the latest 2 being delete and so on.
Thanks.
_______________________________________________
Kamailio (SER) - Users Mailing
Listsr-users@lists.kamailio.orghttps://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
--
Daniel-Constantin Mierla --
www.asipto.comwww.twitter.com/miconda --
www.linkedin.com/in/miconda
Funding:
https://www.paypal.me/dcmierla
_______________________________________________
Kamailio (SER) - Users Mailing
Listsr-users@lists.kamailio.orghttps://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
--
Daniel-Constantin Mierla --
www.asipto.comwww.twitter.com/miconda --
www.linkedin.com/in/miconda
Funding:
https://www.paypal.me/dcmierla