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.
Question 2,
What is the simplest way to bridge a call based on username and domain?
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…
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….
Please help…
Thanks, Xi
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 mailto: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
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:
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