[Serusers] ser asterisk pstn

ronald at stanford.edu ronald at stanford.edu
Wed Aug 15 17:23:01 CEST 2007


Greger,

thanks for the reply.  I have not modified the original gateway/pstn  
configuration as far as digit minipulation goes. How and where would I  
strip the digits in ser.cfg?  I tried entering strip(2) just before  
the if (uri=~"^sip:[0-9]{10}@bigu.edu") statement, but the config  
failed to start. It looked like this

strip(2)
if (uri=~"^sip:[0-9]{10}@bigu.edu")

thanks,


Quoting "Greger V. Teigre" <greger at teigre.com>:

> if (uri=~"^sip:[0-9]{10}@bigu.edu") {        # Domestic PSTN
> probably doesn't match the r-uri you have at that point. Have you
> stripped 2 digits by then?
> g-)
>
> ronald at stanford.edu wrote:
>>
>>
>> hello all,
>>
>> I am stuck and need your help for +xlite +ser +asterisk +pstn   
>> calls.  I dial 914082743304 and get "caller Not Found".   I am able  
>>  to authenticate and complete sip -> sip calls, but cannot complete  
>>  PSTN calls  I did monitor asterisk and no reroute was offered.
>>
>> please help!
>>
>>
>> permissions.allow:
>>
>> ^sip:91[0-9]{10}@bigu\.edu$
>> ^sip:9011[0-9]*@bigu\.edu$
>> ^sip:9[0-9]{10}@bigu\.edu$
>>
>>
>> ngrep -vvvv proto udp port 5060 produces the following response:
>>
>> 171.66.176.123:47729 -> 192.168.11.243:5060
>>  INVITE sip:914082743304 at bigu.edu SIP/2.0..Via: SIP/2.0/UDP   
>> 192.168.1.100:47729;br
>>    
>> anch=z9hG4bK-d87543-4f5eb56fc40f1f43-1--d87543-;rport..Max-Forwards:   
>> 70..Contact: <si
>>  p:cell at 192.168.1.100:47729>..To:   
>> "914082743304"<sip:914082743304 at bigu.edu>..From:
>>   "SER EXpress"<sip:cell at bigu.edu>;tag=b9283f27..Call-ID:   
>> Y2JkY2ZmMDQyMjQ3YTljYTg5
>>  NTdlOGFiNGUyZWVlY2Q...CSeq: 1 INVITE..Allow: INVITE, ACK, CANCEL,   
>> OPTIONS, BYE, REFER
>>  , NOTIFY, MESSAGE, SUBSCRIBE, INFO..Content-Type:   
>> application/sdp..User-Agent: eyeBea
>>  m release 1011s stamp 41121..Content-Length: 421....v=0..o=- 1 2   
>> IN IP4 192.168.1.100
>>  ..s=CounterPath eyeBeam 1.5..c=IN IP4 192.168.1.100..t=0   
>> 0..m=audio 32942 RTP/AVP 107
>>   100 106 6 0 105 8 18 3 5 101..a=fmtp:18 annexb=yes..a=fmtp:101   
>> 0-15..a=rtpmap:107 BV
>>  32/16000..a=rtpmap:100 SPEEX/16000..a=rtpmap:106   
>> SPEEX-FEC/16000..a=rtpmap:105 SPEEX-
>>  FEC/8000..a=rtpmap:18 G729/8000..a=rtpmap:101   
>> telephone-event/8000..a=sendrecv..a=x-r
>>  tp-session-id:AEB31A44A04C4B32BD3D72349E4FBB80..                    
>>                   #
>> U 192.168.11.243:5060 -> 171.66.176.123:47729
>>  SIP/2.0 404 caller Not Found..Via: SIP/2.0/UDP   
>> 192.168.1.100:47729;branch=z9hG4bK-d875
>>    
>> 43-4f5eb56fc40f1f43-1--d87543-;rport=47729;received=171.66.176.123..To:   
>> "914082743304
>>    
>> "<sip:914082743304 at bigu.edu>;tag=21f9bfca23409407a263e4a7e40abe9d.f2a8..From:   
>> "SE
>>  R EXpress"<sip:cell at bigu.edu>;tag=b9283f27..Call-ID:   
>> Y2JkY2ZmMDQyMjQ3YTljYTg5NTdl
>>  OGFiNGUyZWVlY2Q...CSeq: 1 INVITE..Server: Sip EXpress router   
>> (0.9.4 (i386/linux))..Co
>>  ntent-Length: 0..Warning: 392 192.168.11.243:5060 "Noisy feedback   
>> tells:  pid=15307 re
>>  q_src_ip=171.66.176.123 req_src_port=47729   
>> in_uri=sip:914082743304 at bigu.edu out_u
>>  ri=sip:914082743304 at bigu.edu via_cnt==1"....
>>
>>
>> debug=3
>>
>> fork=yes
>>
>> log_stderror=no
>>
>>
>>
>> listen=1xx.x4.11.xx3                        # INSERT YOUR IP ADDRESS HERE
>>
>> port=5060
>>
>> children=4
>>
>> alias=sip2.bigu.edu
>>
>>
>>
>> dns=no
>>
>> rev_dns=no
>>
>> fifo="/tmp/ser_fifo"
>>
>> fifo_db_url="mysql://ser:heslo@localhost/ser"
>>
>>
>>
>> loadmodule "/usr/local/lib/ser/modules/mysql.so"
>>
>> loadmodule "/usr/local/lib/ser/modules/sl.so"
>>
>> loadmodule "/usr/local/lib/ser/modules/tm.so"
>>
>> loadmodule "/usr/local/lib/ser/modules/rr.so"
>>
>> loadmodule "/usr/local/lib/ser/modules/maxfwd.so"
>>
>> loadmodule "/usr/local/lib/ser/modules/usrloc.so"
>>
>> loadmodule "/usr/local/lib/ser/modules/registrar.so"
>>
>> loadmodule "/usr/local/lib/ser/modules/auth.so"
>>
>> loadmodule "/usr/local/lib/ser/modules/auth_db.so"
>>
>> loadmodule "/usr/local/lib/ser/modules/uri.so"
>>
>> loadmodule "/usr/local/lib/ser/modules/uri_db.so"
>>
>> loadmodule "/usr/local/lib/ser/modules/domain.so"
>>
>> loadmodule "/usr/local/lib/ser/modules/mediaproxy.so"
>>
>> loadmodule "/usr/local/lib/ser/modules/nathelper.so"
>>
>> loadmodule "/usr/local/lib/ser/modules/textops.so"
>>
>> loadmodule "/usr/local/lib/ser/modules/avpops.so"
>>
>> loadmodule "/usr/local/lib/ser/modules/permissions.so"
>>
>>
>>
>> modparam("auth_db|permissions|uri_db|usrloc", "db_url",   
>> "mysql://ser:heslo@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","/usr/local/etc/ser/sip-clients")
>>
>> modparam("mediaproxy","rtp_asymmetrics","/usr/local/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")
>>
>> #added these timers for voicemail forwarding
>>
>> modparam("tm", "fr_inv_timer", 25)
>>
>> modparam("tm", "noisy_ctimer", 1)
>>
>>
>>
>> modparam("permissions", "db_mode", 1)
>>
>> modparam("permissions", "trusted_table", "trusted")
>>
>>
>>
>> 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 YOUR IP ADDRESS HERE
>>
>>                record_route_preset("1xx.x4.11.xx3: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", "Forbidden");
>>
>>                        break;
>>
>>                };
>>
>>
>>
>>                if (method=="INVITE") {
>>
>>
>>
>>                        if (!allow_trusted()) {
>>
>>                                if   
>> (!proxy_authorize("sip2.bigu.edu","subscriber")) {
>>
>>                                        proxy_challenge("sip2.bigu.edu","0");
>>
>>                                        break;
>>
>>                                } else if (!check_from()) {
>>
>>                                        sl_send_reply("403", "Use 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");
>>
>>                };
>>
>>                break;
>>
>>        };
>>
>>
>>
>>        if (method=="ACK") {
>>
>>                route(1);
>>
>>                break;
>>
>>        } else 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("sip2.bigu.edu","subscriber")) {
>>
>>                www_challenge("sip2.bigu.edu","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("sip2.bigu.edu","subscriber")) {
>>
>>                        proxy_challenge("sip2.bigu.edu","0");
>>
>>                        break;
>>
>>                } else if (!check_from()) {
>>
>>                        sl_send_reply("403", "Use From=ID");
>>
>>                        break;
>>
>>                };
>>
>>
>>
>>                consume_credentials();
>>
>>        };
>>
>>
>>
>>        if (uri=~"^sip:1[0-9]{10}@bigu.edu") {
>>
>>                strip(1);
>>
>>        };
>>
>>
>>
>>        lookup("aliases");
>>
>>        if (!is_uri_host_local()) {
>>
>>                route(4);
>>
>>                route(1);
>>
>>                break;
>>
>>        };
>>
>>
>>
>>        if (uri=~"^sip:011[0-9]*@bigu.edu") {                #   
>> International PSTN
>>
>>                route(4);
>>
>>                route(5);
>>
>>                break;
>>
>>
>>
>>        };
>>
>>
>>
>>        if (!lookup("location")) {
>>
>>                if (uri=~"^sip:[0-9]{10}@bigu.edu") {        # Domestic PSTN
>>
>>                        route(4);
>>
>>                        route(5);
>>
>>                        break;
>>
>>                };
>>
>>
>>
>>                sl_send_reply("404", "caller 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] {
>>
>>
>>
>>        # -----------------------------------------------------------------
>>
>>        # PSTN Handler
>>
>>        # -----------------------------------------------------------------
>>
>>
>>
>>        rewritehost("1xx.x4.8.xx8"); # INSERT YOUR PSTN GATEWAY IP ADDRESS
>>
>>
>>
>>        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();
>>
>>        };
>>
>> }
>>
>> ------------------------------------------------------------------------
>>
>> _______________________________________________
>> Serusers mailing list
>> Serusers at lists.iptel.org
>> http://lists.iptel.org/mailman/listinfo/serusers
>>





More information about the sr-users mailing list