[OpenSIPS-Users] better solution possible? => lookup and routing with 2 location databases
Bogdan-Andrei Iancu
bogdan at voice-system.ro
Tue Jun 16 00:25:47 CEST 2009
Hi Uwe,
yes, it will fetch everything from the locinternal (if any) (first
lookup) and if there are contact in the second table (location), it will
add a branch to point to the other server.
Regards,
Bogdan
Uwe Kastens wrote:
> Hi Bogdan,
>
> Thanks for your answer.
>
> If I understood you scripting correctly, the lookup("locinternal"); will
> have the value of the 1st lookup, if there is an entry in locinternal.
> If the 2nd if (registered("location ...) will match, than I will have
> the entry from location only, correct?
>
> BR
>
> Uwe
>
> Bogdan-Andrei Iancu schrieb:
>
>> Hi Uwe,
>>
>> I think the problem is in the branch management. If I get is right, you
>> get the records from locinternal table and if records are present in
>> location, you fork a branch to the other server, right ?
>>
>> If so, you do something like :
>>
>> route[1] {
>> if (!loose_route()){
>> rewritehostport("domain1.de");
>> $var(x) = $rU+"@domain2.de";
>> lookup("locinternal");
>> if (registered("location","$var(x)")) {
>> $rb = $var(x);
>> }
>> }
>>
>> See:
>> http://www.opensips.org/html/docs/modules/1.5.x/registrar.html#id271315
>>
>> Regards,
>> Bogdan
>>
>> Uwe Kastens wrote:
>>
>>> Hi,
>>>
>>> Perhaps somebody has a better idea to solve the following issue. I have
>>> two opensips servers. UA can register at both opensips with different
>>> domains and credentials.
>>>
>>> opensips1 will get the calls from pstn and should route them to
>>> opensips2 , if the UA is registered as well with opensips2.
>>>
>>> I would like to have parallel invites to all registered UAs. But the
>>> invites should come from that opensips, with which the UA is registered.
>>>
>>> 1st I was wondering, why a call is forked to opensips2 as well, even if
>>> no UA is registered there. I think it might be caused by the
>>> rewritehostport("domain2.de") which is working on the current URI?
>>>
>>> route[1] {
>>> if (!loose_route()){
>>> rewritehostport("domain1.de");
>>> if lookup("locinternal") {
>>> append_branch();
>>> }
>>> rewritehostport("domain2.de");
>>> if (registered("location")) {
>>> append_branch("$rU at domain2.de");
>>> }
>>> }
>>>
>>> if (!t_relay()) {
>>> sl_reply_error();
>>> };
>>> t_on_reply("1");
>>> }
>>>
>>>
>>> BR
>>>
>>> Uwe
>>>
>>>
>>
>
>
>
More information about the Users
mailing list