[Devel] CVS commitlog: sip-server Makefile.defs action.c cfg.lex
cfg.y items.c items.h route.c route.h route_struct.c route_struct.h
script_var.c script_var.h serialize.c usr_avp.c
sip-server/modules/alias_db alookup.c sip-server/modules/avpops ...
Daniel-Constantin Mierla
daniel at voice-system.ro
Mon Jan 29 17:04:23 CET 2007
User: miconda
Date: 2007/01/29 08:04:23 PST
OpenSER CVS - Commit Details
Modified files:
. Makefile.defs action.c cfg.lex cfg.y
items.c items.h route.c route.h
route_struct.c route_struct.h serialize.c
usr_avp.c
modules/alias_db alookup.c
modules/avpops avpops_impl.c
modules/cpl-c cpl_sig.c
modules/dispatcher dispatch.c
modules/exec exec.c
modules/lcr lcr_mod.c
modules/pdt pdt.c
modules/perl openserxs.xs
modules/speeddial sdlookup.c
modules/textops textops.c
Added files:
. script_var.c script_var.h
Commit Log:
- script variables are introduced ahving the name format $var(name)
- 'name' can be string of digits and letters, having the purpose of identifying the variable during the startup. At runtime, direct reference to variable value is used
- script variables should be prefered to keep state or values during the processing of script, being faster to access, no locking
- they can have integer or string values
- $var(a)=1 - sets the var 'a' to integer 1; $var(a)="1" - sets the value to string "1"
- assignements can be used directly in config file. Besides script variables, in the lefts side of the assignment can be used AVP names; $ru, $rU, $rd and $du to set parts of the sip message R-URI and dst URI.
- arithmetic operations can be used in configuration file:
- +: plus
- -: minus
- /: divide
- *: multiply
- %: module
- |: bit OR
- &: bit AND
- ^: bit XOR
- ~: bit NOT
- '+' - can be used with strings to concatenate them
- new test operator '[ ]' (shell like) to evaluete arithmetic operations in condition statements
ex: if ( [ $var(1)&2 ] ) - is true if bit 2 is set in integer variable $var(a)
- '&' and '|' cannot be used anymore for logical AND and OR, use '&&' and '||' instead
- '*' is replaced by 'any' when comparying ports or protocol types (was conflicting with multiply)
- switch statement takes any script value in condition; case values can be both string and integer
switch($rU) {
case "1234": xlog("destination number is 123\n"); break;
default: xlog("destination number is $rU");
}
- 'retcode' removed as it is now referenced by '$rc' or '$retcode'
- internal structure for 'action' changed to use an array of parrameters
- modules updated to use new structure
Revision Changes Path
1.86 +2 -2 sip-server/Makefile.defs
[ http://openser.cvs.sourceforge.net/openser/sip-server/Makefile.defs?r1=1.85&r2=1.86 ]
1.24 +278 -125 sip-server/action.c
[ http://openser.cvs.sourceforge.net/openser/sip-server/action.c?r1=1.23&r2=1.24 ]
1.29 +121 -15 sip-server/cfg.lex
[ http://openser.cvs.sourceforge.net/openser/sip-server/cfg.lex?r1=1.28&r2=1.29 ]
1.40 +340 -187 sip-server/cfg.y
[ http://openser.cvs.sourceforge.net/openser/sip-server/cfg.y?r1=1.39&r2=1.40 ]
1.45 +140 -1 sip-server/items.c
[ http://openser.cvs.sourceforge.net/openser/sip-server/items.c?r1=1.44&r2=1.45 ]
1.30 +6 -3 sip-server/items.h
[ http://openser.cvs.sourceforge.net/openser/sip-server/items.h?r1=1.29&r2=1.30 ]
1.5 +3 -3 sip-server/modules/alias_db/alookup.c
[ http://openser.cvs.sourceforge.net/openser/sip-server/modules/alias_db/alookup.c?r1=1.4&r2=1.5 ]
1.34 +3 -3 sip-server/modules/avpops/avpops_impl.c
[ http://openser.cvs.sourceforge.net/openser/sip-server/modules/avpops/avpops_impl.c?r1=1.33&r2=1.34 ]
1.11 +5 -5 sip-server/modules/cpl-c/cpl_sig.c
[ http://openser.cvs.sourceforge.net/openser/sip-server/modules/cpl-c/cpl_sig.c?r1=1.10&r2=1.11 ]
1.13 +4 -4 sip-server/modules/dispatcher/dispatch.c
[ http://openser.cvs.sourceforge.net/openser/sip-server/modules/dispatcher/dispatch.c?r1=1.12&r2=1.13 ]
1.6 +3 -3 sip-server/modules/exec/exec.c
[ http://openser.cvs.sourceforge.net/openser/sip-server/modules/exec/exec.c?r1=1.5&r2=1.6 ]
1.42 +17 -17 sip-server/modules/lcr/lcr_mod.c
[ http://openser.cvs.sourceforge.net/openser/sip-server/modules/lcr/lcr_mod.c?r1=1.41&r2=1.42 ]
1.20 +6 -6 sip-server/modules/pdt/pdt.c
[ http://openser.cvs.sourceforge.net/openser/sip-server/modules/pdt/pdt.c?r1=1.19&r2=1.20 ]
1.8 +47 -34 sip-server/modules/perl/openserxs.xs
[ http://openser.cvs.sourceforge.net/openser/sip-server/modules/perl/openserxs.xs?r1=1.7&r2=1.8 ]
1.6 +3 -3 sip-server/modules/speeddial/sdlookup.c
[ http://openser.cvs.sourceforge.net/openser/sip-server/modules/speeddial/sdlookup.c?r1=1.5&r2=1.6 ]
1.25 +3 -3 sip-server/modules/textops/textops.c
[ http://openser.cvs.sourceforge.net/openser/sip-server/modules/textops/textops.c?r1=1.24&r2=1.25 ]
1.18 +720 -154 sip-server/route.c
[ http://openser.cvs.sourceforge.net/openser/sip-server/route.c?r1=1.17&r2=1.18 ]
1.6 +3 -2 sip-server/route.h
[ http://openser.cvs.sourceforge.net/openser/sip-server/route.h?r1=1.5&r2=1.6 ]
1.9 +73 -70 sip-server/route_struct.c
[ http://openser.cvs.sourceforge.net/openser/sip-server/route_struct.c?r1=1.8&r2=1.9 ]
1.11 +41 -29 sip-server/route_struct.h
[ http://openser.cvs.sourceforge.net/openser/sip-server/route_struct.h?r1=1.10&r2=1.11 ]
1.1 +186 -0 sip-server/script_var.c (new)
[ http://openser.cvs.sourceforge.net/openser/sip-server/script_var.c?rev=1.1&content-type=text/plain ]
1.1 +50 -0 sip-server/script_var.h (new)
[ http://openser.cvs.sourceforge.net/openser/sip-server/script_var.h?rev=1.1&content-type=text/plain ]
1.6 +7 -7 sip-server/serialize.c
[ http://openser.cvs.sourceforge.net/openser/sip-server/serialize.c?r1=1.5&r2=1.6 ]
1.5 +3 -3 sip-server/usr_avp.c
[ http://openser.cvs.sourceforge.net/openser/sip-server/usr_avp.c?r1=1.4&r2=1.5 ]
More information about the Devel
mailing list