[Serusers] Can't send calls to PSTN gateway

Iqbal iqbal at gigo.co.uk
Thu Jul 14 01:35:13 CEST 2005


whats the error, use ngrep to see what the error is, also after
rewritehost why not t_relay there instead of going back to route 1

Iqbal

On 7/13/2005, "Yiannis Martis" <yiannismarios at hotmail.com> wrote:

><html><div style='background-color:'><DIV class=RTE>Hello Jiri,</DIV>
><DIV class=RTE> </DIV>
><DIV class=RTE>I use SER 0.9.3 (at least I try to...) with mysql accounting enabled.</DIV>
><DIV class=RTE>I've been trying to send some test calls to a gateway in Canada but I fail to do so</DIV>
><DIV class=RTE>I use the example ser.cfg (pstn.cfg) included in ser 0.9.3.</DIV>
><DIV class=RTE>Can anyone please help me?</DIV>
><DIV class=RTE>Here is my ser.cfg</DIV>
><DIV class=RTE> </DIV>
><DIV class=RTE><FONT size=2>
><P>debug=3</P>
><P>fork=yes</P>
><P>log_stderror=no</P>
><P>listen=XX.XX.XX.XX # INSERT YOUR IP ADDRESS HERE</P>
><P>alias=as00.XXXXXXXXXXX.com</P>
><P>alias=XX.XX.XX.XX</P>
><P>alias=XXXXXXXXXXX.com</P>
><P>alias=www.XXXXXXXXXXX.com</P>
><P>port=5060</P>
><P>children=6</P>
><P>dns=no</P>
><P>rev_dns=no</P>
><P>fifo="/tmp/ser_fifo"</P>
><P>fifo_mode=0666</P>
><P>fifo_db_url="mysql://ser:Bj3Kn7g8f19Hdv6@localhost/ser"</P>
><P>loadmodule "/usr/local/lib/ser/modules/mysql.so"</P>
><P>loadmodule "/usr/local/lib/ser/modules/sl.so"</P>
><P>loadmodule "/usr/local/lib/ser/modules/tm.so"</P>
><P>loadmodule "/usr/local/lib/ser/modules/acc.so"</P>
><P>loadmodule "/usr/local/lib/ser/modules/rr.so"</P>
><P>loadmodule "/usr/local/lib/ser/modules/maxfwd.so"</P>
><P>loadmodule "/usr/local/lib/ser/modules/usrloc.so"</P>
><P>loadmodule "/usr/local/lib/ser/modules/registrar.so"</P>
><P>loadmodule "/usr/local/lib/ser/modules/auth.so"</P>
><P>loadmodule "/usr/local/lib/ser/modules/auth_db.so"</P>
><P>loadmodule "/usr/local/lib/ser/modules/uri.so"</P>
><P>loadmodule "/usr/local/lib/ser/modules/uri_db.so"</P>
><P>loadmodule "/usr/local/lib/ser/modules/mediaproxy.so"</P>
><P>loadmodule "/usr/local/lib/ser/modules/nathelper.so"</P>
><P>loadmodule "/usr/local/lib/ser/modules/textops.so"</P>
><P>loadmodule "/usr/local/lib/ser/modules/avpops.so"</P>
><P>loadmodule "/usr/local/lib/ser/modules/domain.so"</P>
><P>loadmodule "/usr/local/lib/ser/modules/permissions.so"</P>
><P>modparam("auth_db|permissions|uri_db|usrloc", </P>
><P>"db_url", "mysql://ser:heslo@localhost/ser")</P>
><P>modparam("auth_db", "calculate_ha1", 1)</P>
><P>modparam("auth_db", "password_column", "password")</P>
><P># -------------- accounting params ----------------</P>
><P>modparam("acc", "log_missed_flag", 2)</P>
><P>modparam("acc", "log_level", 1)</P>
><P>modparam("acc", "log_flag", 2)</P>
><P>modparam("acc", "db_url", "mysql://ser:heslo@localhost/ser")</P>
><P>modparam("acc", "db_flag", 1)</P>
><P>modparam("acc", "failed_transactions", 1)</P>
><P>modparam("acc", "db_missed_flag", 2)</P>
><P>modparam("nathelper", "rtpproxy_disable", 1)</P>
><P>modparam("nathelper", "natping_interval", 0)</P>
><P>modparam("mediaproxy","natping_interval", 30)</P>
><P>modparam("mediaproxy","mediaproxy_socket", "/var/run/mediaproxy.sock")</P>
><P>modparam("mediaproxy","sip_asymmetrics","/usr/local/etc/ser/sip-clients")</P>
><P>modparam("mediaproxy","rtp_asymmetrics","/usr/local/etc/ser/rtp-clients")</P>
><P>modparam("usrloc", "db_mode", 2)</P>
><P>modparam("usrloc", "db_url", "mysql://ser:heslo@localhost/ser")</P>
><P>modparam("registrar", "nat_flag", 6)</P>
><P>modparam("rr", "enable_full_lr", 1)</P>
><P>modparam("tm", "fr_inv_timer", 27)</P>
><P>modparam("tm", "fr_inv_timer_avp", "inv_timeout")</P>
><P>modparam("permissions", "db_mode", 1)</P>
><P>modparam("permissions", "trusted_table", "trusted")</P>
><P> </P>
><P>route {</P>
><P># -----------------------------------------------------------------</P>
><P># Sanity Check Section</P>
><P># -----------------------------------------------------------------</P>
><P>if (!mf_process_maxfwd_header("10")) {</P>
><P>sl_send_reply("483", "Too Many Hops");</P>
><P>break;</P>
><P>};</P>
><P>if (msg:len > max_len) {</P>
><P>sl_send_reply("513", "Message Overflow");</P>
><P>break;</P>
><P>};</P>
><P># -----------------------------------------------------------------</P>
><P># Record Route Section</P>
><P># -----------------------------------------------------------------</P>
><P>if (method=="INVITE" && client_nat_test("3")) {</P>
><P># INSERT YOUR IP ADDRESS HERE</P>
><P>record_route_preset("XX.XX.XX.XX:5060;nat=yes");</P>
><P>} else if (method!="REGISTER") { </P>
><P>record_route(); </P>
><P>};</P>
><P># -----------------------------------------------------------------</P>
><P># Call Tear Down Section</P>
><P># -----------------------------------------------------------------</P>
><P>if (method=="BYE" || method=="CANCEL") {</P>
><P>end_media_session();</P>
><P>};</P>
><P># -----------------------------------------------------------------</P>
><P># Loose Route Section</P>
><P># -----------------------------------------------------------------</P>
><P>if (loose_route()) {</P>
><P>if (has_totag() && (method=="INVITE" || method=="ACK")) {</P>
><P>if (client_nat_test("3")||search("^Route:.*;nat=yes")){</P>
><P>setflag(6);</P>
><P>use_media_proxy();</P>
><P>};</P>
><P>};</P>
><P>route(1);</P>
><P>break;</P>
><P>};</P>
><P># -----------------------------------------------------------------</P>
><P># Call Type Processing Section</P>
><P># -----------------------------------------------------------------</P>
><P>if (uri!=myself) {</P>
><P>route(5);</P>
><P>route(1);</P>
><P>break;</P>
><P>};</P>
><P>if (uri==myself) {</P>
><P>if (method=="ACK") {</P>
><P>route(6);</P>
><P>break;</P>
><P>} else if (method=="CANCEL") {</P>
><P>route(3);</P>
><P>break;</P>
><P>} else if (method=="INVITE") {</P>
><P>route(3);</P>
><P>break;</P>
><P>} else if (method=="REGISTER") {</P>
><P>route(2);</P>
><P>break;</P>
><P>};</P>
><P>lookup("aliases");</P>
><P>if (uri!=myself) {</P>
><P>route(5);</P>
><P>route(1);</P>
><P>break;</P>
><P>};</P>
><P>if (!lookup("location")) {</P>
><P>sl_send_reply("404", "User Not Found");</P>
><P>break;</P>
><P>};</P>
><P>};</P>
><P>route(1);</P>
><P>}</P>
><P>route[1] {</P>
><P># -----------------------------------------------------------------</P>
><P># Default Message Handler</P>
><P># -----------------------------------------------------------------</P>
><P>t_on_reply("1");</P>
><P>if (!t_relay()) {</P>
><P>if (method=="INVITE" || method=="ACK") {</P>
><P>end_media_session();</P>
><P>};</P>
><P>sl_reply_error();</P>
><P>};</P>
><P>}</P>
><P>route[2] {</P>
><P># -----------------------------------------------------------------</P>
><P># REGISTER Message Handler</P>
><P># -----------------------------------------------------------------</P>
><P>sl_send_reply("100", "Trying");</P>
><P>if (!search("^Contact:\ +\*") && client_nat_test("7")) {</P>
><P>setflag(6);</P>
><P>fix_nated_register();</P>
><P>force_rport();</P>
><P>};</P>
><P>if (!www_authorize("XXXXXXXXXXX.com","subscriber")) {</P>
><P>www_challenge("XXXXXXXXXXX.com","0");</P>
><P>break;</P>
><P>};</P>
><P>if (!check_to()) {</P>
><P>sl_send_reply("401", "Unauthorized");</P>
><P>break;</P>
><P>};</P>
><P>consume_credentials();</P>
><P>if (!save("location")) {</P>
><P>sl_reply_error();</P>
><P>};</P>
><P>}</P>
><P>route[3] {</P>
><P># -----------------------------------------------------------------</P>
><P># CANCEL and INVITE Message Handler</P>
><P># -----------------------------------------------------------------</P>
><P>if (client_nat_test("3")) {</P>
><P>setflag(7);</P>
><P>force_rport();</P>
><P>fix_nated_contact();</P>
><P>};</P>
><P>if (method=="INVITE" && !allow_trusted()) {</P>
><P>if (!proxy_authorize("XXXXXXXXXXX.com","subscriber")) {</P>
><P>proxy_challenge("XXXXXXXXXXX.com","0");</P>
><P>break;</P>
><P>} else if (!check_from()) {</P>
><P>sl_send_reply("403", "Use From=ID");</P>
><P>break;</P>
><P>};</P>
><P>consume_credentials();</P>
><P>};</P>
><P>lookup("aliases");</P>
><P>if (uri!=myself) {</P>
><P>route(5);</P>
><P>route(1);</P>
><P>break;</P>
><P>};</P>
><P>if (uri=~"^sip:[0-9]*@") { # International PSTN</P>
><P>route(4);</P>
><P>break;</P>
><P>};</P>
><P>/*if (!lookup("location")) {</P>
><P>if (uri=~"^sip:00302810[0-9]{10}@") { # Domestic PSTN</P>
><P>route(4);</P>
><P>break;</P>
><P>};</P>
><P>sl_send_reply("404", "User Not Found");</P>
><P>break;</P>
><P>};*/</P>
><P>if (method=="CANCEL") {</P>
><P>route(1);</P>
><P>break;</P>
><P>};</P>
><P>route(5);</P>
><P>route(1);</P>
><P>}</P>
><P>route[4] {</P>
><P># -----------------------------------------------------------------</P>
><P># PSTN Handler</P>
><P># -----------------------------------------------------------------</P>
><P>rewritehost("209.250.152.170:5060"); # INSERT YOUR PSTN GATEWAY IP ADDRESS</P>
><P>avp_write("i:45", "inv_timeout");</P>
><P>route(5);</P>
><P>route(1);</P>
><P>}</P>
><P>route[5] {</P>
><P># -----------------------------------------------------------------</P>
><P># RTP Proxy Enabler</P>
><P># -----------------------------------------------------------------</P>
><P>if (isflagset(6) || isflagset(7)) {</P>
><P>use_media_proxy();</P>
><P>};</P>
><P>}</P>
><P>route[6] {</P>
><P># ------------------------------------------------------------------------</P>
><P># ACK Handler</P>
><P># ------------------------------------------------------------------------</P>
><P># ------------------------------------------------------------------------</P>
><P># Aliases Section</P>
><P># ------------------------------------------------------------------------</P>
><P>lookup("aliases");</P>
><P>if (uri!=myself) {</P>
><P>route(5);</P>
><P>route(1);</P>
><P>break;</P>
><P>};</P>
><P>lookup("location");</P>
><P>route(1);</P>
><P>}</P>
><P> </P>
><P>onreply_route[1] {</P>
><P>if ((isflagset(6) || isflagset(7)) && </P>
><P>(status=~"(180)|(183)|2[0-9][0-9]")) {</P>
><P>if (!search("^Content-Length:\ +0")) {</P>
><P>use_media_proxy();</P>
><P>};</P>
><P>};</P>
><P>if (client_nat_test("1")) {</P>
><P>fix_nated_contact();</P>
><P>};</P>
><P>}</P></FONT></DIV></div><br clear=all><hr>Don't just search. Find. <a href="http://g.msn.com/8HMBEN/2746??PS=47575" target="_top">MSN Search</a> Check out the new MSN Search!</html>
>
>
>




More information about the sr-users mailing list