Please don't send HTML mail, I can't read you messages... Tried to look at your ser.cfg, but I can't make out anything in the middle of all these tags and  's....
On Wednesday 04 May 2005 08:06, Llanos Serna García-Conde wrote:
<html><div style='background-color:'><DIV class=RTE>Hello</DIV> <DIV class=RTE>I've got an easy configuration for SER and all I want it to do is to forward to a PSTN GW in 10.140.0.4 all the calls that are not 331xxx. The inside calls work alright, and I can also make calls to PSTN phones, the problem is that SER keeps sending INVITEs even after the caller has hanged up, or even after a conversation, so the callee rings (but noone is calling, and if you answer there's no communication). I enclose my ser.cfg, please help!! Thank you,</DIV> <DIV class=RTE>Llanos</DIV> <DIV class=RTE> </DIV> <DIV class=RTE><BR># ----------- global configuration parameters ------------------------</DIV> <DIV class=RTE>#debug=3 # debug level (cmd line: -dddddddddd)<BR>#fork=yes<BR>#log_stderror=no # (cmd line: -E)</DIV> <DIV class=RTE>/* Uncomment these lines to enter debugging mode<BR>debug=7<BR>fork=no<BR>log_stderror=yes<BR>*/</DIV> <DIV class=RTE>check_via=no # (cmd. line: -v)<BR>dns=no # (cmd. line: -r)<BR>rev_dns=no # (cmd. line: -R)<BR>#port=5060<BR>#children=4<BR>fifo="/tmp/ser_fifo"<BR>#fifo_db_url="m ysql://ser:heslo@localhost/ser"</DIV> <DIV class=RTE># ------------------ module loading ----------------------------------</DIV> <DIV class=RTE># Uncomment this if you want to use SQL database<BR>loadmodule "/usr/local/lib/ser/modules/mysql.so"</DIV> <DIV class=RTE>loadmodule "/usr/local/lib/ser/modules/sl.so"<BR>loadmodule "/usr/local/lib/ser/modules/tm.so"<BR>loadmodule "/usr/local/lib/ser/modules/rr.so"<BR>loadmodule "/usr/local/lib/ser/modules/maxfwd.so"<BR>loadmodule "/usr/local/lib/ser/modules/usrloc.so"<BR>loadmodule "/usr/local/lib/ser/modules/registrar.so"</DIV> <DIV class=RTE># Uncomment this if you want digest authentication<BR># mysql.so must be loaded !<BR>#loadmodule "/usr/local/lib/ser/modules/auth.so"<BR>#loadmodule "/usr/local/lib/ser/modules/auth_db.so"</DIV> <DIV class=RTE>#loadmodule "/usr/local/lib/ser/modules/acc.so"<BR>#loadmodule "/usr/local/lib/ser/modules/uri.so"</DIV> <DIV class=RTE># ----------------- setting module-specific parameters ---------------</DIV> <DIV class=RTE># -- usrloc params --</DIV> <DIV class=RTE>modparam("usrloc","db_mode",1)<BR>#segun ultimo parametro:<BR>#mode 0:disables writes to the database, contact info won't be preserved if the server is restarted<BR>#mode 1:writes all changes to the db immediately and contact info is saved, but can be slow<BR>#mode2:periodically writes contact info to the db based in the memory cache</DIV> <DIV class=RTE># -- auth params --<BR># Uncomment if you are using auth module<BR>#<BR>#modparam("auth_db", "calculate_ha1", yes)<BR>#<BR># If you set "calculate_ha1" parameter to yes (which true in this config),<BR># uncomment also the following parameter)<BR>#<BR>#modparam("auth_db", "password_column", "password")</DIV> <DIV class=RTE># -- rr params --<BR># add value to ;lr param to make some broken UAs happy<BR>modparam("rr", "enable_full_lr", 1)</DIV> <DIV class=RTE># ------------------------- request routing logic -------------------</DIV> <DIV class=RTE># main routing logic</DIV> <DIV class=RTE>route{<BR> lookup("aliases");<BR> # ROUTINE CHECKS<BR> # initial sanity checks -- messages with<BR> # max_forwards==0, or excessively long requests<BR> if (!mf_process_maxfwd_header("10")) {<BR> &nbs p; sl_send_reply("483","Too Many Hops");<BR> &nbs p; break;<BR> };<BR> if ( msg:len > max_len ) {<BR> &nbs p; sl_send_reply("513", "Message too big");<BR>   ; break;<BR> };<BR> # END OF ROUTINE CHECKS</DIV> <DIV class=RTE> # we record-route all messages -- to make sure that<BR> # subsequent messages will go through our proxy; that's<BR> # particularly good if upstream and downstream entities<BR> # use different transport protocol<BR> record_route();<BR> # loose-route processing<BR> if (loose_route()) {<BR> &nbs p; t_relay();<BR> & nbsp; break;<BR> };</DIV> <DIV class=RTE> </DIV> <DIV class=RTE> </DIV> <DIV class=RTE> # if the request is for other domain use UsrLoc<BR> # (in case, it does not work, use the following command<BR> # with proper names and addresses in it)<BR> if (uri==myself) {</DIV> <DIV class=RTE>   ; if (method=="REGISTER") {</DIV> <DIV class=RTE> # Uncomment this if you want to use digest authentication<BR> # &n bsp; if (!www_authorize("sipproxy.plczar.endesa.es", "subscriber")) {<BR> # &n bsp; www_challenge("", "0");<BR> # &n bsp; break;<BR> # &n bsp; };</DIV> <DIV class=RTE>   ; save("location");<BR> &nbs p; break;<BR>   ; };</DIV> <DIV class=RTE>   ; # native SIP destinations are handled using our USRLOC DB</DIV> <DIV class=RTE> };</DIV> <DIV class=RTE> # if requests URI isn't 331xxx numerical <BR> # forward statelessly to a static destination<BR> if (!uri=~"^sip:331[0-9][0-9][0-9]@*"){<BR>   ; forward( 10.140.0.4, 5060 );<BR> }</DIV> <DIV class=RTE> # forward to current uri now; use stateful forwarding; that<BR> # works reliably even if we forward from TCP to UDP<BR> if (!t_relay()) {<BR> &nbs p; sl_reply_error();<BR> };</DIV> <DIV class=RTE>}</DIV></div></html>