[SR-Users] Translate calling/called party based on username to telephone number base id.

Daniel-Constantin Mierla miconda at gmail.com
Mon Apr 28 10:47:31 CEST 2014


Hello,

On 22/04/14 17:33, Helena Garcia-Nieto wrote:
>
> Hi all.
>
> I want to thank you all for the great info and help that you provide 
> in this mailing list. I am just starting to work with kamailio and 
> still learning.
>
> I would like some help to point me on the right direction on our new 
> challenge:
>
> We have a kamailio server acting basically as location server and call 
> proxy. We are connected to a PSTN gw to reach the outside world. It is 
> working fine but now the client requested some changes that may imply 
> we work with username base subscribers (user1. Characters based) at 
> kamailio side but we still need to convert these usernames to numbers 
> when sending the call to the PSTN gw. Username-number should be fix 
> and can be stored in a table on the db.
>
> We would need to lookup userpart of all the header (from, to, 
> contact…) and substitute incoming username with the peer number for 
> calls from the app to pstn. And translate numbers to usernames on the 
> calls from pstn to the apps.
>
> I am reading uac module  and the sqlops module to search in the db 
> before the substitution but I am not sure if that is the best approach 
> to the problem.
>
> Could anyone point me in the right direction or suggest a  better way 
> to do that? Have anyone already implemented this type of 
> modifications? I am a bit worried for the dialog consistency although 
> I’ve read the uac module should take care of it
>
yes, uac module can take care of replacing from/to headers. You don't 
need to touch contact header, that's irrelevant for the gateway in terms 
of origin/destination IDs.

sqlops can be used for loading the values from database, so you are 
looking in the right direction.

Cheers,
Daniel

> Thanks in advanced
>
> Helena
>
> *From:*Helena Garcia-Nieto [mailto:helena.gnieto at morodo.co.uk]
> *Sent:* martes, 10 de diciembre de 2013 16:19
> *To:* 'Kamailio (SER) - Users Mailing List'
> *Cc:* helena.gnieto at morodo.co.uk
> *Subject:* 500 I'm terribly sorry error
>
> Hello,
>
> Thanks in advanced for the help. I am almost new with kamailio and 
> still struggling through silly problems so please forgive me if the 
> solution is so obvious.
>
> I have a network like
>
> Xlitle -- Kamailio -- GW
>
> The GW is more or less out of my reach for changing the behaivour.
>
> As devices I have xlitle
>
> Kamailio is on version 4.0.2
>
> I’ve changed only few things from the default config file. Add mysql 
> support, auth, userlocdb, pstngw.
>
> For this part, gw routing , I’ve defined gw ip and port inside the 
> PSTN definition like:
>
> #!ifdef WITH_PSTN
>
> # PSTN GW Routing
>
> #
>
> # - pstn.gw_ip: valid IP or hostname as string value, example:
>
> # pstn.gw_ip = "10.0.0.101" desc "My PSTN GW Address"
>
> #
>
> # - by default is empty to avoid misrouting
>
> pstn.gw_ip = "" desc "PSTN GW Address"
>
> pstn.gw_port = "" desc "PSTN GW Port"
>
> iskratel.gw_ip = "10.XX.XX.XX"
>
> iskratel.gw_port = "5060"
>
> #!endif
>
> I route the calls with:
>
>    route(ISKRATEL);
>
> And defined a routing function
>
> route[ISKRATEL] {
>
> #!ifdef WITH_PSTN
>
>         # check if ISKRATEL GW IP is defined
>
>         if (strempty($sel(cfg_get.iskratel.gw_ip))) {
>
>                 xlog("SCRIPT: PSTN rotuing enabled but iskratel.gw_ip 
> not defined\n");
>
>                 return;
>
>         }
>
>         # only local users allowed to call
>
>         if(from_uri!=myself) {
>
>                 sl_send_reply("403", "Not Allowed");
>
>                 exit;
>
>         }
>
>         if (strempty($sel(cfg_get.iskratel.gw_port))) {
>
>                 $ru = "sip:" + $rU + "@" + $sel(cfg_get.iskratel.gw_ip);
>
>        } else {
>
>                 $ru = "sip:" + $rU + "@" + 
> $sel(cfg_get.iskratel.gw_ip) + ":"
>
>                                         + $sel(cfg_get.iskratel.gw_port);
>
>         }
>
>         # Add profix to ISKRATEL: A99901
>
>         subst_uri('/^sip:(.*)/sip:A99901\1/i'); # add A99901
>
>         route(RELAY);
>
>         exit;
>
> #!endif
>
>         return;
>
> }
>
> I can see that the code goes all the way to the route(relay) but all I 
> can see is the 500 I’m terribly sorry, server error occurred (7/SL) 
> and a second response 500 I’m terribly sorry, server error occurred (7/TM)
>
> I’ve tried defining the IP as the given pstn.gw_ip and route(pstn) 
> without changing anything on the pst default routing but the response 
> of the server is the same.
>
> I cannot see any special error on the logs.
>
> I have the exact same config for this part, in another test server and 
> the calls go to the gw without reporting any error.
>
> I’ll appreciate any help from you! Thanks in advanced for your time
>
> Helena
>
>
>
> _______________________________________________
> SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
> sr-users at 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

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.sip-router.org/pipermail/sr-users/attachments/20140428/04d356fd/attachment.html>


More information about the sr-users mailing list