October 2, 2006
View 144c394f42

- fork_process & fork_tcp_process fixes - reverted to the old fork()-in-parallel behaviour (uncomment FORK_DONT_WAIT for the "serial" fork()).

Andrei Pelinescu-Onciul authored on 02/10/2006 17:29:23
September 28, 2006
View 9ca82d2758

- reverted to the old behaviour for the transaction timeout reply: now 408 is returned always; before 480 was returned on invite timeout after a provisional reply. - added new script functions: t_branch_timeout() and t_branch_replied(), which can be used to distinguish between a 408 received from the network (if (!t_branch_timeout() && t_check_status("408")) ... ), a local transaction timeout w/o any reply being received (if (t_branch_timeout() && ! t_branch_replied()) ...) and a local timeout after some provsional reply ( if (t_branch_timeout() && t_branch_replied()) ...) - even more script functions: - t_any_timeout() -- true if any of the transaction branches did timeout - t_any_replied() -- true if at least one branch received a reply (when used from an on_reply route it will ignore the "current" reply) - t_is_canceled() -- true if the current transaction has been canceled (for more info see NEWS or tm docs)

Andrei Pelinescu-Onciul authored on 28/09/2006 21:10:43
September 15, 2006
View dcb59e67b4

- dns cache support (ser will cache both positive and negative responses if turned on, see doc/dns.txt for more details & config options) - dns failover support: when a name resolves to more then 1 ip (either multiple A or AAAA records or multiple SRVs) and sending to the first ip fails, ser will retry with the others. By default is off. See doc/dns.txt for more details/config options a.s.o. - destination blacklist: when sending to some destination (defined by ip:port and protocol) fails, ser will temporarily add this destination in a blacklist giving future sends the opportunity of immediately failing. Destination are also added to the blacklist on tm invite timeouts (when no response is received in the fr_timer interval). By default is off, see doc/dst_blacklist.txt form more details/config options. - small makefile fixes (in mode=debug) - resolver get_record api changes (updated enum)

Andrei Pelinescu-Onciul authored on 15/09/2006 10:37:44
April 7, 2006
View 58d0d1b5b6

- separate memdbg log level which controls the memory/malloc related debug messages (to see them ser must be compiled with malloc debuging: -DDBG_QM_MALLOC or -DDBG_FM_MALLOC and memdbg must be <= debug ). By default is set to L_DBG. E.g.: setting memdbg=100 in ser.cfg will make sure that you'll never see a malloc debug message. Note: memdbg is different from memlog, memlog is the log level used for malloc statistics (printed on exit or on SIGUSR1).

Andrei Pelinescu-Onciul authored on 07/04/2006 14:55:27
February 23, 2006
View 45b6a746bc

- new command line tool which communicates with the ctl module (using the new binary protocol) - supports various connection methods: udp, tcp, unix sockets (datagram and stream) - can do basic reply formatting (see -f ) - supports both command line and interactive modes - if compiled with libreadline supports command completion in the interactive mode - depends only on libreadline/libedit if compiled with command completion support Example: sercmd -s unixd:/tmp/unix_dgram -f 'pid:%v desc:"%v"\n' core.ps sercmd # enters interactive mode, uses default unix:/tmp/ser_ctl socket sercmd ps sercmd who (see also sercmd -h and utils/sercmd/EXAMPLES)

Andrei Pelinescu-Onciul authored on 23/02/2006 20:07:45
December 12, 2005
View 01dea12497

- return [val] support (returns from the current route with value val, by default 1) - exit [val] support (exits the script with code val, where 0 means drop, >0 means do default actions and <0 means error) - drop is now equivalent to exit 0 - drop should be faster when used to exit deep routes - break is now equivalent with return 1 - the return code can be checked with $?, e.g.: if ($?==1) {...} else if ($?==-1){...} else {...}.

Andrei Pelinescu-Onciul authored on 12/12/2005 23:47:56
December 11, 2005
View 0d88ce78c9

