I use Opensips 1.6.2 on my server. I want to add BLF function to it but I don't know how. I have config where I route calls to asterisk. There are tutorials where I can set Opensip Presence Server as standalone, with OpenXcap as well, but there's nowhere config how to set Opensips to work on one machine as Presence Server, and also as a Proxy at same Opensips instance - in one config. How can I make it? Ok, I can set one Opensips as a proxy, and other Opensips (on another machine) as a Presence Server. But how can I connect them so that they work together?
|
Hello!
Basically merging the two separate configs together should do the trick. If you follow this[1] example, change your Proxy config as it follows: When an initial INVITE comes in, create the dialog and publish the information: if (is_method("INVITE")) { create_dialog(); # publish for both legs dialoginfo_set("AB"); } When a publish or subscribe methods come in handle them accordingly: ... if (is_method("PUBLISH|SUBSCRIBE")) { route(handle_presence); exit; } ... route[handle_presence] { if(!t_newtran()){ sl_reply_error(); exit; } if (is_method("PUBLISH")) { handle_publish(); } else if (is_method("SUBSCRIBE")) { handle_subscribe(); } exit; }[1] http://www.opensips.org/Documentation/Tutorials-Presence-PuaDialoinfoConfig PS: Please subscribe on the mailing list, otherwise you will loose further replies Răzvan Crainea OpenSIPS Solutions www.opensips-solutions.com On 01/03/2017 10:13 AM, maatohewetbi wrote:
I use Opensips 1.6.2 on my server. I want to add BLF function to it but I don't know how. I have config where I route calls to asterisk. There are tutorials where I can set Opensip Presence Server as standalone, with OpenXcap as well, but there's nowhere config how to set Opensips to work on one machine as Presence Server, and also as a Proxy at same Opensips instance - in one config. How can I make it? Ok, I can set one Opensips as a proxy, and other Opensips (on another machine) as a Presence Server. But how can I connect them so that they work together? -- View this message in context: http://opensips-open-sip-server.1449251.n2.nabble.com/Opensips-1-6-as-a-Proxy-and-Presence-Server-tp7605411.html Sent from the OpenSIPS - Users mailing list archive at Nabble.com. _______________________________________________ Users mailing list [hidden email] http://lists.opensips.org/cgi-bin/mailman/listinfo/users _______________________________________________ Users mailing list [hidden email] http://lists.opensips.org/cgi-bin/mailman/listinfo/users |
It doesn't work. If I call number B, it rings, and BLF LED is blinking, but after picking up the phone, call is without audio and LED is still blinking event I disconnect call. Then If I try to call again, call freezes like if it's routing in loop, and B side doesn't ring at all. I heve to restart Opensips. Here is my config:
................. Modules, general config .................. # ------------------------- request routing logic ------------------- route{ if (!mf_process_maxfwd_header("10")) { sl_send_reply("483","Too Many Hops"); exit; }; if (msg:len >= 2048 ) { sl_send_reply("513", "Message too big"); exit; }; if (nat_uac_test("3")) { if (is_method("REGISTER") || !is_present_hf("Record-Route")) { log("LOG:Someone trying to register from private IP, rewriting\n"); fix_nated_contact(); if ( is_method("INVITE") ) { fix_nated_sdp("1"); }; force_rport(); setbflag(6); setbflag(8); }; }; if (loose_route()) { append_hf("P-hint: rr-enforced\r\n"); if(src_ip == 'YYY.YYY.YYY.YYY'){ route(1); }else{ route(2); } exit; }; if (!is_method("REGISTER")) record_route(); if (!uri==myself) { append_hf("P-hint: outbound\r\n"); if(src_ip == 'YYY.YYY.YYY.YYY'){ route(1); }else{ route(2); } exit; }; if (uri==myself) { if (is_method("REGISTER")) { if (!www_authorize("", "subscriber")) { www_challenge("", "0"); return; }; save("location"); exit; }; lookup("aliases"); if (!uri==myself) { append_hf("P-hint: outbound alias\r\n"); if(src_ip == 'YYY.YYY.YYY.YYY'){ route(1); }else{ route(2); } exit; }; alias_db_lookup("dbaliases","d"); if (!lookup("location")) { route(2); exit; }; }; if (is_method("INVITE")) { create_dialog(); dialoginfo_set(); } if (is_method("PUBLISH|SUBSCRIBE")) { route(handle_presence); exit; } append_hf("P-hint: usrloc applied\r\n"); if(src_ip == 'YYY.YYY.YYY.YYY'){ route(1); }else{ route(2); } } route[handle_presence] { if(!t_newtran()){ sl_reply_error(); exit; } if (is_method("PUBLISH")) { handle_publish(); } else if (is_method("SUBSCRIBE")) { handle_subscribe(); } exit; } route[1] { if (uri=~"[@:](192\.168\.|10\.|172\.(1[6-9]|2[0-9]|3[0-1])\.)" && !search("^Route:")){ sl_send_reply("479", "We don't forward to private IP addresses"); exit; }; if (isbflagset(6)) { force_rtp_proxy(); }; t_on_reply("1"); if (!t_relay()) { sl_reply_error(); }; } route[2] { force_rtp_proxy(); rewritehostport ("YYY.YYY.YYY.YYY:xx"); t_relay(); } onreply_route[1] { if (isbflagset(6) && status =~ "(183)|2[0-9][0-9]") { fix_nated_contact(); force_rtp_proxy(); } else if (nat_uac_test("1")) { fix_nated_contact(); }; } |
Were your calls properly working before adding the BLF and presence
scripting ? Regards, Bogdan-Andrei Iancu OpenSIPS Founder and Developer http://www.opensips-solutions.com On 03.01.2017 15:00, maatohewetbi wrote: > It doesn't work. If I call number B, it rings, and BLF LED is blinking, but > after picking up the phone, call is without audio and LED is still blinking > event I disconnect call. Then If I try to call again, call freezes like if > it's routing in loop, and B side doesn't ring at all. I heve to restart > Opensips. Here is my config: > > ................. > Modules, general config > .................. > > > # ------------------------- request routing logic ------------------- > route{ > if (!mf_process_maxfwd_header("10")) { > sl_send_reply("483","Too Many Hops"); > exit; > }; > > if (msg:len >= 2048 ) { > sl_send_reply("513", "Message too big"); > exit; > }; > > if (nat_uac_test("3")) { > if (is_method("REGISTER") || !is_present_hf("Record-Route")) { > log("LOG:Someone trying to register from private IP, rewriting\n"); > fix_nated_contact(); > if ( is_method("INVITE") ) { > fix_nated_sdp("1"); > }; > force_rport(); > setbflag(6); > setbflag(8); > }; > }; > > if (loose_route()) { > append_hf("P-hint: rr-enforced\r\n"); > > if(src_ip == 'YYY.YYY.YYY.YYY'){ > route(1); > }else{ > route(2); > } > > exit; > }; > > if (!is_method("REGISTER")) > record_route(); > > if (!uri==myself) { > append_hf("P-hint: outbound\r\n"); > > if(src_ip == 'YYY.YYY.YYY.YYY'){ > route(1); > }else{ > route(2); > } > > exit; > }; > > if (uri==myself) { > > if (is_method("REGISTER")) { > if (!www_authorize("", "subscriber")) { > www_challenge("", "0"); > return; > }; > save("location"); > exit; > }; > > lookup("aliases"); > if (!uri==myself) { > append_hf("P-hint: outbound alias\r\n"); > > if(src_ip == 'YYY.YYY.YYY.YYY'){ > route(1); > }else{ > route(2); > } > > exit; > }; > alias_db_lookup("dbaliases","d"); > if (!lookup("location")) { > route(2); > exit; > }; > }; > > > if (is_method("INVITE")) { > create_dialog(); > dialoginfo_set(); > } > if (is_method("PUBLISH|SUBSCRIBE")) { > route(handle_presence); > exit; > } > > > > append_hf("P-hint: usrloc applied\r\n"); > if(src_ip == 'YYY.YYY.YYY.YYY'){ > route(1); > }else{ > route(2); > } > > > } > > > route[handle_presence] > { > if(!t_newtran()){ > sl_reply_error(); > exit; > } > > if (is_method("PUBLISH")) { > handle_publish(); > } else > > if (is_method("SUBSCRIBE")) { > handle_subscribe(); > } > > exit; > } > > > > route[1] > { > if (uri=~"[@:](192\.168\.|10\.|172\.(1[6-9]|2[0-9]|3[0-1])\.)" && > !search("^Route:")){ > sl_send_reply("479", "We don't forward to private IP addresses"); > exit; > }; > > if (isbflagset(6)) { > force_rtp_proxy(); > }; > > t_on_reply("1"); > > if (!t_relay()) { > sl_reply_error(); > }; > } > > route[2] { > force_rtp_proxy(); > rewritehostport ("YYY.YYY.YYY.YYY:xx"); > t_relay(); > } > > onreply_route[1] { > if (isbflagset(6) && status =~ "(183)|2[0-9][0-9]") { > fix_nated_contact(); > force_rtp_proxy(); > } else if (nat_uac_test("1")) { > fix_nated_contact(); > }; > } > > > > > -- > View this message in context: http://opensips-open-sip-server.1449251.n2.nabble.com/Opensips-1-6-as-a-Proxy-and-Presence-Server-tp7605411p7605416.html > Sent from the OpenSIPS - Users mailing list archive at Nabble.com. > > _______________________________________________ > Users mailing list > [hidden email] > http://lists.opensips.org/cgi-bin/mailman/listinfo/users _______________________________________________ Users mailing list [hidden email] http://lists.opensips.org/cgi-bin/mailman/listinfo/users |
That's right. All calls were working
well before I add these lines. I noticed, that when I erase these
lines
if (is_method("PUBLISH|SUBSCRIBE")) { route(handle_presence); exit; } problem is gone, and all calls goes smoothly. Were your calls properly working before adding the BLF and presence scripting ? -- Z poważaniem Marcin Zieliński easyCALL.PL S.A. ul. Pianistów 2 02-403 Warszawa _______________________________________________ Users mailing list [hidden email] http://lists.opensips.org/cgi-bin/mailman/listinfo/users |
Have You got any clue, why this is happnning?
|
It depends on where you added that block. Also, did you also add the
handle_presence route in your script? Best regards, Răzvan Crainea OpenSIPS Solutions www.opensips-solutions.com On 01/09/2017 10:58 AM, maatohewetbi wrote: > Have You got any clue, why this is happnning? > > > > -- > View this message in context: http://opensips-open-sip-server.1449251.n2.nabble.com/Opensips-1-6-as-a-Proxy-and-Presence-Server-tp7605411p7605485.html > Sent from the OpenSIPS - Users mailing list archive at Nabble.com. > > _______________________________________________ > Users mailing list > [hidden email] > http://lists.opensips.org/cgi-bin/mailman/listinfo/users _______________________________________________ Users mailing list [hidden email] http://lists.opensips.org/cgi-bin/mailman/listinfo/users |
Yes, I added this route. You can check my config, it's in this post.
|
Hello, can anybody help? I need blf to work.
|
I checked your script and you are not handling publish/subscribe for
sequential requests. You should try to move the route(handle_presence); call for sequential requests too. Best regards, Răzvan Crainea OpenSIPS Solutions www.opensips-solutions.com On 01/17/2017 10:07 AM, maatohewetbi wrote: > Hello, can anybody help? I need blf to work. > > > > -- > View this message in context: http://opensips-open-sip-server.1449251.n2.nabble.com/Opensips-1-6-as-a-Proxy-and-Presence-Server-tp7605411p7605593.html > Sent from the OpenSIPS - Users mailing list archive at Nabble.com. > > _______________________________________________ > Users mailing list > [hidden email] > http://lists.opensips.org/cgi-bin/mailman/listinfo/users _______________________________________________ Users mailing list [hidden email] http://lists.opensips.org/cgi-bin/mailman/listinfo/users |
Where are the sequential requests? Can You point it in my script?
|
Hi,
It is a bit difficult to work with OpenSIPS without knowing at least the SIP basics. I suggest to follow there webinars: * Introduction to SIP : http://www.opensips.org/Documentation/Webinars#toc10 * Routing in SIP : http://www.opensips.org/Documentation/Webinars#toc12 A basic OpenSIPS script with Presence support is here: http://www.opensips.org/Documentation/Tutorials-Presence-SimplePresConfig Check the block in the "has_totag" - that is the part handling the sequential requests. Regards, Bogdan-Andrei Iancu OpenSIPS Founder and Developer http://www.opensips-solutions.com On 01/17/2017 10:38 AM, maatohewetbi wrote: > Where are the sequential requests? Can You point it in my script? > > > > -- > View this message in context: http://opensips-open-sip-server.1449251.n2.nabble.com/Opensips-1-6-as-a-Proxy-and-Presence-Server-tp7605411p7605598.html > Sent from the OpenSIPS - Users mailing list archive at Nabble.com. > > _______________________________________________ > Users mailing list > [hidden email] > http://lists.opensips.org/cgi-bin/mailman/listinfo/users _______________________________________________ Users mailing list [hidden email] http://lists.opensips.org/cgi-bin/mailman/listinfo/users |
You are right Bogdan, I forgot about these requests. Anyway, thanks for help - I will look at webinars.
|
I want to ask what bolded values mean:
# -- core presence params -- modparam("presence","server_address","sip:sa@10.10.10.10:5060") # -- pua and pua_dialoginfo parameters -- modparam("pua_dialoginfo", "presence_server", "sip:sa@10.10.10.10:5060") I don't really know what to write there. |
I think I found the reason BLF doesn't work. I made a test. I've erased presenity table. Then:
1. I called other user, led is blinking, and presentity table shows record with xml bodies with early state. 2. Then I pickup a call, the same record changes with confirmed state. 3. Then I end this call, the same record changes to terminated state. So first call was ok. But after it I made second call, but it turned out that presentity table wasn't erased, and previous records exist. So when I make this second call, xml body contains previous xml, and this right one! I think presentity table should be erased after a call. Do You know the reason? |
Hi Marcin: I had the same problem years ago with 1.6 version. In the first call BLF works but the second call fails. I solved it using dialog module to check the mumber of calls and not doing pua_set_publish if the mubers of calls are > 1
_________________________________________________ Carlos Oliva Departamento de Sistemas C/ Pujades, 77-79, 8a Planta 9B | 08005 Barcelona www.numintec.com | [hidden email] | T: 902 02 02 97 _________________________________________________ Talking Numintec: Dialogando con empresarios de éxito Las soluciones en la nube de Numintec - Casos de éxito _________________________________________________ Medio Ambiente: Antes de imprimir este mensaje, asegúrese de que es necesario. Nota Legal: La información contenida en la presente transmisión es confidencial y su uso únicamente está permitido a su(s) destinatario(s). Le informamos que los datos personales que facilite/ha facilitado pasarán/han pasado a formar parte de un fichero responsabilidad de NUMINTEC COMUNICACIONES S.L.. y que tiene por finalidad gestionar las relaciones. Tiene la posibilidad de ejercitar los derechos de acceso, rectificación, cancelación y oposición respecto a sus datos ante la empresa, en el e-mail [hidden email] o bien en el domicilio sito en C/ Pujades, 77-79 8ª Planta 9-B 08005 de Barcelona. 2017-01-20 8:58 GMT+01:00 maatohewetbi <[hidden email]>: I think I found the reason BLF doesn't work. I made a test. I've erased _______________________________________________ Users mailing list [hidden email] http://lists.opensips.org/cgi-bin/mailman/listinfo/users |
How did You check it? You checked calls from this sip login?
|
you can count calls from/to a sip user using dialog profiling You can read about it in opensips book ( https://books.google.es/books?id=y2wdDAAAQBAJ&pg=PA202&lpg=PA202&dq=opensips+dialog+count+calls&source=bl&ots=LFFoLxC9Gf&sig=fe_67u5d7xSNXm2gXUqbSOmTznM&hl=es&sa=X&ved=0ahUKEwiD6s3dy9DRAhXEUhQKHRoCAtUQ6AEIOzAD#v=onepage&q=opensips%20dialog%20count%20calls&f=false )
_________________________________________________ Carlos Oliva Departamento de Sistemas C/ Pujades, 77-79, 8a Planta 9B | 08005 Barcelona www.numintec.com | [hidden email] | T: 902 02 02 97 _________________________________________________ Talking Numintec: Dialogando con empresarios de éxito Las soluciones en la nube de Numintec - Casos de éxito _________________________________________________ Medio Ambiente: Antes de imprimir este mensaje, asegúrese de que es necesario. Nota Legal: La información contenida en la presente transmisión es confidencial y su uso únicamente está permitido a su(s) destinatario(s). Le informamos que los datos personales que facilite/ha facilitado pasarán/han pasado a formar parte de un fichero responsabilidad de NUMINTEC COMUNICACIONES S.L.. y que tiene por finalidad gestionar las relaciones. Tiene la posibilidad de ejercitar los derechos de acceso, rectificación, cancelación y oposición respecto a sus datos ante la empresa, en el e-mail [hidden email] o bien en el domicilio sito en C/ Pujades, 77-79 8ª Planta 9-B 08005 de Barcelona. 2017-01-20 11:15 GMT+01:00 maatohewetbi <[hidden email]>: How did You check it? You checked calls from this sip login? _______________________________________________ Users mailing list [hidden email] http://lists.opensips.org/cgi-bin/mailman/listinfo/users |
In reply to this post by maatohewetbi
Hi,
Those are SIP URIs to be used as contacts by the presence server (a SIP URI pointing back - as address- to the presence server); in a Contact URI, the username part is no relevant (as the contact is a reference to the IP location of the device), so you can put whatever you want as username. Regards, Bogdan-Andrei Iancu OpenSIPS Founder and Developer http://www.opensips-solutions.com On 01/19/2017 01:03 PM, maatohewetbi wrote: > I want to ask what bolded values mean: > > # -- core presence params -- > modparam("presence","server_address","sip:*sa*@10.10.10.10:5060") > > > # -- pua and pua_dialoginfo parameters -- > modparam("pua_dialoginfo", "presence_server", "sip:*sa*@10.10.10.10:5060") > > I don't really know what to write there. > > > > -- > View this message in context: http://opensips-open-sip-server.1449251.n2.nabble.com/Opensips-1-6-as-a-Proxy-and-Presence-Server-tp7605411p7605662.html > Sent from the OpenSIPS - Users mailing list archive at Nabble.com. > > _______________________________________________ > Users mailing list > [hidden email] > http://lists.opensips.org/cgi-bin/mailman/listinfo/users _______________________________________________ Users mailing list [hidden email] http://lists.opensips.org/cgi-bin/mailman/listinfo/users |
Free forum by Nabble | Edit this page |