Hello,
I am using SER as a redirect server.
Recently I came across an issue where the 302 sent back by SER is
not liked by a soft switch. Particularly , the format of the CONTACT
field according to the softswitch..
Here is an excerpt of the 302 reply send back ...
Session Initiation Protocol
Status-Line: SIP/2.0 302 MovedTemporarily
Status-Code: 302
Resent Packet: True
Suspected resend of frame: 73
Message Header
To: <sip:12345@172.20.20.46>;tag=
b27e1a1d33761e85846fc98f5f3a7e58.dfa5
SIP to address: sip:12345@172.20.20.46
SIP tag: b27e1a1d33761e85846fc98f5f3a7e58.dfa5
From: 172.20.20.46<sip:12345@172.20.20.46>;tag=161dda6e
SIP Display info: 172.20.20.46
SIP from address: sip:12345@172.20.20.46
SIP tag: 161dda6e
Via: SIP/2.0/UDP 10.99.99.140:9585
;branch=z9hG4bK-d87543-730866470-1--d87543-;rport=9585
Call-ID: 95239a63f0347c53
CSeq: 1 INVITE
* Contact: sip:12345@172.20.20.37:5060
* Server: Sip EXpress router (0.8.14 (i386/linux))
Content-Length: 0
Warning: 392 172.20.20.46:5060 "Noisy feedback tells: pid=9550
req_src_ip=10.99.99.140 req_src_port=9585 in_uri=sip:12345@172.20.20.46out_uri=
sip:12345@172.20.20.37:5060 via_cnt==1
the softswitch is wanting the contact field with
<sip:xxxx@xxx.xxx.xxx.xxx:5060>
like a FROM or TO URI.
Here is ser.cfg part that does the sl_send_reply();
# do a stateless redirect, if return code is correct
if (method=="INVITE")
{
xlog("L_INFO", "SourceIP <%is> \n");
xlog("L_INFO", "From-uri<%fu>, r-uri <%ru> \n");
if (!gl_redirect())
{
sl_send_reply("480", "TemporarilyUnavailable");
xlog("L_WARN", "Sending a 480 response with r-uri <%ru>\n");
break;
}
else
{
sl_send_reply("302", "MovedTemporarily");
xlog("L_DBG", "Sending a 302 response with r-uri <%ru>\n");
break;
}
};
Any help is appreciated.**
thanks,
--
Jignesh Gandhi
jigpgandhi(a)gmail.com
First of all, please CC to the list!!!
it->refers to the routing script you are using that by default is ser.cfg.
You can change it starting ser with -f parameter and placing after the
config file.
I recomend you to look into iptel.org and get the general overview of
the project.
samuel.
2007/3/26, Goh, Tee-Yong <gohty(a)m1.com.sg>:
>
>
>
> Hi Samuel,
>
> Thank you for your support.
> Therefore, you have mentioned that ser.cfg is just an example and do not
> need to modify. However, as you have mentioned "You would definetely need to
> modify it to make SER behave as your requirements dictates", what does "it"
> are you refering to? The files in the SER or just ser.cfg?
>
> Please advice.
>
> Thank you.
>
> Regards,
> Howard
>
>
> -----Original Message-----
> From: samuel [mailto:samu60@gmail.com]
> Sent: Monday, March 26, 2007 5:10 PM
> To: Goh, Tee-Yong
> Cc: serusers(a)iptel.org
> Subject: Re: [Serusers] SER - Config files
>
>
> ser.cfg is, usually, the routing script that dictates how SER behaves
> on receiving SIP requests and responses.
> It's just an example that should work wihtout modificaction and is
> meant as a starting point to get into SER. You would definetely need
> to modify it to make SER behave as your requirements dictates.
>
> look for more information in iptel.org and google...
>
> Good Luck!
>
> sam
>
> 2007/3/25, Goh, Tee-Yong <gohty(a)m1.com.sg>:
> >
> >
> >
> > Hi all,
> >
> > May i seek your expertise advice. I have found the config file name
> > "ser.cfg" and "ser.cfg~" in the SER-0.9.6.
> > However, i do not know what are they used for? Can i make any modification
> > to them?
> >
> > Please advice.
> >
> > Thank you.
> >
> > Regards,
> > Howard
> >
> > ________________________________
> > This email (including any attachment) is subject to the following
> > disclaimer:
> >
> http://m1.com.sg/M1/misc/disclaimer________________________________
> >
> > _______________________________________________
> > Serusers mailing list
> > Serusers(a)lists.iptel.org
> > http://lists.iptel.org/mailman/listinfo/serusers
> >
> >
>
> ________________________________
> This email (including any attachment) is subject to the following
> disclaimer:
> http://m1.com.sg/M1/misc/disclaimer________________________________
>
Hello everybody.
I discovered another issue when compiling openser on Solaris 10 running on
Sparc.
If I use standard gcc version 3.4.3, it compiles and runs Ok when it is
compiled on 32 bits (Standard compilation without special command line
options).
But If I use the GCC edition for SPARC Systems (GCCFS) by Sun Microsytems
(which is based on GCC 4.0.3 and is an optimized edition for Solaris on
SPARC), openser fails to start complaining about table versions. Below
appears the log output, and the backtrace of the generated core file:
WARNING: no fork mode
0(1120) fm_malloc_init: F_OPTIMIZE=16384, /ROUNDTO=2048
0(1120) fm_malloc_init: F_HASH_SIZE=2067, fm_block size=16560
0(1120) fm_malloc_init(fc800000, 33554432), start=fc800000
0(1120) shm_mem_init: success
0(0) core dump limits set to 0
0(0) DEBUG:add_avp_galias: registering <serial_branch> for avp id
<16725044>
0(0) INFO: statistics manager successfully initialized
0(0) DEBUG: init_mod: sl
0(0) StateLess module - initializing
0(0) DEBUG: MD5 calculated: 224bba3fcb82b3a99110f369fb8df55a
0(0) DEBUG: register_stats: sl
0(0) DEBUG: init_mod: usrloc
0(0) usrloc - initializing
0(0) INFO:ul_init_locks: locks array size 4096
0(0) unixsock_register_cmd: New command (ul_rm) registered
0(0) unixsock_register_cmd: New command (ul_rm_contact) registered
0(0) unixsock_register_cmd: New command (ul_dump) registered
0(0) unixsock_register_cmd: New command (ul_flush) registered
0(0) unixsock_register_cmd: New command (ul_add) registered
0(0) unixsock_register_cmd: New command (ul_show_contact) registered
0(0) find_mod_export: found <db_use_table> in module mysql
[/toip2/lib/openser/modules/]
0(0) find_mod_export: found <db_init> in module mysql
[/toip2/lib/openser/modules/]
0(0) find_mod_export: found <db_close> in module mysql
[/toip2/lib/openser/modules/]
0(0) find_mod_export: found <db_query> in module mysql
[/toip2/lib/openser/modules/]
0(0) find_mod_export: found <db_fetch_result> in module mysql
[/toip2/lib/openser/modules/]
0(0) find_mod_export: found <db_raw_query> in module mysql
[/toip2/lib/openser/modules/]
0(0) find_mod_export: found <db_free_result> in module mysql
[/toip2/lib/openser/modules/]
0(0) find_mod_export: found <db_insert> in module mysql
[/toip2/lib/openser/modules/]
0(0) find_mod_export: found <db_delete> in module mysql
[/toip2/lib/openser/modules/]
0(0) find_mod_export: found <db_update> in module mysql
[/toip2/lib/openser/modules/]
0(0) find_mod_export: found <db_replace> in module mysql
[/toip2/lib/openser/modules/]
0(0) DEBUG: register_stats: usrloc
0(0) DEBUG: register_mi: usrloc
0(0) DEBUG: init_mod: registrar
0(0) registrar - initializing
0(0) find_cmd_export_t: found <load_sl>(0) in module sl
[/toip2/lib/openser/modules/]
0(0) find_cmd_export_t: found <ul_bind_usrloc>(1) in module usrloc
[/toip2/lib/openser/modules/]
0(0) DEBUG: register_stats: registrar
0(0) DEBUG: init_mod: tm
0(0) TM - initializing...
0(0) Call-ID initialization: '47395976'
0(0) unixsock_register_cmd: New command (t_uac_dlg) registered
0(0) unixsock_register_cmd: New command (t_uac_cancel) registered
0(0) unixsock_register_cmd: New command (t_hash) registered
0(0) unixsock_register_cmd: New command (t_reply) registered
0(0) DEBUG: lock_initialize: lock initialization started
0(0) Warning: uac does not spread across the whole hash table
0(0) DEBUG: MD5 calculated: b5fd95724ef23fee9ce49ee6c27239d6
0(0) DEBUG: MD5 calculated: d0730e359e0208514db6efb58e0ac8b9
0(0) DEBUG: register_stats: tm
0(0) DEBUG: register_mi: tm
0(0) DEBUG: init_mod: mysql
0(0) mysql: MySQL client version is 5.0.37
0(0) DEBUG: init_mod: auth
0(0) AUTH module - initializing
0(0) find_cmd_export_t: found <load_sl>(0) in module sl
[/toip2/lib/openser/modules/]
0(0) xl_parse_name: name [s:rpid] index [0]
0(0) xl_parse_vname: avp [s:rpid]
0(0) DEBUG: init_mod: auth_db
0(0) AUTH_DB module - initializing
0(0) find_mod_export: found <db_use_table> in module mysql
[/toip2/lib/openser/modules/]
0(0) find_mod_export: found <db_init> in module mysql
[/toip2/lib/openser/modules/]
0(0) find_mod_export: found <db_close> in module mysql
[/toip2/lib/openser/modules/]
0(0) find_mod_export: found <db_query> in module mysql
[/toip2/lib/openser/modules/]
0(0) find_mod_export: found <db_fetch_result> in module mysql
[/toip2/lib/openser/modules/]
0(0) find_mod_export: found <db_raw_query> in module mysql
[/toip2/lib/openser/modules/]
0(0) find_mod_export: found <db_free_result> in module mysql
[/toip2/lib/openser/modules/]
0(0) find_mod_export: found <db_insert> in module mysql
[/toip2/lib/openser/modules/]
0(0) find_mod_export: found <db_delete> in module mysql
[/toip2/lib/openser/modules/]
0(0) find_mod_export: found <db_update> in module mysql
[/toip2/lib/openser/modules/]
0(0) find_mod_export: found <db_replace> in module mysql
[/toip2/lib/openser/modules/]
0(0) find_cmd_export_t: found <bind_auth>(0) in module auth
[/toip2/lib/openser/modules/]
0(0) find_cmd_export_t: found <load_sl>(0) in module sl
[/toip2/lib/openser/modules/]
0(0) DEBUG: init_mod: auth_radius
0(0) auth_radius - Initializing
0(0) auth_radius: No `Cisco' vendor in Radius dictionary
0(0) find_cmd_export_t: found <bind_auth>(0) in module auth
[/toip2/lib/openser/modules/]
0(0) DEBUG: init_mod: acc
0(0) ACC - initializing
0(0) find_cmd_export_t: found <load_tm>(0) in module tm
[/toip2/lib/openser/modules/]
0(0) xl_parse_name: name [Via] index [-2]
0(0) INFO:xl_parse_name: using hdr type (1) instead of <Via>
0(0) fixing radius_www_authorize, line 63
0(0) fixing www_challenge, line 65
0(0) fixing save, line 69
0(0) db_init: Connection 'mysql://openser:openserrw@localhost/openser' not
found in pool
0(0) new_connection: Opening MySQL connection:
mysql://openser:openserrw@localhost/openser
0(0) new_connection: Connection type is Localhost via UNIX socket
0(0) new_connection: Protocol version is 10
0(0) new_connection: Server version is 5.0.37-log
0(0) table_version(): Invalid type (2) or nul (0) version columns for
location
0(0) register_udomain(): Error while querying table version
0(0) pool_remove: Removing connection from the pool
0(0) domain_fixup(): Error while registering domain
0(0) ERROR: fix_actions: fixing failed (code=-1) at cfg line 69
0(0) ERROR: fix_expr : fix_actions error
ERROR: error -1 while trying to fix configuration
Segmentation Fault (core dumped)
# GDB backtrace
(gdb) bt
#0 0x000305a8 in process_count ()
#1 0x00030518 in kill_all_children ()
#2 0x00033ab8 in main ()
Is there any incompatibility when using GCC 4.X to compile openser?
Thanks in advance for your help.
Sergio Gutiérrez
Hi, all,
i have been trying to test TLS support on OpenSER with EyeBeam client, but in no vain.
OpenSER keep complaining that "client did not present a certificate".
really need help! thanks in advance.
here is some info of my environment:
1) OpenSER 1.2 and EyeBeam 1.5
2) run "openserctl tls rootCA", create "cacert.pem" under /etc/openser/tls/rootCA/.
3) run "openserctl tls userCERT", create "user-calist.pem user-cert.pem user-cert_req.pem user-privkey.pem" under /etc/openser/tls/user/.
4) i have set openser.cfg as follow:
disable_tls = 0
listen = tls:172.22.14.61:5061
tls_verify_client = 0
tls_require_client_certificate = 0
tls_method = TLSv1
tls_certificate = /etc/openser/tls/user/user-cert.pem"
tls_private_key = "/etc/openser/tls/user/user-privkey.pem"
tls_ca_list = "/etc/openser/tls/user/user-calist.pem"
5) copy "/etc/openser/tls/rootCA/cacert.pem" created at step 2) to EyeBeam clinet machine, which was a Windows XP machine, run "certmrg.msc" there, import this certificate to WindowXP "root certificate store".
when run ... error occur. OpenSER complaint that "client did not present a certificate", and EyeBeam receive a "503 certificate name mismath".
Any advise will be very appreciate !!
yan lin
yanlin(a)fortinet.com
2007-3-26
Hi all,
I'm going to improve the documentation search page (or rather to
create new search engine).
Here: http://www.iptel.org/ser_documentation_dynamic_search_page_functional_speci…
I have placed a functional specification that describes main
guidelines of new search page.
I would like to get some feedback from you. Please let me know if you
have some comments, tips or questions.
pazdro :)
Hi
I am trying to run Openser compiled on 64 bits on a SPARC Machine running
Solaris 10.
When I create a simple configuration file for testing radius integration,
Openser starts to consume the whole memory reservation (-m parameter) and
fails with segmentation fault error.
after several tests, I have found that the error is caused by save()
function (registrar module).
This is the main route my configuration file:
route {
if(method=="REGISTER")
{
if(!radius_www_authorize(""))
{
www_challenge("", "0");
return;
};
if(!save("location"))
{
sl_reply_error();
};
return;
}
else
{
}
}
Thanks in advance for your help.
Sergio G.
Hi Anka,
In a scenario using Openser as a Presence Sever (using the config file
example located in
http://openser.org/dokuwiki/doku.php/presence:configuration-file), the
execution of load tests (with sipp) with Subscribe Presence WInfo had as
result a maximum of 20 sessions per second (We are using a Intel(R)
Xeon(TM) CPU 3.00GHz with 2GB RAM), with lots of retransmissions if we
increase to values bigger than 20 (Openser dos not crash). Is there any
configurable parameter in the Presence module that allows increasing
this value?
Best regards,
Toni
Hello,
I'm trying to implement custom CDR using OpenSER. What I do is, insert a
record in cdr table on invite request. I get the id of the inserted row
using LAST_INSERT_ID() function of mysql in avp_db_query and store in avp
variable rowid. I set connect time in reply route when I receive 200 OK for
Invite request. When I get 200 OK for BYE request, I update the cdr record
and store connect time, disconnect time, duration, etc. But at this
place(reply route) I get the null rowid so as connect time. According to tm
module's onreply_avp_mode parameter, I should be able to see the values set
from request route in reply route if I set that parameter to 1 but it has no
effect. I can not use either avp variables or script variables as
transaction variables to record custom cdr. Can anyone guide me implementing
this scenario or tell me what I've done wrong?
--
Regards
Ruchir Brahmbhatt
Ecosmob Technologies
How can I view a list of aliases via openserctl?
I tried "openserctl alias show", however this seems to return a list
of registered UA's not aliases.
- Daryl
Hello,
Sorry last mail sent accidentally.
I've initialized some SCRIPT VARIABLES in request route. I modify the values
of some of these SCRIPT VARIABLES in reply route. But I'm not able to get
value of some of those variables in either request or reply route. Any idea?
--
Regards
Ruchir Brahmbhatt