[SR-Users] Fwd: kamailio registering on back-end asterisk with username and password

Paul Penev ppquant at gmail.com
Mon Sep 30 18:56:30 CEST 2013


2013/9/29 Stoyan Mihaylov <stoyan.v.mihaylov at gmail.com>:
> I think, it will be much better to plane reorganization of whole process. To
> start using Kamailio as registrar and load balance, and Asterisk as media
> servers, dial plan etc.

I agree. This is the next for me. I kind of hope to use freeswitch for that too.

> But, in current situation, I can suggest next:
> 1. You can not use authorization of Kamailio. You can use Kamailio only and
> alone as load balance. All requests to Kamailio you can forward to Asterisk
> servers.
> 2. When you get first request from somebody - you can do something like:
> ds_select_dst("1","4");
> $sht(forw=>$ft)=$du;
> This way you will store address of Asterisk, where you forwarded request.
> 3. When you have next request from same "person" you can do:
> $du=$sht(forw=>$ft);
> I am using something alike, but only for active calls. All my registrations
> are handled by Kamailio, and Asterisk servers do not participate in
> authentication.

I guess you're registering in Kamailio but your "TOASTERISK" and
"FROMASTERISK" routes relay the entire session directly to the
asterisk server that was selected without touching it. I must look in
this.

Regarding the "easy" solution you proposed, if I understand correctly,
I need to implement a single route function with a simple dipatcher,
like the example in the dipatcher module:

route{
  if ( !mf_process_maxfwd_header("10") )
    {
      sl_send_reply("483","To Many Hops");
      drop();
    };

  ds_select_dst("2", "0");

  forward();
  # t_relay();
}

How do I modify that example to recognize that a request is coming
from the same "user" ?



More information about the sr-users mailing list