[OpenSIPS-Users] Help with Inbound PSTN, and Inbound SIP URI Authentication Sub-Routine

Brett Woollum brett at woollum.com
Tue Sep 14 09:32:38 CEST 2010


Hi David, 

As far as I can tell, the alias module is independent of how the call is authenticated. My understanding is that it will look for a replacement URI based on the current one, and replace if a new one is found. It appears as though this "function" would go into the config file somewhere after the section I'm working on now. 

Is my understanding correct? 

I'll need some way to determine if this is an inbound call (i.e.; not originating from a subscriber's phone) prior to mapping it to the alias module. Also, I'd like to determine if the incoming call is from my PSTN gateway and give different aliases than if the call was a SIP URI call. 

Brett Woollum 

Brett at Woollum.com 


----- Original Message ----- 
From: "David J." <david at styleflare.com> 
To: "OpenSIPS users mailling list" <users at lists.opensips.org> 
Sent: Tuesday, September 14, 2010 12:20:23 AM GMT -08:00 US/Canada Pacific 
Subject: Re: [OpenSIPS-Users] Help with Inbound PSTN, and Inbound SIP URI Authentication Sub-Routine 

Hi Brett, 

The common practice is to use the alias module for inbound routing. 

You can look at the docs for its usage, but essentially you can map DID's to local users. 



On 9/14/10 3:18 AM, Brett Woollum wrote: 


Hello! 

I have an OpenSIPS 1.6.3 installation that is working well. I have subscribers registering to OpenSIPS, and they can dial between each other and outside of my domain (to my media servers and to the PSTN). All is well. 

I am now beginning to write the configuration that will process inbound calls - meaning calls from non-subscribers. This will include calls from the PSTN gateway, as well as direct SIP URI calls to the OpenSIPS subscribers. For example, a person can call 515-555-1212 from a regular phone, and the call will come to OpenSIPS as an un-authenticated call from my PSTN gateway. Also, I'd like to accept SIP URI's for incoming calls. For example, calling mycompany at mysipdomain.com from a soft phone might route the call to subscriber A's phone. 

The code I have that applies to this is: (This is currently configured to authenticate all outbound calls from subscribers only.) 
# authenticate if from local subscriber 
if (!(method=="REGISTER")) { 
if (!proxy_authorize("", "subscriber")) { 
proxy_challenge("", "0"); 
exit; 
} 
if (!db_check_from()) { 
send_reply("403","Forbidden auth ID"); 
exit; 
} 

consume_credentials(); 
# caller authenticated 
} 

I am looking for direction on how to expand this to determine if the call is A) from a subscriber calling outbound, B) inbound from the PSTN, or C) inbound from any other user calling my SIP URI's. Once I am able to determine this information, I'll be able to route the call appropriately within the rest of my scripts. 

My problem is that my SIP phones usually attempt to place calls without including authorization in the header (because they are registered already), then OpenSIPS replies requiring proxy authentication. The SIP phones will then try the call again including the credentials in the header, which works. How can I re-write this section of code to allow inbound SIP URI calls and calls from my PSTN gateway, while still asking my subscribers to authenticate? Or, is there a method that might work better? 

Notes: 
- Each of my PSTN gateway's has a static IP. 
- It's safe to assume a single-domain setup (mysipdomain.com). 

Thanks in advance! 


Brett Woollum 
Brett at Woollum.com 

_______________________________________________
Users mailing list Users at lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users 

_______________________________________________ Users mailing list Users at lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.opensips.org/pipermail/users/attachments/20100914/3232e6cf/attachment.htm 


More information about the Users mailing list