Hi Daniel,

Thanks for the advice.

Actually I found that i can just modify the $ru to do the work….not good start but I'm in :)

Regards,
Xi

On Jan 20, 2012, at 4:25 PM, Daniel-Constantin Mierla wrote:

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@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@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