[Serusers] ERROR: fix_expr : bad re "sip:voicemail+*@*"
Alistair Cunningham
acunningham at integrics.com
Sat Mar 5 12:10:50 CET 2005
Rana,
Try this:
if ( uri =~ "sip:voicemail\+.*@" ) {
It needs to be a regular expression, not a glob.
Alistair Cunningham,
Integrics Ltd,
Telephony, Database, Unix consulting worldwide
+44 (0)7870 699 479
http://integrics.com/
ser at fivewall.com wrote:
> hi,
> i cvs co latest sip_router and rel_0_9_0,use the default ser.cfg is work!,and when i run with sems in Single instance ser,i get :
>
> ERROR: fix_expr : bad re "sip:voicemail+*@*"
>
> Regards,
> Rana
>
>
> sems.conf
>
> ser_fifo_name=/tmp/ser_fifo
> socket_name=/tmp/am_sock
> send_method=fifo
>
> # ----------- configuration parameters from Stefan ------------------------
>
> #debug=3 # debug level (cmd line: -dddddddddd)
> #fork=yes
> #log_stderror=no # (cmd line: -E)
>
> /* Uncomment these lines to enter debugging mode
> debug=7
> fork=no
> log_stderror=yes
> */
>
> check_via=no # (cmd. line: -v)
> dns=no # (cmd. line: -r)
> rev_dns=no # (cmd. line: -R)
> #port=5060
> #children=4
>
> # Configure Ser to create a FIFO server
> fifo="/tmp/ser_sock"
>
> # Configure FIFO DB
> fifo_db_url="mysql://ser:heslo@localhost/ser"
> #
> # for dbtext:
> # create a file usr_preferences in /path/to/dbtext/dir
> # with the following contents:
> # username(str,null) domain(str,null) attribute(str,null) value(str,null) type(int,null)
> # alice:mydomain.com:email:alice at mymail.com:2
> # bert:mydomain.com:email:bert at mymail.com:2
> #etc. and uncomment the following line
> #fifo_db_url="dbtext:///path/to/dbtext/dir"
> # ------------------ module loading ----------------------------------
> # either dbtext or mysql
> # loadmodule "modules/dbtext/dbtext.so"
> #
> # if installed via make install, modules are in /usr/local/lib/ser/modules/
> # (e.g. loadmodule "/usr/local/lib/ser/modules/mysql.so")
> loadmodule "modules/mysql/mysql.so"
>
> loadmodule "modules/sl/sl.so"
> loadmodule "modules/tm/tm.so"
> loadmodule "modules/rr/rr.so"
> loadmodule "modules/maxfwd/maxfwd.so"
> loadmodule "modules/usrloc/usrloc.so"
> loadmodule "modules/registrar/registrar.so"
>
>
> # if you do not use fifo_db for the email address, but
> # e.g. load_avp("ruri","email",0);
> # load avp_db.so with
> # loadmodule "modules/avp_db/avp_db.so
> #
> # ----------------- setting module-specific parameters ---------------
>
> # -- usrloc params --
> #modparam("usrloc", "db_mode", 0)
>
> # Uncomment this if you want to use SQL database
> # for persistent storage and comment the previous line
> modparam("usrloc", "db_mode", 2)
>
> # -- rr params --
> # add value to ;lr param to make some broken UAs happy
> modparam("rr", "enable_full_lr", 1)
>
> # ------------------------- request routing logic -------------------
>
> # main routing logic
>
> route{
>
> # initial sanity checks -- messages with
> # max_forwards==0, or excessively long requests
> if (!mf_process_maxfwd_header("10")) {
> sl_send_reply("483","Too Many Hops");
> break;
> };
> if ( msg:len > max_len ) {
> sl_send_reply("513", "Message too big");
> break;
> };
>
> # we record-route all messages -- to make sure that
> # subsequent messages will go through our proxy; that's
> # particularly good if upstream and downstream entities
> # use different transport protocol
> record_route();
> # loose-route processing
> if (loose_route()) {
> t_relay();
> break;
> };
>
> if (uri==myself) {
>
> if (method=="REGISTER") {
>
> # make UAs which want to register happy
> sl_send_reply("200","OK");
> break;
> };
>
> # switch to statefull mode:
> if (!t_newtran()){
> sl_send_reply("500","could not create transaction");
> break;
> };
>
> if (method=="ACK"){
> # absorb ACKs
> break;
> };
>
> # prevent timeout on the other side:
> t_reply("100","Trying - just wait a minute !");
>
> # uncomment this for single ser instance configuration
> # dont forget to add user_prefix_separator=+ to sems.conf
>
> # forward to sems plugin directly if r_uri is plugin_name+... at ...
> if (uri=~"sip:voicemail+*@*") {
> if(!t_write_unix("/tmp/am_sock","voicemail")){
> log("could not contact voicemail\n");
> t_reply("500","could not contact voicemail");
> };
> break;
> };
> if (uri=~"sip:conference+*@*") {
> if(!t_write_unix("/tmp/am_sock","conference")){
> log("could not contact conference\n");
> t_reply("500","could not contact conference");
> };
> break;
> };
> if (uri=~"sip:announcement+*@*") {
> if(!t_write_unix("/tmp/am_sock","announcement")){
> log("could not contact announcementce\n");
> t_reply("500","could not contact announcement");
> };
> break;
> };
>
>
> if (method=="INVITE"){
>
> # redirect the call to the 'conference' plug-in
> # if the URI begin with 100
> if (uri=~"sip:100.*@") {
>
> # assumes that Sems configuration parameter 'socket_name='
> # has been set to /tmp/am_sock
> if(!t_write_unix("/tmp/am_sock","conference")) {
> t_reply("500","error contacting sems");
> };
> break;
> };
>
> # redirect the call to the 'announcement' plug-in
> # if the URI begin with 200
> if (uri=~"sip:200.*@") {
>
> if(!t_write_unix("/tmp/am_sock","announcement")) {
> t_reply("500","error contacting sems");
> };
> break;
> };
>
> # no service number, redirect to voicemail.
> # do not forget to load AVPs so that voicemail gets the
> # callee's email address.
> #load_avp("ruri","email",0);
> if(!t_write_unix("/tmp/am_sock","voicemail")) {
> t_reply("500","error contacting sems");
> };
> break;
> }
> else if (method=="BYE" || method=="CANCEL") {
>
> # Sems should already know which plug-in is handling that
> # call. "bye" is no plug-in name. It is a reserved name which
> # tells Sems to terminate the call.
>
> if(!t_write_unix("/tmp/am_sock","bye")) {
> t_reply("500","error contacting sems");
> };
> };
> };
>
> # forward to current uri now; use stateful forwarding; that
> # works reliably even if we forward from TCP to UDP
> if (!t_relay()) {
> sl_reply_error();
> };
> }
>
> ----
>
> ZhongShan Ether Network Security Inc
> ---------------------------------------------------------
>
>
>
>
> _______________________________________________
> Serusers mailing list
> serusers at lists.iptel.org
> http://lists.iptel.org/mailman/listinfo/serusers
>
>
More information about the sr-users
mailing list