[OpenSIPS-Users] "Asterisk Contexts" in OpenSIPS

Deon Vermeulen vermeulen.deon at gmail.com
Fri Oct 1 00:10:08 CEST 2010


Hi Stan

Again. Thanks very much for the quick response.

I've setup 2 Domains, Domain A and Domain B with usera in Domain A and  
userb in Domain B.

I'm experiencing a strange problem.


When I do "opensipsctl ul show userb" it shows that the Location for  
this user is in Domain A.

FIFO command was:
:ul_show_contact:opensips_receiver_7516
location
userb at domaina.com


When I do "opensipsctl ul show userb at domainb.com" it shows that the  
Location for this user is in Domain B.

FIFO command was:
:ul_show_contact:opensips_receiver_9434
location
userb at domainb.com


I'm able to setup a call between the 2 users, but the call drops after  
+-30 seconds.
VOICE data is sent and received between the devices while in the +-30  
seconds call duration.


Any suggestions?
Should i send you my config script?


Thanks again for the help.


Regards
Deon


On 30 Sep 2010, at 1:19 PM, Stanisław Pitucha wrote:

> On 30/09/10 11:59, Deon Vermeulen wrote:
>> Let me try and explain a scenario as brief as I possibly can.
>>
>> I have Company A (Domain A) and Company B (Domain B).
>>
>> Domain A and B should be completely Transparent to each other.
>>
>> See like Domain A and B in their own respective Bubbles completely
>> separated from each other, each with functions like Hunt groups,  
>> IVRs,
>> Conferencing, Presence, Music on Hold, etc...
> That's fine with domains. Just make sure usrloc / aliases use domains.
> (there's a mod_param for that) and that the domain names are filled
> correctly in the db.
>
>> Extension 123 should be able to exist in both Domains and make/ 
>> receive
>> calls.
> Handled by domains - usrloc / registrar should handle it just fine.  
> Run
> standard lookup("location") before relaying the packet and it will go
> the the correct user if he's registered. Make sure that the users in
> table `subscribers` use a different domain.
>
>> Domain A and B should not be able to make any VOICE calls between  
>> each
>> other, but via their respective PSTN/GSM Gateways, unless they are  
>> put
>> in a Group/Class allowing them. Both Bubbles in a bigger bubble.
> Aliases will help you resolve that. Bind PSTN numbers to
> extensions at domain and lookup("aliases") before sending the call to  
> PSTN
> numbers in order to loop back to the correct users. So basically
> something like:
> if (lookup("aliases")) { route(local_call); }
> else { route(external_call); }
>
> route[local_call] {
>   if(lookup("location")) { t_relay(); }
>   else { return some error, probably 404 }
> }
>
>> Each Domain should have their own respective PSTN, GSM, etc Gateways
>> and be completely transparent to the other Domain, ie. Domain A  
>> should
>> not be able to use any of Domain Bs gateways to make/receive calls  
>> and
>> vise-versa.
> I think this can be handled by drouting - I'm not using it, so not  
> 100%
> sure. If it doesn't, then you can map domain names onto dispatcher
> groups and use ds_select_domain() instead.
>
> As for the received calls, I'm not sure if you want to limit anything?
> If you're only going to get pstn numbers, do you really care if you  
> got
> a call from the "wrong" gateway? If you do, just check the source
> against the domain after lookup("aliases"). If you don't - your  
> incoming
> call looks just like your outgoing one. (apart from the
> route(external_call) of course - that should be 403 or something  
> like that).
>
> Regards,
> Stan
>
> _______________________________________________
> Users mailing list
> Users at lists.opensips.org
> http://lists.opensips.org/cgi-bin/mailman/listinfo/users




More information about the Users mailing list