Goal: Build a destination set from multiple contacts gathered from multiple registered AoR.
Situation: assumptions, observations:
So I am trying to find a way to store/collate all destination sets into one and parallel fork a call to all contacts from multiple AoR.
Idea: Stack all contacts in $xavp(contact_stack) with the same structure as $xavp(tm_contacts) and append it to tm_contacts.
xavp_rm("contact_stack"); # Make sure this is not defined.
We are in a loop setting $var(lookupuri) to (sip:315996608@3cx-pbx.imp.ch and sip:315996608-1@157.161.4.181) {
lookup("location", "$var(lookupuri)");
t_load_contacts(0); # Now $xavp(tm_contacts) is populated
$xavp(contact_stack) = $xavp(tm_contacts); # Store contact set
}
xavp_rm("tm_contacts"); # Re Initialize tm_contacts to empty
$xavp(tm_contacts) = $xavp(contact_stack); # Restore tm_contacts from stacked set.
xlog("L_INFO", "$cfg(route): COUNT: $cnt($xavp(tm_contacts))\n"); # Make sure, the count matches what we expect.
xlog("L_INFO", "$cfg(route): Before t_next_contacts\n");
t_next_contacts(); # Load destination set => CRASH!
xlog("L_INFO", "$cfg(route): After t_next_contacts\n");
Log (some more infos logged I omitted in the example above)
Dec 10 16:18:05 dev-cpereg01 kamailio[3964710]: INFO: [1 0618269314 128182546-3942836285-478214563@prt-cbl-sbc1.imp.ch 2 INVITE]<script>: LOCATION: Auth_aor_user[0] = 315996608
Dec 10 16:18:05 dev-cpereg01 kamailio[3964710]: INFO: [1 0618269314 128182546-3942836285-478214563@prt-cbl-sbc1.imp.ch 2 INVITE]<script>: LOCATION: Sigprofile[0] = local
Dec 10 16:18:05 dev-cpereg01 kamailio[3964710]: INFO: [1 0618269314 128182546-3942836285-478214563@prt-cbl-sbc1.imp.ch 2 INVITE]<script>: LOCATION: Lookupuri[0] = sip:315996608@3cx-pbx.imp.ch
Dec 10 16:18:05 dev-cpereg01 kamailio[3964710]: INFO: [1 0618269314 128182546-3942836285-478214563@prt-cbl-sbc1.imp.ch 2 INVITE]<script>: LOCATION: LOOKUP sip:315996608@3cx-pbx.imp.ch SUCCESS!!!!
Dec 10 16:18:05 dev-cpereg01 kamailio[3964710]: INFO: [1 0618269314 128182546-3942836285-478214563@prt-cbl-sbc1.imp.ch 2 INVITE]<script>: LOCATION: Auth_aor_user[1] = 315996608-1
Dec 10 16:18:05 dev-cpereg01 kamailio[3964710]: INFO: [1 0618269314 128182546-3942836285-478214563@prt-cbl-sbc1.imp.ch 2 INVITE]<script>: LOCATION: Sigprofile[1] = local
Dec 10 16:18:05 dev-cpereg01 kamailio[3964710]: INFO: [1 0618269314 128182546-3942836285-478214563@prt-cbl-sbc1.imp.ch 2 INVITE]<script>: LOCATION: Lookupuri[1] = sip:315996608-1@157.161.4.181
Dec 10 16:18:05 dev-cpereg01 kamailio[3964710]: INFO: [1 0618269314 128182546-3942836285-478214563@prt-cbl-sbc1.imp.ch 2 INVITE]<script>: LOCATION: LOOKUP sip:315996608-1@157.161.4.181 SUCCESS!!!!
Dec 10 16:18:05 dev-cpereg01 kamailio[3964710]: INFO: [1 0618269314 128182546-3942836285-478214563@prt-cbl-sbc1.imp.ch 2 INVITE]<script>: LOCATION: ADD to tm_contacts
Dec 10 16:18:05 dev-cpereg01 kamailio[3964710]: INFO: [1 0618269314 128182546-3942836285-478214563@prt-cbl-sbc1.imp.ch 2 INVITE]<script>: LOCATION: COUNT: 4
Dec 10 16:18:05 dev-cpereg01 kamailio[3964710]: INFO: [1 0618269314 128182546-3942836285-478214563@prt-cbl-sbc1.imp.ch 2 INVITE]<script>: LOCATION: Before t_next_contacts
Dec 10 16:18:05 dev-cpereg01 kernel: [13747450.274883] traps: kamailio[3964710] general protection fault ip:55bc00e61f2b sp:7ffce62d7520 error:0 in kamailio[55bc00ba5000+457000]
Code above with: version: kamailio 5.7.6 (x86_64/linux) from official kamailio repository on ubuntu jammy.
If required, I can try to enable coredumps.
Shown above
Probably not needed.
None yet.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.