[Serusers] ser asterisk pstn
Greger V. Teigre
greger at teigre.com
Thu Aug 16 12:42:25 CEST 2007
Well, you decide where to strip, depending on your dial plan. [0-9]{10}
matches exactly 10 digits.
914082743304 is twelve.
if (uri=~"^sip:1[0-9]{10}@bigu.edu") {
strip(1);
};
does not match, neither the 011 if test, so if you add strip(2); it will
work (remember the ;)
g-)
ronald at stanford.edu wrote:
> 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
>>>
>>>
>
>
> _______________________________________________
> Serusers mailing list
> Serusers at lists.iptel.org
> http://lists.iptel.org/mailman/listinfo/serusers
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.sip-router.org/pipermail/sr-users/attachments/20070816/d1a4da86/attachment.htm>
More information about the sr-users
mailing list