Hey all,
I have a question regarding usrloc. I have run into a
problem..
We have static routes sent to an asterisk server for all of
our SIP usernames. In addition our IAD’s will register with the
same username, so that calls coming into our switch for that username will be
routed to both the asterisk box and the SIP IAD. This way, whichever
endpoint (IAD or asterisk) answers the call first will take the call.
For example.
root:/ # serctl ul show +18646404810
<sip:+18646404810@192.168.1.60>;q=1;expires=-1012151
<sip:+18646404810@192.168.1.157:5060>;q=;expires=403
192.168.1.60 is the asterisk server. This is a static
route added by serctl.
192.168.1.157 is my IAD which registers with the switch
every 10 minutes.
So when calls are made to (864) 640-4810 then SER will send
an INVITE to both location.
I explained all of this just to explain now what my problem
is, and ask if anyone may know a possible solution.
Now, we also use asterisk to perform call fwd’ing
functions. Asterisk will answer the call and then originate another call
out back to SER to a new location. Now the problem! (finally!) This
call fwd’ing method works very well in most cases, except that if the call
fwd’ing is being sent to another location registered with SER then it
will be redirected back to asterisk again, albeit to a different URI, and asterisk
will kill the call because it thinks that it has looped (which I guess it has…
sort of).
So, I’m wondering if there is possibly a way to
retrieve only the usrloc locations that don’t contain the IP address
192.168.1.60 in the contact URI? This way I can just check if the src_ip
is 192.168.1.60 and if so then retrieve all the usrloc locations –
without asterisk – and the call will not be redirected back to asterisk.
Is this possible? Or if anyone has any other ideas
that may help then I am definitely open to suggestions.
Thanks for your help!!
Darren Nay
Ionosphere, Inc
VoIP Network Development