[asterisk-users] Re:Call Transfers in SER + Asterisk

Arun Kumar arunvoip at gmail.com
Fri Nov 24 20:33:06 MST 2006


HI,

thanks for your reply. Here is my ser.cfg and other config files please
guide me.

ser.cfg
------------------
debug=5
fork=no
log_stderror=yes

listen=2xx.xxx.xxx.xxx       # INSERT YOUR IP ADDRESS HERE
port=5060
children=4

dns=no
rev_dns=no
fifo="/tmp/ser_fifo"
fifo_db_url="mysql://ser:mypass@localhost/ser"

loadmodule "/usr/lib/ser/modules/mysql.so"
loadmodule "/usr/lib/ser/modules/sl.so"
loadmodule "/usr/lib/ser/modules/tm.so"
loadmodule "/usr/lib/ser/modules/rr.so"
loadmodule "/usr/lib/ser/modules/maxfwd.so"
loadmodule "/usr/lib/ser/modules/usrloc.so"
loadmodule "/usr/lib/ser/modules/registrar.so"
loadmodule "/usr/lib/ser/modules/auth.so"
loadmodule "/usr/lib/ser/modules/auth_db.so"
loadmodule "/usr/lib/ser/modules/uri.so"
loadmodule "/usr/lib/ser/modules/uri_db.so"
loadmodule "/usr/lib/ser/modules/domain.so"
loadmodule "/usr/lib/ser/modules/mediaproxy.so"
loadmodule "/usr/lib/ser/modules/nathelper.so"
loadmodule "/usr/lib/ser/modules/textops.so"
loadmodule "/usr/lib/ser/modules/avpops.so"
loadmodule "/usr/lib/ser/modules/permissions.so"