- tm: t_relay will not stop script execution anymore in case of send error - added onsend_route: special route executed before forwarding a message, when the final destination is known. Only a limited number of commands are allowed ( if (expr) {}else{}, drop, flags manipulations, send(), log()). Usefull to catch more easily unauthorized attempts to relay/bounce message to protected destinations (e.g PSTN gateways) - new onsend checks: to_{ip,port}, snd_{ip,port,proto,af}. to= to whom the message will be sent to. snd=how ser will send it (socket ip/port,proto,af). - msg:len in onsend_route will containg the "new" message len - textops: search() onsend_route support (it will use the new, freshly constructed message and not the original one)

Andrei Pelinescu-Onciul authored on 11/12/2005 22:46:38
December 10, 2005
View 3ba4048bcc

- tsend_* functions changed to obey the timeout more accurately and in all cases - unix_tx_timeout changed to milliseconds and its default value to 500 ms.

Andrei Pelinescu-Onciul authored on 10/12/2005 23:44:06
View 57857a94b6

- tm migrated to the new timers (tm timers completely re-written). - tm structures re-ordered & cleaned up for better "packing" on 64 bit machines => size reduction (~800 bytes less per transaction on a 64 bit machine) - params: - retr_timer1p1, retr_timer1p2, retr_timer1p3 removed and replaced by retr_timer1 and retr_timer2 - all timer values are now expressed in milliseconds (they were in seconds before). Affected params: fr_timer, fr_inv_timer, wt_timer, delete_timer, retr_timer1, retr_timer2 - retr_timer1 (first retransmission) changed to 500 ms - delete_timer changed to 200 ms - functions: - new t_set_fr(timeout_fr_inv, timeout_fr) -- allows changing the transaction timer from script, even if the transaction was already created (see tm docs for more). - fr_inv_timer/fr_timer can be changed now without any performance penalty - more precise retransmissions timing - overall improved tm speed an memory footprint (e.g. on a 64 bit 2*Xeon 2.8Ghz + HT, optimized ser, NO_DEBUG => ~ 6370 cps new version, ~6000 cps old version + rel_0_9_0 tm inser_timer fix; memory usage @ 6000cps: 490Mb new version, 616Mb old version). - NEWS updated

Andrei Pelinescu-Onciul authored on 10/12/2005 16:04:53
November 2, 2005
View fe09f3158f

- ip TOS can now be set from ser cfg (thanks to Andreas Granig)

Andrei Pelinescu-Onciul authored on 02/11/2005 18:14:12
September 13, 2005
View 9d24a2622f

- 0.9.4 changes forward ported (docs, radius Makefile *bsd update, postgress Makefile *bsd update a.s.o)

Andrei Pelinescu-Onciul authored on 13/09/2005 13:53:11
July 12, 2005
View 6b6642f470

- default onreply_router {} added (this will be executed for any reply, it adds the possibility of executing scripts on replies without using tm)

Andrei Pelinescu-Onciul authored on 12/07/2005 15:22:19
July 11, 2005
View 878fc1940b

- various resolver/dns related options can now be set from ser.cfg: dns_try-ipv6=yes|no dns_retr_time= time(in s) dns_retr_no = no. dns_use_search_list=yes|no dns_server_no= no. (for more info look in NEWS)

Andrei Pelinescu-Onciul authored on 11/07/2005 17:30:43
July 8, 2005
View 51edaa6efc

- added a new flag parameter which can be used (for now) to select only the username or the username, host and port when hashing after an uri - improved uri hashing (password is ignored, port is used only if sip and port != 5060 or sips and port!=5061)

Andrei Pelinescu-Onciul authored on 08/07/2005 15:49:27
View 55d8155eb4

- added new config vars: - tcp_connection_lifetime ( tcp connection timeout) - tcp_max_connections (default 2048) - tcp_poll_method (by default the best method for your OS is selected, if you don't like it/have problems you can force another using this var) - removed some too verbose debuging info - updated NEWS (seems everyone else forgot about it :-()

Andrei Pelinescu-Onciul authored on 08/07/2005 15:39:06