[SR-Users] access to the "Available Functions" in the modules & the way to bridge a call based on username and domain

Daniel-Constantin Mierla miconda at gmail.com
Fri Jan 20 22:25:24 CET 2012


Hello,

On 1/20/12 9:48 PM, Xi Liu wrote:
> Hi,
>
> I'm new to kamailio, have some questions here hope anyone can help!
>
> Question 1,
>
> I'm trying to use some of the functions in usrloc module, but for some 
> reason if I use those from "Available Functions" part, 
> the kamailio won't start and give an error of "unknown command 
> <ul_get_ucontact>, missing loadmodule?"
>
> The usrloc module is definitely loaded, and it will start as long as I 
> avoid using those "Available Functions". I tried some other modules it 
> will lead to same error.

usrloc's interface to configuration file is registrar module, you have 
to load it and use save()/lookup() functions to store/retrieve location 
records.

"Available functions" section in the readme is for developers that want 
to bind to usrloc module from C code.

>
> Question 2,
>
> What is the simplest way to bridge a call based on username and domain?

When the call comes in, after initial  checks (like authentication), do 
a lookup("location") and if you get true, then just relay the call via 
t_relay().

Perhaps the best is to start with the default configuration file, maybe 
installing from git, there are some guidelines at:

   * http://www.kamailio.org/wiki/install/3.2.x/git

If you follow that tutorial, you should get what you want.

>
> I was trying to make a simple experiment I used to do in Freeswitch,
>
> ==========================
> Have 1000,1001,1002 registered,
>
> When 1000 calls 9999, the calls will be bridged to 1001 or 1002 based 
> on different time period.
> ==========================
>
> While in Freeswitch, it would be as simple as "bridge xxxx at domain.com 
> <mailto:xxxx at domain.com>", and then freeswitch will lookup contact 
> information and forward the call.
>
> But in kamailio, I only succeed in forwarding calls by change the $du 
> to the exact contact uri, which is "sip:xxxx at ip-of-the-phone:port", 
> the call r_relay(). In order to do this, I need call a perl script to 
> lookup the location database to find a match...
No need to use perl, as said, look at registrar module.

>
> I'm 99% sure I'm doing wrong here... there must be a way way easier 
> than that, but so far I can't find it....

It is, default config has all needed, read also the top of the config, 
has some comments presenting what features can be enabled there.

Cheers,
Daniel

-- 
Daniel-Constantin Mierla -- http://www.asipto.com
http://linkedin.com/in/miconda -- http://twitter.com/miconda

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.sip-router.org/pipermail/sr-users/attachments/20120120/e460f385/attachment.htm>


More information about the sr-users mailing list