modparam("auth_db|permissions|uri_db|usrloc|domain", "db_url", "
mysql://ser:mypass@localhost/ser")
modparam("auth_db", "calculate_ha1", 1)
modparam("auth_db", "password_column", "password")

modparam("nathelper", "rtpproxy_disable", 1)
modparam("nathelper", "natping_interval", 0)

modparam("mediaproxy","natping_interval", 30)
modparam("mediaproxy","mediaproxy_socket", "/var/run/mediaproxy.sock")
modparam("mediaproxy","sip_asymmetrics","/etc/ser/sip-clients")
modparam("mediaproxy","rtp_asymmetrics","/etc/ser/rtp-clients")

modparam("usrloc", "db_mode", 2)

modparam("registrar", "nat_flag", 6)

modparam("rr", "enable_full_lr", 1)

modparam("tm", "fr_inv_timer", 27)
modparam("tm", "fr_inv_timer_avp", "inv_timeout")

modparam("permissions", "db_mode", 1)
modparam("permissions", "trusted_table", "trusted")

# -------------------------  request routing logic -------------------

# main routing logic

route {

        # -----------------------------------------------------------------
        # Sanity Check Section
        # -----------------------------------------------------------------
        if (!mf_process_maxfwd_header("10")) {
                sl_send_reply("483", "Too Many Hops");
                break;
        };

        if (msg:len > max_len) {
                sl_send_reply("513", "Message Overflow");
                break;
        };

        # -----------------------------------------------------------------
        # Record Route Section
        # -----------------------------------------------------------------
        if (method=="INVITE" && client_nat_test("3")) {
                # INSERT PROXY IP ADDRESS HERE
                record_route_preset(" 2xx.xxx.xxx.xxx:5060;nat=yes");
        } else if (method!="REGISTER") {
               record_route();
        };

        # -----------------------------------------------------------------
        # Call Tear Down Section
        # -----------------------------------------------------------------
        if (method=="BYE" || method=="CANCEL") {
                end_media_session();
        };

        # -----------------------------------------------------------------
        # Loose Route Section
        # -----------------------------------------------------------------
        if (loose_route()) {

                if ((method=="INVITE" || method=="REFER") && !has_totag())
                {
                        sl_send_reply("403", "Use From=ID");
                        break;
                };

                if (method=="INVITE")
                {
                        if (!allow_trusted())
                        {
                                if (!proxy_authorize("","subscriber"))
                                {
                                        proxy_challenge("","0");
                                        break;
                                } else if (!check_from()) {

sl_send_reply("403", "user From=ID");
                                                                break;
                                                        };

                                consume_credentials();
                        };

                if (client_nat_test("3") || search("^Route:.*;nat=yes")){
                                setflag(6);
                                use_media_proxy();
                        };

                };

                route(1);
                break;
        };

        # -----------------------------------------------------------------
        # Call Type Processing Section
        # -----------------------------------------------------------------
                if (!is_uri_host_local()) {
                        if (is_from_local() || allow_trusted()) {
                        route(4);
                        route(1);
                } else { sl_send_reply("403", "Forbidden-two");
                };
                break;
        };

        if (method=="ACK") {
                route(1);
                break;
        } if (method=="CANCEL") {
                route(1);
                break;
        } else if (method=="INVITE") {
                route(3);
                break;
        } else  if (method=="REGISTER") {
                route(2);
                break;
        };

        lookup("aliases");

        if (!is_uri_host_local()) {
                route(4);
                route(1);
                break;
        };

        if (!lookup("location")) {
               sl_send_reply("404", "User Not Found");
                break;
        };

        route(1);
}

route[1] {

        # -----------------------------------------------------------------
        # Default Message Handler
        # -----------------------------------------------------------------

        t_on_reply("1");

        if (!t_relay()) {

                if (method=="INVITE" || method=="ACK") {
                        end_media_session();
                };

                sl_reply_error();
        };
}

route[2] {

        # -----------------------------------------------------------------
        # REGISTER Message Handler
        # -----------------------------------------------------------------

        sl_send_reply("100", "Trying");

        if (!search("^Contact:[ ]*\*") && client_nat_test("7")) {
                setflag(6);
                fix_nated_register();
                force_rport();
        };

        if (!www_authorize("","subscriber")) {
                www_challenge("","0");
                break;
        };

        if (!check_to()) {
                sl_send_reply("401", "Unauthorized");
                break;
        };

        consume_credentials();

        if (!save("location")) {
                sl_reply_error();
        };
}

route[3] {

        # -----------------------------------------------------------------
        # INVITE Message Handler
        # -----------------------------------------------------------------

        if (client_nat_test("3")) {
                setflag(7);
                force_rport();
                fix_nated_contact();
        };

        if (!allow_trusted())
        {
                if (!proxy_authorize("","subscriber")) {
                proxy_challenge("","0");
                break;
        } else if (!check_from()) {
                sl_send_reply("403", "Use From=ID");
                break;
        };

        consume_credentials();

        };
       lookup("aliases");

        if (!is_uri_host_local()) {
                route(4);
                route(1);
                break;
        };

        if (uri=~"^sip:011[0-9]*@")
        {
                route(4);
                route(5);
                break;
        };

        if (!lookup("location")) {
                if (uri=~"^sip:[0-9]{10}@") {
                        route(4);
                        route(5);
                        break;
                };

                sl_send_reply("404", "User Not Found");
                break;
        };

        route(4);
        route(1);
}

route[4] {

        # -----------------------------------------------------------------
        # NAT Traversal Section
        # -----------------------------------------------------------------

        if (isflagset(6) || isflagset(7)) {
                if (!isflagset(8)) {
                        setflag(8);
                        use_media_proxy();
                };
        };
}

route[5]{
               rewritehost("Asterisk Server IP");
                avp_write("i:45", "inv_timeout");
                route(1);
}

onreply_route[1] {

        if ((isflagset(6) || isflagset(7)) &&
            (status=~"(180)|(183)|2[0-9][0-9]")) {

                if (!search("^Content-Length:[ ]*0")) {
                        use_media_proxy();
                };
        };

        if (client_nat_test("1")) {
                fix_nated_contact();
        };
}
----------------------------------
sip.conf
----------------
[general]

port = 5060           ; Port to bind to (SIP is 5060)
bindaddr = 0.0.0.0    ; Address to bind to (all addresses on machine)
context = default

maxexpirey=180
defaultexpirey=160
autocreatepeer=yes
register => 1000:test at 2xx.xxx.xxx.xxx/5678

[ser]
type=friend
username=1000
secret=test
fromdomain=2xx.xxx.xxx.xxx
host=2xx.xxx.xxx.xxx

[5678]
type=friend
username=5678
host=dynamic
canreinvite=no
---------------------------
exte.conf
exten => 5678,1,Dial(SIP/5678,20)
exten => 5678,2,Voicemail2(u5678)
exten => 5678,3,MusicOnHold()
exten => 5678,102,Voicemail2(b5678)
exten => 5678,103,Hangup


Nothing is happeing in my case that is I dont see any packet coming from ser
to asterisk for asterisk to ser. please guide me.

thanks for your reply.
arun


On 11/25/06, M. Emran <monemran at gmail.com> wrote:
>
> Can u show SER & asterisk configuration or logs?
>
> --
> Regards
> ----------
> M Emran
> Managing Director
> InSpiration Software Ltd.
>
> E-mail: mohammademran at hotmail.com
>          monemran at gmail.com
> Web: www.inspiresoftbd.com
> _______________________________________________
> --Bandwidth and Colocation provided by Easynews.com --
>
> asterisk-users mailing list
> To UNSUBSCRIBE or update options visit:
>    http://lists.digium.com/mailman/listinfo/asterisk-users
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.digium.com/pipermail/asterisk-users/attachments/20061124/81dfbb88/attachment-0001.htm


More information about the asterisk-users mailing list