<div>O mejor aún:</div>
<div> </div>
<div>metete en: <a href="http://sipwise.com/">http://sipwise.com/</a></div>
<div>y crea uno con el wizard... Aunque es casi imposible de comprender para quienes estamos empezando. Asegurate de leer los comentarios del principio del config.</div>
<div> </div>
<div>:)<br></div>
<div> </div>
<div>Saludos<br></div>
<div class="gmail_quote">On Jan 17, 2008 12:42 AM, Gustavo <<a href="mailto:ggb@tid.es">ggb@tid.es</a>> wrote:<br>
<blockquote class="gmail_quote" style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid">Hola,<br><br>Estás usando un fichero con configuración que no soporta tu versión de openser. Por ejemplo el parametro nat_flag del modulo registrar ya no existe.
<br><br>¿Porqué no empiezas con un fichero de configuración más sencillo?<br><font color="#888888"><br>G:<br></font>
<div>
<div></div>
<div class="Wj3C7c"><br>On Wed, 2008-01-16 at 17:27 -0600, Ronmel Jiron wrote:<br>> gracias por responder...al hacer<br>> # pidof openser ó<br>> # nmap -sU <a href="http://127.0.0.1/" target="_blank">127.0.0.1
</a> -p 5060<br>> no sale nada, o sea que no esta funcionando. Pero ahora he modificado<br>> mi openser.cfg y manda 23 errores..( no soy muy bueno en esto).<br>> Mi archivo openser.cfg es el siguiente:<br>><br>
> #<br>> # $Id: openser.cfg 1676 2007-02-21 13:16:34Z bogdan_iancu $<br>> #<br>> # simple quick-start config script<br>> # Please refer to the Core CookBook at <a href="http://www.openser.org/dokuwiki/doku.php" target="_blank">
http://www.openser.org/dokuwiki/doku.php</a><br>> # for a explanation of possible statements, functions and parameters.<br>> #<br>><br>> # ----------- global configuration parameters ------------------------<br>
><br>> debug=3 # debug level (cmd line: -dddddddddd)<br>> fork=yes<br>> log_stderror=yes # (cmd line: -E)<br>> children=4<br>><br>> # Uncomment these lines to enter debugging mode<br>> #fork=no
<br>> #log_stderror=yes<br>> #<br>><br>> port=5060<br>> alias=<a href="http://200.30.177.115/" target="_blank">200.30.177.115</a><br>><br>> dns=no<br>> rev_dns=no<br>><br>> # uncomment the following lines for TLS support
<br>> #disable_tls = 0<br>> #listen = tls:your_IP:5061<br>> listen = <a href="http://200.30.177.115/" target="_blank">200.30.177.115</a><br>> #tls_verify_server = 1<br>> #tls_verify_client = 1<br>> #tls_require_client_certificate = 0
<br>> #tls_method = TLSv1<br>> #tls_certificate = "/usr/local/etc/openser/tls/user/user-cert.pem"<br>> #tls_private_key = "/usr/local/etc/openser/tls/user/user-privkey.pem"<br>> #tls_ca_list = "/usr/local/etc/openser/tls/user/user-
calist.pem"<br>><br>> # ------------------ module loading ----------------------------------<br>><br>> #set module path<br>> mpath="/usr/local/lib/openser/modules/"<br>><br>> # Uncomment this if you want to use SQL database
<br>> #loadmodule "mysql.so"<br>><br>> #loadmodule "sl.so"<br>> #loadmodule "tm.so"<br>> #loadmodule "rr.so"<br>> #loadmodule "maxfwd.so"<br>> #loadmodule "
usrloc.so"<br>> #loadmodule "registrar.so"<br>> #loadmodule "textops.so"<br>><br>> loadmodule "mi_fifo.so"<br>><br>> modparam("mi_fifo", "fifo_name", "/tmp/openser_fifo")
<br>> modparam("mi_fifo", "fifo_mode", 0660)<br>> modparam("mi_fifo", "fifo_group", "openser")<br>> modparam("mi_fifo", "fifo_user", "openser")
<br>> modparam("mi_fifo", "reply_dir", "/tmp/")<br>> modparam("mi_fifo", "reply_indent", "\t")<br>><br>><br>> #fifo="/tmp/openser_fifo"<br>
> #fifo_db_url="mysql://openser:openserrw@localhost/openser"<br>><br>> loadmodule "/usr/local/lib/openser/modules/mysql.so"<br>> loadmodule "/usr/local/lib/openser/modules/sl.so"<br>
> loadmodule "/usr/local/lib/openser/modules/tm.so"<br>> loadmodule "/usr/local/lib/openser/modules/rr.so"<br>> loadmodule "/usr/local/lib/openser/modules/maxfwd.so"<br>> loadmodule "/usr/local/lib/openser/modules/usrloc.so"
<br>> loadmodule "/usr/local/lib/openser/modules/registrar.so"<br>> loadmodule "/usr/local/lib/openser/modules/auth.so"<br>> loadmodule "/usr/local/lib/openser/modules/auth_db.so"<br>
> loadmodule "/usr/local/lib/openser/modules/uri.so"<br>> loadmodule "/usr/local/lib/openser/modules/uri_db.so"<br>> loadmodule "/usr/local/lib/openser/modules/mediaproxy.so"<br>> loadmodule "/usr/local/lib/openser/modules/nathelper.so"
<br>> loadmodule "/usr/local/lib/openser/modules/textops.so"<br>> loadmodule "/usr/local/lib/openser/modules/domain.so"<br>> loadmodule "/usr/local/lib/openser/modules/xlog.so"<br>> loadmodule "/usr/local/lib/openser/modules/uac.so"
<br>> loadmodule "/usr/local/lib/openser/modules/speeddial.so"<br>> loadmodule "/usr/local/lib/openser/modules/avpops.so"<br>><br>> # Uncomment this if you want digest authentication<br>> #
mysql.so must be loaded !<br>> #loadmodule "auth.so"<br>> #loadmodule "auth_db.so"<br>><br>> # ----------------- setting module-specific parameters ---------------<br>><br>> modparam("usrloc|auth_db|domain|speeddial|acc", "db_url",
<br>> "mysql://openser:openserrw@localhost/openser")<br>> modparam("auth_db", "calculate_ha1", 1)<br>> modparam("auth_db", "use_domain", 0)<br>> modparam("domain", "db_mode", 1)
<br>> modparam("nathelper", "rtpproxy_disable", 1)<br>> modparam("nathelper", "natping_interval", 60)<br>> modparam("mediaproxy","natping_interval", 30)
<br>> modparam("mediaproxy","mediaproxy_socket", "/var/run/mediaproxy.sock")<br>> modparam("usrloc", "db_mode", 2)<br>> modparam("usrloc", "use_domain", 0)
<br>> modparam("registrar", "default_expires", 60)<br>> modparam("registrar", "min_expires", 30)<br>> modparam("registrar", "nat_flag", 6)<br>> modparam("registrar", "use_domain", 0)
<br>> modparam("rr", "enable_full_lr", 1)<br>> modparam("auth", "rpid_suffix", ";party=calling;id-type=subscriber;screen=yes")<br>> modparam("auth", "rpid_avp", "s:rpid")
<br>><br>> # -- mi_fifo params --<br>><br>> modparam("mi_fifo", "fifo_name", "/tmp/openser_fifo")<br>><br>> # -- usrloc params --<br>><br>> #modparam("usrloc", "db_mode", 0)
<br>><br>> # Uncomment this if you want to use SQL database<br>> # for persistent storage and comment the previous line<br>> #modparam("usrloc", "db_mode", 2)<br>><br>> # -- 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")<br>><br>> # -- rr params --<br>> # add value to ;lr param to make some broken UAs happy
<br>> #modparam("rr", "enable_full_lr", 1)<br>><br>> # ------------------------- request routing logic -------------------<br>><br>> # main routing logic<br>><br>> route{<br>><br>
> # initial sanity checks -- messages with<br>> # max_forwards==0, or excessively long requests<br>> if (!mf_process_maxfwd_header("10")) {<br>> sl_send_reply("483","Too Many Hops");
<br>> exit;<br>> };<br>><br>> if (msg:len >= 2048 ) {<br>> sl_send_reply("513", "Message too big");<br>> exit;<br>> };
<br>><br>> # 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>><br>> if (method == "INVITE" && client_nat_test("3")) {<br>> # Must add valid IP address below<br>> record_route_preset("
<a href="http://200.30.177.115:5060/" target="_blank">200.30.177.115:5060</a>;nat=yes");<br>> } else if (method != "REGISTER") {<br>> record_route();<br>> };<br>>
<br>> # subsequent messages withing a dialog should take the<br>> # path determined by record-routing<br>> if (loose_route()) {<br>> if (loose_route()) {<br>> if (has_totag() && (method == "INVITE" || method == "ACK")) {
<br>> if (client_nat_test("3") ||<br>> search("^Route:.*;nat=yes")) {<br>> setflag(6);<br>> use_media_proxy();
<br>> };<br>> };<br>> route(1);<br>> return;<br>> };<br>> # mark routing logic in request<br>> ##append_hf("P-hint: rr-enforced\r\n");
<br>> ##route(1);<br>><br>> if (!uri==myself) {<br>> route(1);<br>> return;<br>> };<br>> # mark routing logic in request<br>> ##append_hf("P-hint: outbound\r\n");
<br>> # if you have some interdomain connections via TLS<br>> #if(uri=~"@tls_domain1.net") {<br>> # t_relay("tls:<a href="http://domain1.net/" target="_blank">
domain1.net</a>");<br>> # exit;<br>> #} else if(uri=~"@tls_domain2.net") {<br>> # t_relay("tls:<a href="http://domain2.net/" target="_blank">
domain2.net</a>");<br>> # exit;<br>> #}<br>> ##route(1);<br>><br>> # 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) {<br>> if (method == "BYE") {<br>> route(4);<br>> return;
<br>> } else if (method == "CANCEL") {<br>> route(4);<br>> return;<br>> } else if (method == "INVITE") {<br>> route(3);
<br>> return;<br>> } else if (method == "REGISTER") {<br>> route(2);<br>> return;<br>> } else if (method == "NOTIFY") {
<br>> sl_send_reply("200", "Understood");<br>> return;<br>> } else if (method == "OPTIONS") {<br>> sl_send_reply("200", "Got it");
<br>> return;<br>> }<br>> };<br>> route(1);<br>> }<br>><br>> ##if (method=="REGISTER") {<br>><br>> # Uncomment this if you want to use digest authentication
<br>> #if (!www_authorize("<a href="http://openser.org/" target="_blank">openser.org</a>", "subscriber")) {<br>> # www_challenge("<a href="http://openser.org/" target="_blank">
openser.org</a>", "0");<br>> # exit;<br>> #};<br>><br>> ## save("location");<br>> ## exit;<br>
> ##};<br>><br>> ##lookup("aliases");<br>> ##if (!uri==myself) {<br>> ## append_hf("P-hint: outbound alias\r\n");<br>> route(1);
<br>> ##};<br>><br>> # native SIP destinations are handled using our USRLOC DB<br>> ##if (!lookup("location")) {<br>> ## sl_send_reply("404", "Not Found");
<br>> ## exit;<br>> ##};<br>> ##append_hf("P-hint: usrloc applied\r\n");<br>> ##};<br>><br>> ##route(1);<br>> ##}<br>><br>><br>
> route[1] {<br>> t_on_reply("1");<br>> if (!t_relay()) {<br>> if (method=="INVITE" || method=="ACK") {<br>> end_media_session();
<br>> };<br>> sl_reply_error();<br>> };<br>> }<br>> # send it out now; use stateful forwarding as it works reliably<br>> # even for UDP2TCP<br>> ##if (!t_relay()) {
<br>> ## sl_reply_error();<br>> ##};<br>> ##exit;<br>> ##}<br>><br>> # REGISTER Message Handling<br>> # -------------------------<br>> route[2] {<br>> if (!search("^Contact:\ +\*") && client_nat_test("7")) {
<br>> setflag(6);<br>> fix_nated_register();<br>> force_rport();<br>> };<br>> sl_send_reply("100", "Trying");<br>> if (!www_authorize("","subscriber")) {
<br>> www_challenge("","0");<br>> return;<br>> };<br>> if (!check_to()) {<br>> sl_send_reply("401", "Unauthorized");
<br>> return;<br>> };<br>> consume_credentials();<br>> if (!save("location")) {<br>> sl_reply_error();<br>> };<br>> }<br>><br>
> # INVITE Message Handling<br>> # ----------------------------------<br>> route[3] {<br>> # Test for nat, perhaps fix headers<br>> if (client_nat_test("3")) {<br>> setflag(7);
<br>> force_rport();<br>> fix_nated_contact();<br>> };<br>><br>> # 3 and 4 digits URIs are sent to our Asterisk PBX<br>> if ((uri =~ "^sip:[0-9]{3}@.*") || (uri =~ "^sip:[0-9]{4}@.*")) {
<br>> rewritehost("<a href="http://pbx.valid.host.com:5060/" target="_blank">pbx.valid.host.com:5060</a>");<br>> use_media_proxy();<br>> route(1);<br>> return;
<br>> };<br>><br>> # Any URI that begins with 1 plus 10 digits authenticate and pass on<br>> # to our SIP Provider<br>> if (uri =~ .^sip:1[0-9]{10}@.*.) {<br>> # Authenticate these calls
<br>> if (!proxy_authorize(.",.subscriber.)) {<br>> proxy_challenge(.",.0.);<br>> return;<br>> } else if (!check_from()) {
<br>> sl_send_reply(.403., .Use From ID.);<br>> return;<br>> };<br>> consume_credentials();<br>> rewritehostport(.proxy-
<a href="http://1.nufone.net:5060/" target="_blank">1.nufone.net:5060</a>.);<br>> route(1);<br>> return;<br>> };<br>><br>> if (!lookup(.location.)) {<br>> sl_send_reply(.404., .User Not Found, Sorry.);
<br>> return;<br>> };<br>><br>> # If NAT is previously detected, proxy<br>> if (isflagset(6) || isflagset(7)) {<br>> use_media_proxy();<br>> };
<br>><br>> route(1);<br>> }<br>><br>> # CANCEL and BYE Message Handling<br>> # ----------------------------------<br>> route[4] {<br>> if (client_nat_test("3")) {<br>> setflag(7);
<br>> force_rport();<br>> fix_nated_contact();<br>> };<br>> end_media_session();<br>> route(1);<br>><br>> }<br>><br>><br>> onreply_route[1] {
<br>> if ((isflagset(6) || isflagset(7)) &&<br>> (status=~"(180)|(183)|2[0-9][0-9]")) {<br>> if (!search("^Content-Length:\ +0")) {<br>> use_media_proxy();
<br>> };<br>> };<br>> if (client_nat_test("1")) {<br>> fix_nated_contact();<br>> };<br>> }<br>><br>><br>> y los mensajes de error son:
<br>><br>> 0(16987) set_mod_param_regex: parameter <nat_flag> not found in<br>> module <registrar><br>> 0(16987) parse error (107,19-20): Can't set module parameter<br>> 0(16987) set_mod_param_regex: parameter <use_domain> not found in
<br>> module <registrar><br>> 0(16987) parse error (108,19-20): Can't set module parameter<br>> 0(16987) parse error (259,6-7): syntax error<br>> 0(16987) parse error (259,6-7): missing '(' or ')' ?
<br>> 0(16987) parse error (259,6-7): bad command: missing ';'?<br>> 0(16987) parse error (259,7-8): bad command!)<br>> 0(16987) parse error (259,8-9): bad command!)<br>> 0(16987) parse error (259,10-11): bad command!)
<br>> 0(16987) parse error (319,20-21): syntax error<br>> 0(16987) parse error (319,20-21): string or MYSELF expected<br>> 0(16987) parse error (319,20-21): bad command!)<br>> 0(16987) parse error (319,21-22): bad command!)
<br>> 0(16987) parse error (319,25-26): bad command!)<br>> 0(16987) parse error (319,25-26): bad command!)<br>> 0(16987) parse error (319,26-27): bad command!)<br>> 0(16987) parse error (319,27-28): bad command!)
<br>> 0(16987) parse error (319,28-29): bad command!)<br>> 0(16987) parse error (319,29-30): bad command!)<br>> 0(16987) parse error (319,30-31): bad command!)<br>> 0(16987) parse error (319,31-32): bad command!)
<br>> 0(16987) parse error (319,32-33): bad command!)<br>> 0(16987) parse error (319,33-35): bad command!)<br>> 0(16987) parse error (319,36-37):<br>> ERROR: bad config file (23 errors)<br>> 0(16987) INFO:mi_fifo:mi_destroy:memory for the child's mi_fifo_pid
<br>> was not allocated -> nothing to destroy<br>><br>> ayuda por favor<br>><br>> 2008/1/16, Iñaki Baz Castillo <<a href="mailto:ibc@aliax.net">ibc@aliax.net</a>>:<br>> > El Miércoles, 16 de Enero de 2008, Ronmel Jiron escribió:
<br>> > > Hola, soy nuenvo en Openser. he instalado OpenSER siguiendo los pasos<br>> > > encontrados en la web. He modificado el archivo openser.cfg de<br>> > > diferentes maneras, lo hice con el generador de sipwise. De ninguna
<br>> > > manera me ha funcionado, o sea que cuando hago:<br>> > > # openser start<br>> > ><br>> > > El resultado es:<br>> > ><br>> > > INFO:mi_fifo:mi_destroy:memory for the child's mi_fifo_pid was not
<br>> > > allocated -> nothing to destroy.<br>> > ><br>> > > No se que esta pasando, ayuda por favor<br>> ><br>> > Es un "INFO", ni siquiera un "WARGING" y mucho menos un "ERROR". Ignóralo.
<br>> > ¿Está funcionando OpenSer?<br>> ><br>> > ~# pidof openser<br>> ><br>> > ~# nmap -sU <a href="http://127.0.0.1/" target="_blank">127.0.0.1</a> -p 5060<br>> ><br>> > --<br>> > Iñaki Baz Castillo
<br>> ><br>> > _______________________________________________<br>> > Users-es mailing list<br>> > <a href="mailto:Users-es@lists.openser.org">Users-es@lists.openser.org</a><br>> > <a href="http://lists.openser.org/cgi-bin/mailman/listinfo/users-es" target="_blank">
http://lists.openser.org/cgi-bin/mailman/listinfo/users-es</a><br>> ><br>><br>><br><br><br><br>_______________________________________________<br>Users-es mailing list<br><a href="mailto:Users-es@lists.openser.org">
Users-es@lists.openser.org</a><br><a href="http://lists.openser.org/cgi-bin/mailman/listinfo/users-es" target="_blank">http://lists.openser.org/cgi-bin/mailman/listinfo/users-es</a><br></div></div></blockquote></div><br>