I am not using a branch routing block at present, I am
doing modifications using values I pull from the location
table.
So my question may be slightly different but very much
branch related.
So I have two contacts;
Then using reg_fetch_contacts I get for each
registered contact;
xlog("callee=>user_agent:
$(ulc(callee=>user_agent)[$var(i)])\n");
xlog("callee=>received:
$(ulc(callee=>received)[$var(i)])\n");
xlog("callee=>addr1:
$(ulc(callee=>addr)[$var(i)])\n");
And define some variables as a result for each
contact;
$var(ua1) =
$(ulc(callee=>user_agent)[$var(i)]);
$var(ua1add) =
$(ulc(callee=>received)[$var(i)]);
$var(ua1aor) = $(ulc(callee=>addr)[$var(i)]);
I then use these to set $du and $ru in the main
routing, I do this for contact2 above, so I send to the
recieved port (49827), identifying this by user agent
type.
This works fine however branch[0] was sending an
INVITE TO
1009@213.123.211.158:5061, contact2 also, and
not contact1 (port 15060), so I have added;
$(branch(dst_uri)[0]) = $var(ua1aor);
So I now get parallel forking as follows;
And can see from debug, my branch [0] is modifed, but
branch [1] is also created;
So I now have 3 invites for 2 devices.
Whats the best approach to clean this up or implement
in the first place, my main question is probably around
branch modification/control.
Thanks, sorry for long question.
Jon
Date: Tue, 13 May 2014 16:04:21
+0200
From:
miconda@gmail.com
To:
sr-users@lists.sip-router.org
Subject: Re: [SR-Users] reg_fetch_contacts for multiple
devices registered
Hello,
are you using a branch_route block?
Cheers,
Daniel
On 13/05/14 13:28,
Jonathan Hunter wrote:
Hi Guys,
Following on from my initial query, I have
indexing working for reg_fetch_contacts, however
now I am
having issues with branching.
First, is append_branches() still applicable to
kamailio 4.0.6 ? As when I use its not
recognised.
Also I have two contacts registered, contact 0
and contact 1.
Contact 0 was registered first, then contact 1.
Now I perform manipulation on the main branch
after identifying the user agent for contact 1,
and the main
branch request is sent out as I wish, this uses
branch [0] when running debug to the $ru/$du I
have modified.
However with branch [1] this isnt modified
which is fine, but uses the contact AOR from
Contact 1 and not Contact 0.
Is this normal behaviour and I just need to
improve my logic?
Any advise on parallel branching where you
extract certain credentials from location table,
then as a result
manipulate the $ru and $du as a result, but
dont affect any other multiple registrations that
would be great!
Many thanks
Jon
Hi Guys,
I was wondering if anyone could help?
I am currently using reg_fetch_contacts
to manipulate signaling based on the user
agent device being used, therefore I use
the result of;
if(reg_fetch_contacts("location",
"$ru", "callee"))
{
xlog("callee=>user_agent
$ulc(callee=>user_agent)\n");
}
I then
use $ulc(callee=>user_agent) to
make routing decisions.
This
seems to only return the user-agent
device being used for the first
registration at that AOR, as I have two
devices registered, a Cisco, and a jitsi
client, and it only returns the
user_agent of the jitsi client I
registered first.
Is it
possible to return the user agents of
all the devices registered against an
AOR so I can manage decisions
accordingly?
Many
thanks
Jon
_______________________________________________
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
sr-users@lists.sip-router.org
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
--
Daniel-Constantin Mierla - http://www.asipto.com
http://twitter.com/#!/miconda - http://www.linkedin.com/in/miconda
_______________________________________________
SIP Express Router (SER) and Kamailio (OpenSER) -
sr-users mailing list
sr-users@lists.sip-router.org
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users