Hi,
I have a problem to routing with kamailio. When I restart kamailio I have this error message : 0(710) : <core> [cfg.y:3328]: parse error in config file /usr/local/etc/kamailio/kamailio.cfg, line 640, column 2-3: syntax error 0(710) : <core> [cfg.y:3328]: parse error in config file /usr/local/etc/kamailio/kamailio.cfg, line 640, column 2-3: ERROR: bad config file (2 errors)
here is my line 640 :
if (uri=~"sip:9[0-9][0-9]@.*") { //line 640 log(1, "Matched Cisco Call Manager"); route(4); };
Can you help me please thank you
2010/4/13 alexis heron alexis.heron@crihan.fr:
Hi,
I have a problem to routing with kamailio. When I restart kamailio I have this error message : 0(710) : <core> [cfg.y:3328]: parse error in config file /usr/local/etc/kamailio/kamailio.cfg, line 640, column 2-3: syntax error 0(710) : <core> [cfg.y:3328]: parse error in config file /usr/local/etc/kamailio/kamailio.cfg, line 640, column 2-3: ERROR: bad config file (2 errors)
here is my line 640 :
if (uri=~"sip:9[0-9][0-9]@.*") { //line 640 log(1, "Matched Cisco Call Manager"); route(4); };
As a suggestion, if you are interested in matching just the RURI username part then I strongly recommend you doing so as follows:
if ( $rU =~ "^9[0-9][0-9]$" ) { log(1, "Matched Cisco Call Manager"); route(4); }
Iñaki Baz Castillo wrote:
2010/4/13 alexis heron alexis.heron@crihan.fr:
Hi,
I have a problem to routing with kamailio. When I restart kamailio I have this error message : 0(710) : <core> [cfg.y:3328]: parse error in config file /usr/local/etc/kamailio/kamailio.cfg, line 640, column 2-3: syntax error 0(710) : <core> [cfg.y:3328]: parse error in config file /usr/local/etc/kamailio/kamailio.cfg, line 640, column 2-3: ERROR: bad config file (2 errors)
here is my line 640 :
if (uri=~"sip:9[0-9][0-9]@.*") { //line 640 log(1, "Matched Cisco Call Manager"); route(4); };
As a suggestion, if you are interested in matching just the RURI username part then I strongly recommend you doing so as follows:
if ( $rU =~ "^9[0-9][0-9]$" ) { log(1, "Matched Cisco Call Manager"); route(4); }
I have always the same error
2010/4/13 alexis heron alexis.heron@crihan.fr:
As a suggestion, if you are interested in matching just the RURI username part then I strongly recommend you doing so as follows:
if ( $rU =~ "^9[0-9][0-9]$" ) { log(1, "Matched Cisco Call Manager"); route(4); }
I have always the same error
Also using my suggestion? Try removing the "log" line.
Iñaki Baz Castillo wrote:
2010/4/13 alexis heron alexis.heron@crihan.fr:
As a suggestion, if you are interested in matching just the RURI username part then I strongly recommend you doing so as follows:
if ( $rU =~ "^9[0-9][0-9]$" ) { log(1, "Matched Cisco Call Manager"); route(4); }
I have always the same error
Also using my suggestion? Try removing the "log" line.
yes also usingg your suggestion and same in try removing the "log" line
In fact, the error is just before the "if" but before "if" it's empty
On 4/13/10 11:49 AM, alexis heron wrote:
Iñaki Baz Castillo wrote:
2010/4/13 alexis heron alexis.heron@crihan.fr:
As a suggestion, if you are interested in matching just the RURI username part then I strongly recommend you doing so as follows:
if ( $rU =~ "^9[0-9][0-9]$" ) { log(1, "Matched Cisco Call Manager"); route(4); }
I have always the same error
Also using my suggestion? Try removing the "log" line.
yes also usingg your suggestion and same in try removing the "log" line
In fact, the error is just before the "if" but before "if" it's empty
the error is somewhere above. Maybe you haven't closed some open pharentesis, quotes, etc ... the 'if' you pointed is ok. you have to provide more of your config to be able to spot something.
Try to put a xlog (or other action) before the 'if' just to see if the error changes the line.
Cheers, Daniel
Daniel-Constantin Mierla wrote:
On 4/13/10 11:49 AM, alexis heron wrote:
Iñaki Baz Castillo wrote:
2010/4/13 alexis heron alexis.heron@crihan.fr:
As a suggestion, if you are interested in matching just the RURI username part then I strongly recommend you doing so as follows:
if ( $rU =~ "^9[0-9][0-9]$" ) { log(1, "Matched Cisco Call Manager"); route(4); }
I have always the same error
Also using my suggestion? Try removing the "log" line.
yes also usingg your suggestion and same in try removing the "log" line
In fact, the error is just before the "if" but before "if" it's empty
the error is somewhere above. Maybe you haven't closed some open pharentesis, quotes, etc ... the 'if' you pointed is ok. you have to provide more of your config to be able to spot something.
Try to put a xlog (or other action) before the 'if' just to see if the error changes the line.
Cheers, Daniel
always the same error
On 4/13/10 11:59 AM, alexis heron wrote:
Daniel-Constantin Mierla wrote:
On 4/13/10 11:49 AM, alexis heron wrote:
Iñaki Baz Castillo wrote:
2010/4/13 alexis heron alexis.heron@crihan.fr:
As a suggestion, if you are interested in matching just the RURI username part then I strongly recommend you doing so as follows:
if ( $rU =~ "^9[0-9][0-9]$" ) { log(1, "Matched Cisco Call Manager"); route(4); }
I have always the same error
Also using my suggestion? Try removing the "log" line.
yes also usingg your suggestion and same in try removing the "log" line
In fact, the error is just before the "if" but before "if" it's empty
the error is somewhere above. Maybe you haven't closed some open pharentesis, quotes, etc ... the 'if' you pointed is ok. you have to provide more of your config to be able to spot something.
Try to put a xlog (or other action) before the 'if' just to see if the error changes the line.
Cheers, Daniel
always the same error
comment from the actions above until you spot it. if you don't provide your config, cannot help here.
Daniel
Daniel-Constantin Mierla wrote:
On 4/13/10 11:59 AM, alexis heron wrote:
Daniel-Constantin Mierla wrote:
On 4/13/10 11:49 AM, alexis heron wrote:
Iñaki Baz Castillo wrote:
2010/4/13 alexis heron alexis.heron@crihan.fr:
> As a suggestion, if you are interested in matching just the RURI > username part then I strongly recommend you doing so as follows: > > if ( $rU =~ "^9[0-9][0-9]$" ) { > log(1, "Matched Cisco Call Manager"); > route(4); > } > > > I have always the same error
Also using my suggestion? Try removing the "log" line.
yes also usingg your suggestion and same in try removing the "log" line
In fact, the error is just before the "if" but before "if" it's empty
the error is somewhere above. Maybe you haven't closed some open pharentesis, quotes, etc ... the 'if' you pointed is ok. you have to provide more of your config to be able to spot something.
Try to put a xlog (or other action) before the 'if' just to see if the error changes the line.
Cheers, Daniel
always the same error
comment from the actions above until you spot it. if you don't provide your config, cannot help here.
Daniel
here is my config file :
#!define WITH_MYSQL #***!define WITH_AUTH #!define WITH_USRLOCDB # # # *** To run in debug mode: # - define WITH_DEBUG # # *** To enable mysql: # - define WITH_MYSQL # # *** To enable authentication execute: # - enable mysql # - define WITH_AUTH # - add users using 'kamctl' # # *** To enable persistent user location execute: # - enable mysql # - define WITH_USRLOCDB # # *** To enable presence server execute: # - enable mysql # - define WITH_PRESENCE # # *** To enable nat traversal execute: # - define WITH_NAT # - install RTPProxy: http://www.rtpproxy.org # - start RTPProxy: # rtpproxy -l _your_public_ip_ -s udp:localhost:7722 # # *** To enable PSTN gateway routing execute: # - define WITH_PSTN # - set the value of pstn.gw_ip # - check route[PSTN] for regexp routing condition # # *** To enhance accounting execute: # - enable mysql # - define WITH_ACCDB # - add following columns to database #!ifdef ACCDB_COMMENT ALTER TABLE acc ADD COLUMN src_user VARCHAR(64) NOT NULL DEFAULT ''; ALTER TABLE acc ADD COLUMN src_domain VARCHAR(128) NOT NULL DEFAULT ''; ALTER TABLE acc ADD COLUMN dst_ouser VARCHAR(64) NOT NULL DEFAULT ''; ALTER TABLE acc ADD COLUMN dst_user VARCHAR(64) NOT NULL DEFAULT ''; ALTER TABLE acc ADD COLUMN dst_domain VARCHAR(128) NOT NULL DEFAULT ''; ALTER TABLE missed_calls ADD COLUMN src_user VARCHAR(64) NOT NULL DEFAULT ''; ALTER TABLE missed_calls ADD COLUMN src_domain VARCHAR(128) NOT NULL DEFAULT ''; ALTER TABLE missed_calls ADD COLUMN dst_ouser VARCHAR(64) NOT NULL DEFAULT ''; ALTER TABLE missed_call ADD COLUMN dst_user VARCHAR(64) NOT NULL DEFAULT ''; ALTER TABLE missed_calls ADD COLUMN dst_domain VARCHAR(128) NOT NULL DEFAULT ''; #!endif
####### Global Parameters #########
#!ifdef WITH_DEBUG debug=4 log_stderror=yes #!else debug=2 log_stderror=no #!endif memdbg=5 memlog=5 log_facility=LOG_LOCAL0 fork=yes children=4
/* uncomment the next line to disable TCP (default on) */ #disable_tcp=yes
/* uncomment the next line to disable the auto discovery of local aliases based on revers DNS on IPs (default on) */ #auto_aliases=no
port=5060
/* uncomment and configure the following line if you want Kamailio to bind on a specific interface/port/proto (default bind on all available) */ listen=udp:195.221.29.144 alias= kamailio.crihan.fr
####### Custom Parameters #########
# These parameters can be modified runtime via RPC interface # - see the documentation of 'cfg_rpc' module. # # Format: group.id = value 'desc' description # Access: $sel(cfg_get.group.id) or @cfg_get.group.id #
#!ifdef WITH_PSTN # PSTN GW Routing # # - pstn.gw_ip: valid IP or hostname as string value, example: # pstn.gw_ip = "10.0.0.101" desc "My PSTN GW Address" # # - by default is empty to avoid misrouting pstn.gw_ip = "" desc "PSTN GW Address" #!endif
####### Modules Section ########
#set module path mpath="/usr/local/lib/kamailio/modules_k/:/usr/local/lib/kamailio/modules/"
/* uncomment next line for MySQL DB support */ #!ifdef WITH_MYSQL loadmodule "db_mysql.so" #!endif ####module siremis#### loadmodule "mi_datagram.so" ##################### loadmodule "mi_fifo.so" loadmodule "kex.so" loadmodule "tm.so" loadmodule "tmx.so" loadmodule "sl.so" loadmodule "rr.so" loadmodule "pv.so" loadmodule "maxfwd.so" loadmodule "usrloc.so" loadmodule "registrar.so" loadmodule "textops.so" loadmodule "uri_db.so" loadmodule "siputils.so" loadmodule "xlog.so" loadmodule "sanity.so" loadmodule "ctl.so" loadmodule "mi_rpc.so" loadmodule "acc.so" #!ifdef WITH_AUTH loadmodule "auth.so" loadmodule "auth_db.so" #!endif /* uncomment next line for aliases support NOTE: a DB (like db_mysql) module must be also loaded */ #loadmodule "alias_db.so" /* uncomment next line for multi-domain support NOTE: a DB (like db_mysql) module must be also loaded NOTE: be sure and enable multi-domain support in all used modules (see "multi-module params" section ) */ #loadmodule "domain.so" #!ifdef WITH_PRESENCE loadmodule "presence.so" loadmodule "presence_xml.so" #!endif
#!ifdef WITH_NAT loadmodule "nathelper.so" #!endif
# ----------------- setting module-specific parameters ---------------
# ----- mi_fifo params ----- modparam("mi_fifo", "fifo_name", "/tmp/kamailio_fifo")
#################module siremis############## #------mi_datagram.so------- modparam("mi_datagram","socket_name","udp:127.0.0.1:8033") ############################################# # ----- rr params ----- # add value to ;lr param to cope with most of the UAs modparam("rr", "enable_full_lr", 1) # do not append from tag to the RR (no need for this script) modparam("rr", "append_fromtag", 0)
# ----- rr params ----- modparam("registrar", "method_filtering", 1) /* uncomment the next line to disable parallel forking via location */ # modparam("registrar", "append_branches", 0) /* uncomment the next line not to allow more than 10 contacts per AOR */ #modparam("registrar", "max_contacts", 10)
# ----- uri_db params ----- /* by default we disable the DB support in the module as we do not need it in this configuration */ modparam("uri_db", "use_uri_table", 0) modparam("uri_db", "db_url", "" )
# ----- acc params ----- /* what sepcial events should be accounted ? */ modparam("acc", "early_media", 1) modparam("acc", "report_ack", 1) modparam("acc", "report_cancels", 1) /* by default ww do not adjust the direct of the sequential requests. if you enable this parameter, be sure the enable "append_fromtag" in "rr" module */ modparam("acc", "detect_direction", 0) /* account triggers (flags) */ modparam("acc", "failed_transaction_flag", 3) modparam("acc", "log_flag", 1) modparam("acc", "log_missed_flag", 2) modparam("acc", "log_extra", "src_user=$fU;src_domain=$fd;dst_ouser=$tU;dst_user=$rU;dst_domain=$rd") /* enhanced DB accounting */ #!ifdef WITH_ACCDB modparam("acc", "db_flag", 1) modparam("acc", "db_missed_flag", 2) modparam("acc", "db_url", "mysql://openser:openserrw@localhost/openser") modparam("acc", "db_extra", "src_user=$fU;src_domain=$fd;dst_ouser=$tU;dst_user=$rU;dst_domain=$rd") #!endif
# ----- usrloc params ----- /* enable DB persistency for location entries */ #!ifdef WITH_USRLOCDB modparam("usrloc", "db_mode", 2) modparam("usrloc", "db_url", "mysql://openser:kamailio@localhost/TEST") #!endif
# ----- auth_db params ----- /* enable the DB based authentication */ #!ifdef WITH_AUTH modparam("auth_db", "calculate_ha1", yes) modparam("auth_db", "password_column", "password") modparam("auth_db", "db_url", "mysql://openser:openserrw@localhost/openser") modparam("auth_db", "load_credentials", "") #!endif
# ----- alias_db params ----- /* uncomment the following lines if you want to enable the DB based aliases */ #modparam("alias_db", "db_url", # "mysql://openser:openserrw@localhost/openser")
# ----- domain params ----- /* uncomment the following lines to enable multi-domain detection support */ #modparam("domain", "db_url", # "mysql://openser:openserrw@localhost/openser") #modparam("domain", "db_mode", 1) # Use caching
# ----- multi-module params ----- /* uncomment the following line if you want to enable multi-domain support in the modules (dafault off) */ #modparam("alias_db|auth_db|usrloc|uri_db", "use_domain", 1)
# ----- presence params ----- /* enable presence server support */ #!ifdef WITH_PRESENCE modparam("presence|presence_xml", "db_url", "mysql://openser:openserrw@localhost/openser") modparam("presence_xml", "force_active", 1) modparam("presence", "server_address", "sip:195.221.29.144:5060") #!endif
# ----- nathelper ----- #!ifdef WITH_NAT modparam("nathelper", "rtpproxy_sock", "udp:127.0.0.1:7722") modparam("nathelper", "natping_interval", 30) modparam("nathelper", "ping_nated_only", 1) modparam("nathelper", "sipping_bflag", 7) modparam("nathelper", "sipping_from", "sip:pinger@kamailio.org") modparam("registrar|nathelper", "received_avp", "$avp(i:80)") modparam("usrloc", "nat_bflag", 6) #!endif
####### Routing Logic ########
# main request routing logic
route{
if (!mf_process_maxfwd_header("10")) { sl_send_reply("483","Too Many Hops"); exit; }
if(!sanity_check("1511", "7")) { xlog("Malformed SIP message from $si:$sp\n"); exit; }
# NAT detection route(NAT);
if (has_totag()) { # sequential request withing a dialog should # take the path determined by record-routing if (loose_route()) { if (is_method("BYE")) { setflag(1); # do accounting ... setflag(3); # ... even if the transaction fails } route(RELAY); } else { if (is_method("SUBSCRIBE") && uri == myself) { # in-dialog subscribe requests route(PRESENCE); exit; } if ( is_method("ACK") ) { if ( t_check_trans() ) { # non loose-route, but stateful ACK; must be an ACK after a 487 or e.g. 404 from upstream server t_relay(); exit; } else { # ACK without matching transaction ... ignore and discard.\n"); exit; } } sl_send_reply("404","Not here"); } exit; }
#initial requests
# CANCEL processing if (is_method("CANCEL")) { if (t_check_trans()) t_relay(); exit; }
t_check_trans();
# authentication route(AUTH);
# record routing for dialog forming requests (in case they are routed) # - remove preloaded route headers remove_hf("Route"); if (is_method("INVITE|SUBSCRIBE")) record_route();
# account only INVITEs if (is_method("INVITE")) { setflag(1); # do accounting } if (!uri==myself) /* replace with following line if multi-domain support is used */ ##if (!is_uri_host_local()) { append_hf("P-hint: outbound\r\n"); route(RELAY); }
# requests for my domain
if( is_method("PUBLISH|SUBSCRIBE")) route(PRESENCE);
if (is_method("REGISTER")) { if(isflagset(5)) { setbflag("6"); # uncomment next line to do SIP NAT pinging ## setbflag("7"); } if (!save("location")) sl_reply_error();
exit; }
if ($rU==$null) { # request with no Username in RURI sl_send_reply("484","Address Incomplete"); exit; }
route(PSTN);
# apply DB based aliases (uncomment to enable) ##alias_db_lookup("dbaliases");
if (!lookup("location")) { switch ($rc) { case -1: case -3: t_newtran(); t_reply("404", "Not Found"); exit; case -2: sl_send_reply("405", "Method Not Allowed"); exit; } }
# when routing via usrloc, log the missed calls also setflag(2);
route(RELAY); }
route[RELAY] { #!ifdef WITH_NAT if (check_route_param("nat=yes")) { setbflag("6"); } if (isflagset(5) || isbflagset("6")) { route(RTPPROXY); } #!endif
/* example how to enable some additional event routes */ if (is_method("INVITE")) { #t_on_branch("BRANCH_ONE"); t_on_reply("REPLY_ONE"); t_on_failure("FAIL_ONE"); }
if (!t_relay()) { sl_reply_error(); } exit; }
# Presence server route route[PRESENCE] { #!ifdef WITH_PRESENCE if (!t_newtran()) { sl_reply_error(); exit; };
if(is_method("PUBLISH")) { handle_publish(); t_release(); } else if( is_method("SUBSCRIBE")) { handle_subscribe(); t_release(); } exit; #!endif
# if presence enabled, this part will not be executed if (is_method("PUBLISH") || $rU==$null) { sl_send_reply("404", "Not here"); exit; } return; }
# Authentication route route[AUTH] { #!ifdef WITH_AUTH if (is_method("REGISTER")) { # authenticate the REGISTER requests (uncomment to enable auth) if (!www_authorize(" ", "subscriber")) { www_challenge(" ", "0"); exit; }
if ($au!=$tU) { sl_send_reply("403","Forbidden auth ID"); exit; } } else { # authenticate if from local subscriber (uncomment to enable auth) if (from_uri==myself) { if (!proxy_authorize("", "subscriber")) { proxy_challenge("", "0"); exit; } if (is_method("PUBLISH")) { if ($au!=$tU) { sl_send_reply("403","Forbidden auth ID"); exit; } } else { if ($au!=$fU) { sl_send_reply("403","Forbidden auth ID"); exit; } }
consume_credentials(); # caller authenticated } } #!endif return; }
# Caller NAT detection route route[NAT]{ #!ifdef WITH_NAT force_rport(); if (nat_uac_test("19")) { if (method=="REGISTER") { fix_nated_register(); } else { fix_nated_contact(); } setflag(5); } #!endif return; }
# RTPProxy control route[RTPPROXY] { #!ifdef WITH_NAT if (is_method("BYE")) { unforce_rtp_proxy(); } else if (is_method("INVITE")){ force_rtp_proxy(); } if (!has_totag()) add_rr_param(";nat=yes"); #!endif return; }
# PSTN GW routing route[PSTN] { #!ifdef WITH_PSTN # check if PSTN GW IP is defined if (strempty($sel(cfg_get.pstn.gw_ip))) { xlog("SCRIPT: PSTN rotuing enabled but pstn.gw_ip not defined\n"); return; }
# route to PSTN dialed numbers starting with '+' or '00' # (international format) # - update the condition to match your dialing rules for PSTN routing if(!($rU=~"^(+|00)[1-9][0-9]{3,20}$")) return;
# only local users allowed to call if(from_uri!=myself) { sl_send_reply("403", "Not Allowed"); exit; }
$ru = "sip:" + $rU + "@" + $sel(cfg_get.pstn.gw_ip);
route(RELAY); exit; #!endif
return; }
# Sample branch router branch_route[BRANCH_ONE] { xdbg("new branch at $ru\n"); }
# Sample onreply route onreply_route[REPLY_ONE] { xdbg("incoming reply\n"); #!ifdef WITH_NAT if ((isflagset(5) || isbflagset("6")) && status=~"(183)|(2[0-9][0-9])") { force_rtp_proxy(); } if (isbflagset("6")) { fix_nated_contact(); } #!endif }
# Sample failure route failure_route[FAIL_ONE] { #!ifdef WITH_NAT if (is_method("INVITE") && (isbflagset("6") || isflagset(5))) { unforce_rtp_proxy(); } #!endif
if (t_is_canceled()) { exit; }
# uncomment the following lines if you want to block client # redirect based on 3xx replies. ##if (t_check_status("3[0-9][0-9]")) { ##t_reply("404","Not found"); ## exit; ##}
# uncomment the following lines if you want to redirect the failed # calls to a different new destination ##if (t_check_status("486|408")) { ## sethostport("192.168.2.100:5060"); ## append_branch(); ## # do not set the missed call flag again ## t_relay(); ##} }
##########Correspondance avec numéro de téléphone##########
if (uri=~"9[0-9][0-9]@.*") { log(1, "Matched Cisco Call Manager"); route(4); }; # if (uri=="sip:941@ccm-ipv6.crihan.fr") { # forward(195.221.29.145, 5060); # }
#-------------------------------------------------# # ROUTAGE MAQUETTE 1 # #-------------------------------------------------# ##########Routage vers Cisco Call Manager########## route[4] { log(1, "In route[4]");
rewritehostport("ccm-ipv6.crihan.fr:5060");
append_hf("P-hint: Forwarded to CCM\r\n");
xlog("L_INFO", "$rm from $fu to $tu"); t_on_failure("2");
if (!t_relay()) { sl_reply_error();
}; exit; }
alexis heron wrote:
# Sample failure route failure_route[FAIL_ONE] { #!ifdef WITH_NAT if (is_method("INVITE") && (isbflagset("6") || isflagset(5))) { unforce_rtp_proxy(); } #!endif
if (t_is_canceled()) { exit; }
# uncomment the following lines if you want to block client # redirect based on 3xx replies. ##if (t_check_status("3[0-9][0-9]")) { ##t_reply("404","Not found"); ## exit; ##}
# uncomment the following lines if you want to redirect the failed # calls to a different new destination ##if (t_check_status("486|408")) { ## sethostport("192.168.2.100:5060"); ## append_branch(); ## # do not set the missed call flag again ## t_relay(); ##} }
##########Correspondance avec numéro de téléphone##########
if (uri=~"9[0-9][0-9]@.*") { log(1, "Matched Cisco Call Manager"); route(4);
Hello
The if(uri=~...) check is outside of any route[], failure_route[] declaration. because of the "}" closed paranthesys 5 lines above which closes failure_route[FAIL_ONE]
So my editor says...
Marius
marius zbihlei wrote:
alexis heron wrote:
# Sample failure route failure_route[FAIL_ONE] { #!ifdef WITH_NAT if (is_method("INVITE") && (isbflagset("6") || isflagset(5))) { unforce_rtp_proxy(); } #!endif
if (t_is_canceled()) { exit; }
# uncomment the following lines if you want to block client # redirect based on 3xx replies. ##if (t_check_status("3[0-9][0-9]")) { ##t_reply("404","Not found"); ## exit; ##}
# uncomment the following lines if you want to redirect the failed # calls to a different new destination ##if (t_check_status("486|408")) { ## sethostport("192.168.2.100:5060"); ## append_branch(); ## # do not set the missed call flag again ## t_relay(); ##} }
##########Correspondance avec numéro de téléphone##########
if (uri=~"9[0-9][0-9]@.*") { log(1, "Matched Cisco Call Manager"); route(4);
Hello
The if(uri=~...) check is outside of any route[], failure_route[] declaration. because of the "}" closed paranthesys 5 lines above which closes failure_route[FAIL_ONE]
So my editor says...
Marius
In fact, I woul like to mount a TrunkSIP to call numbers 9xx, that's how we do?? thank you
Daniel-Constantin Mierla wrote:
On 4/13/10 11:59 AM, alexis heron wrote:
Daniel-Constantin Mierla wrote:
On 4/13/10 11:49 AM, alexis heron wrote:
Iñaki Baz Castillo wrote:
2010/4/13 alexis heron alexis.heron@crihan.fr:
> As a suggestion, if you are interested in matching just the RURI > username part then I strongly recommend you doing so as follows: > > if ( $rU =~ "^9[0-9][0-9]$" ) { > log(1, "Matched Cisco Call Manager"); > route(4); > } > > > I have always the same error
Also using my suggestion? Try removing the "log" line.
yes also usingg your suggestion and same in try removing the "log" line
In fact, the error is just before the "if" but before "if" it's empty
the error is somewhere above. Maybe you haven't closed some open pharentesis, quotes, etc ... the 'if' you pointed is ok. you have to provide more of your config to be able to spot something.
Try to put a xlog (or other action) before the 'if' just to see if the error changes the line.
Cheers, Daniel
always the same error
comment from the actions above until you spot it. if you don't provide your config, cannot help here.
Daniel
please help me thank you
failure_route[FAIL_ONE] { is closed before your "if ( $rU =~ "^9[0- ....."
2010/4/13 alexis heron alexis.heron@crihan.fr
Daniel-Constantin Mierla wrote:
On 4/13/10 11:59 AM, alexis heron wrote:
Daniel-Constantin Mierla wrote:
On 4/13/10 11:49 AM, alexis heron wrote:
Iñaki Baz Castillo wrote:
2010/4/13 alexis heron alexis.heron@crihan.fr:
> As a suggestion, if you are interested in matching just the RURI >> username part then I strongly recommend you doing so as follows: >> >> if ( $rU =~ "^9[0-9][0-9]$" ) { >> log(1, "Matched Cisco Call Manager"); >> route(4); >> } >> >> >> I have always the same error >> > Also using my suggestion? Try removing the "log" line.
yes also usingg your suggestion and same in try removing the "log" line
In fact, the error is just before the "if" but before "if" it's empty
the error is somewhere above. Maybe you haven't closed some open pharentesis, quotes, etc ... the 'if' you pointed is ok. you have to provide more of your config to be able to spot something.
Try to put a xlog (or other action) before the 'if' just to see if the error changes the line.
Cheers, Daniel
always the same error
comment from the actions above until you spot it. if you don't provide your config, cannot help here.
Daniel
please help me thank you
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list sr-users@lists.sip-router.org http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
Laszlo wrote:
failure_route[FAIL_ONE] { is closed before your "if ( $rU =~ "^9[0- ....."
2010/4/13 alexis heron <alexis.heron@crihan.fr mailto:alexis.heron@crihan.fr>
Daniel-Constantin Mierla wrote: On 4/13/10 11:59 AM, alexis heron wrote: Daniel-Constantin Mierla wrote: On 4/13/10 11:49 AM, alexis heron wrote: Iñaki Baz Castillo wrote: 2010/4/13 alexis heron <alexis.heron@crihan.fr <mailto:alexis.heron@crihan.fr>>: As a suggestion, if you are interested in matching just the RURI username part then I strongly recommend you doing so as follows: if ( $rU =~ "^9[0-9][0-9]$" ) { log(1, "Matched Cisco Call Manager"); route(4); } I have always the same error Also using my suggestion? Try removing the "log" line. yes also usingg your suggestion and same in try removing the "log" line In fact, the error is just before the "if" but before "if" it's empty the error is somewhere above. Maybe you haven't closed some open pharentesis, quotes, etc ... the 'if' you pointed is ok. you have to provide more of your config to be able to spot something. Try to put a xlog (or other action) before the 'if' just to see if the error changes the line. Cheers, Daniel always the same error comment from the actions above until you spot it. if you don't provide your config, cannot help here. Daniel please help me thank you _______________________________________________ SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list sr-users@lists.sip-router.org <mailto:sr-users@lists.sip-router.org> http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
help me please, how to make a SIPtrunk??
2010/4/13 alexis heron alexis.heron@crihan.fr:
help me please, how to make a SIPtrunk??
Please, open a new thread for a new topic. Anyhow, I recommend you reading the full documentation. There is not a "magic" concept of a SIPtrunk.
Iñaki Baz Castillo wrote:
2010/4/13 alexis heron alexis.heron@crihan.fr:
help me please, how to make a SIPtrunk??
Please, open a new thread for a new topic. Anyhow, I recommend you reading the full documentation. There is not a "magic" concept of a SIPtrunk.
yes but with if(uri=~...) it's good, no??
2010/4/13 alexis heron alexis.heron@crihan.fr:
Please, open a new thread for a new topic. Anyhow, I recommend you reading the full documentation. There is not a "magic" concept of a SIPtrunk.
yes but with if(uri=~...) it's good, no??
There you are checking if the Request URI matches something. If it's all that you need to "build a SIPtrunk" then it's ok.
However, I recommended you to use "if ( $rU =~ )".
2010/4/13 Iñaki Baz Castillo ibc@aliax.net
2010/4/13 alexis heron alexis.heron@crihan.fr:
Please, open a new thread for a new topic. Anyhow, I recommend you reading the full documentation. There is not a "magic" concept of a SIPtrunk.
yes but with if(uri=~...) it's good, no??
There you are checking if the Request URI matches something. If it's all that you need to "build a SIPtrunk" then it's ok.
However, I recommended you to use "if ( $rU =~ )".
+ using route(NAME_GOES_HERE) ; instead of route(4);
Hi Alexis ou alors, salut Alexis,
Je vais le faire en français, cela t'aidera peut-être. Tu a la chance d'avoir les conseils de Daniel et d'Inaki, suis les, fait ce qu'ils te disent de faire. Le harcèlement sur une mailing-list te mèneras juste à ne plus avoir de réponses. Un bon conseil, va lire la documentation de Kamailio/ser/... Ou alors, sois prêt à payer pour les services que tu demandes.
Sorry all for the french post.
bat, Olivier
alexis heron a écrit :
Iñaki Baz Castillo wrote:
2010/4/13 alexis heron alexis.heron@crihan.fr:
help me please, how to make a SIPtrunk??
Please, open a new thread for a new topic. Anyhow, I recommend you reading the full documentation. There is not a "magic" concept of a SIPtrunk.
yes but with if(uri=~...) it's good, no??
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list sr-users@lists.sip-router.org http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
alexis heron wrote:
Hi,
I have a problem to routing with kamailio. When I restart kamailio I have this error message : 0(710) : <core> [cfg.y:3328]: parse error in config file /usr/local/etc/kamailio/kamailio.cfg, line 640, column 2-3: syntax error 0(710) : <core> [cfg.y:3328]: parse error in config file /usr/local/etc/kamailio/kamailio.cfg, line 640, column 2-3: ERROR: bad config file (2 errors)
here is my line 640 :
if (uri=~"sip:9[0-9][0-9]@.*") { //line 640 log(1, "Matched Cisco Call Manager"); route(4); };
Can you help me please thank you
Hello,
Hope you added the "//line 640" comment afterward because Kamailio doesn't support "//" type comments (the line comment is started with #, multi-line comments are /* */).
What version of Kamailio are you using?
Marius
marius zbihlei wrote:
alexis heron wrote:
Hi,
I have a problem to routing with kamailio. When I restart kamailio I have this error message : 0(710) : <core> [cfg.y:3328]: parse error in config file /usr/local/etc/kamailio/kamailio.cfg, line 640, column 2-3: syntax error 0(710) : <core> [cfg.y:3328]: parse error in config file /usr/local/etc/kamailio/kamailio.cfg, line 640, column 2-3: ERROR: bad config file (2 errors)
here is my line 640 :
if (uri=~"sip:9[0-9][0-9]@.*") { //line 640 log(1, "Matched Cisco Call Manager"); route(4); };
Can you help me please thank you
Hello,
Hope you added the "//line 640" comment afterward because Kamailio doesn't support "//" type comments (the line comment is started with #, multi-line comments are /* */).
What version of Kamailio are you using?
Marius
my vesrion is 3.0.0 "//line 640" it's just for the forum
alexis heron wrote:
Hi,
I have a problem to routing with kamailio. When I restart kamailio I have this error message : 0(710) : <core> [cfg.y:3328]: parse error in config file /usr/local/etc/kamailio/kamailio.cfg, line 640, column 2-3: syntax error 0(710) : <core> [cfg.y:3328]: parse error in config file /usr/local/etc/kamailio/kamailio.cfg, line 640, column 2-3: ERROR: bad config file (2 errors)
here is my line 640 :
if (uri=~"sip:9[0-9][0-9]@.*") { //line 640 log(1, "Matched Cisco Call Manager"); route(4); };
Can you help me please thank you
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list sr-users@lists.sip-router.org http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
thank you all for your help my SIPtrunk is mounted thanks to you. My telephone routing is now operational.
thank you very much for your help
On Wednesday 14 April 2010, alexis heron wrote:
thank you all for your help my SIPtrunk is mounted thanks to you. My telephone routing is now operational.
Hi Alexis,
good to know that it works now for you. :-) Every new beginning is difficult, and for this projects the learning curve is even more steep..
Henning