Hey, I have the same problem , using the same openser configuration file, only adding pua_bla "server_address" parameter on 1.3.2 bla stop working.
I installed 2 openser once with 1.3.0 and the other with openser 1.3.2, then start openser using full debug log level to see what happens with each one.
I'm using Polycom 650 hardphones
Basic console error log ------------------------------------- ERROR:pua_bla:bla_handle_notify: content length= 0 WARNING:tm:t_unref: script writer didn't release transaction http://pastebin.com/m4a1b7969 (OpenSER 1.3.2 debug logs)
Full debug log ----------------------- http://pastebin.com/m177c219a (OpenSER 1.3.0 full log) http://pastebin.com/m36f3ffca (OpenSER 1.3.2 full log)
The main difference that I saw comparing both logs are remarked in pastbin, and refer to: "DBG:pua:print_subs: pres_uri"
Please see below both configuration parameters
Openser Parameters ---------------------------------- # Presence server module - common API loadmodule "presence.so" modparam("presence", "server_address", "sip:192.168.4.10") modparam("presence", "max_expires", 3600)
# Presence server module - presence & watcher info and XCAP loadmodule "presence_xml.so" modparam("presence_xml", "force_active", 1)
# Common API for presence user agent client loadmodule "pua.so"
# BLA extension for PUA loadmodule "pua_bla.so" modparam("pua_bla", "default_domain", "192.168.4.10") modparam("pua_bla", "header_name", "Sender") modparam("pua_bla", "server_address", "sip:192.168.4.10") (Only for OpenSER 1.3.2
I'm sending configuration of affected routes (Main, Register, Presence) so you can see if there is an error.
route {
# Sanity Check Section #.....
# Loose Route Section if (loose_route()) { xlog("L_INFO", "$mi Loose Routing"); if(!has_totag()) { xlog("L_INFO", "OPENSER_NAME: $mi Initial loose-routing rejected - \ M=$rm RURI=$ru F=$fu T=$tu IP=$si ID=$ci\n"); sl_send_reply("403", "Initial Loose-Routing Rejected"); route(ACC_FORBIDDEN_ROUTE); return; } if (is_method("CANCEL") || is_method("ACK")) { xlog("L_INFO", "$mi CANCEL/ACK"); route(BASE_LOCAL_ROUTE); return; } if (is_method("SUBSCRIBE") && $rd == "OPENSER_IP") { # in-dialog subscribe requests route(PRESENCE_ROUTE); return; }
if(is_method("BYE")) { route(ACC_BYE_ROUTE); xlog("L_INFO", "(ACC) $mi Setting account_flag"); setflag(ACC_FLAG); route(BASE_LOCAL_ROUTE); return; } };
# Call Type Processing Section
if (method=="INVITE") { route(INVITE_ROUTE); return; }; if (method=="REGISTER") { route(REGISTER_ROUTE); return; }
if(is_method("PUBLISH|SUBSCRIBE")) { route(PRESENCE_ROUTE); return; } if(is_method("NOTIFY")) { if($hdr(event)=="dialog;sla") { route(PRESENCE_ROUTE); return; } } }
route[REGISTER_ROUTE] { # ----------------------------------------------------------------- # REGISTER Message Handler # ----------------------------------------------------------------- # This cool register script came from http://openser.org/docs/scripting.html
xlog("L_NOTICE", "OPENSER_NAME: $mi Register Route - \ M=$rm RURI=$ru F=$fu T=$tu IP=$si ID=$ci\n");
if ((!www_authorize("OPENSER_DOMAIN", "device")))) { xlog("L_INFO", "OPENSER_NAME: $mi Register Authentication Failed - \ M=$rm RURI=$ru F=$fu T=$tu IP=$si ID=$ci\n"); www_challenge("OPENSER_DOMAIN", "0"); sl_send_reply("401", "Unauthorized"); exit; } else xlog("L_INFO", "OPENSER_NAME: $mi Register Authentication OK -\ M=$rm RURI=$ru F=$fu T=$tu IP=$si ID=$ci\n");
if ( !(src_ip=="LOCAL_PAIR_IP" && src_port==LOCAL_PAIR_PORT) ) { if($hdr(User-Agent) =~ "PolycomSoundPointIP-SPIP_650-UA") { xlog("L_NOTICE", "$mi Polycom BLA set FLAG \ M=$rm RURI=$ru F=$fu T=$tu IP=$si ID=$ci\n"); bla_set_flag(); }
if (!save("location")) { xlog("L_NOTICE", "$mi $fu save(location) Failed\n"); sl_reply_error(); return(0); }; } consume_credentials(); return; }
route[PRESENCE_ROUTE] { # ------------------------------------------------------------------- # Presence Route # ------------------------------------------------------------------- xlog("L_INFO","$mi: Presence Route"); if (!t_newtran()){ sl_reply_error(); exit; };
if(is_method("PUBLISH")){ if($hdr(Sender)!= NULL) { handle_publish("$hdr(Sender)"); } else { handle_publish(""); } t_release(); } else if( is_method("SUBSCRIBE")) { handle_subscribe(); t_release(); } else
if(is_method("NOTIFY")) { if(bla_handle_notify()) { t_reply("200", "OK"); t_release(); } exit; }
Ok, I hope that provided information help to see if there is a problem on my configuration or a is a bug on OpenSER 1.3.2
Thanks in advance,
Cheers,
Gustavo Mistrinelli