[OpenSER-Users] Missing or unsupported event header field value - presence woes

Jeremy McNamara jj at nufone.net
Tue Apr 8 20:39:15 CEST 2008


I am at Interop HotStage in Belmont, CA trying to deploy a 'unified communication' situation to demonstrate for the Interop Vegas show here in a few weeks. I am in charge of the OpenSER/Asterisk components and presence is giving me a huge headache.



> Apr 8 11:34:12 openser openser[23798]: 
> ERROR:presence:handle_subscribe: Missing or unsupported event header 
> field value Apr 8 11:34:12 openser openser[23798]: 
> ERROR:presence:handle_subscribe: ^Ievent= message-summary 




Hopefully someone out there can help me figure out what is going wrong.

I am running Openser v1.3.1 from tarball on Ubuntu Gutsy, no xcap server (haven't figured out if we really need one or not for our demo...)

I have loaded both presence and presence_xml. If you notice there is what I believe to be a 'tab' character in the event= message-summary error response. I wonder if this tab is causing the issue. 

I see the Subscribe/Publish messages coming into openser and they are getting routed to the appropriate config block and processed as I have seen documented, but every so often the "Missing or unsupported event 
header field value and ^Ievent= message-summary"  error pops up.

Between two X-Lite softclients using 'presence agent' method, we never seem to get any presence notifications, I presume due to the error above, but I am unsure.

All dependencies on both presence.so and presence_xml.so seem to be met  
(verified with ldd)

# ldd presence_xml.so
        linux-gate.so.1 =>  (0xffffe000)
        libxml2.so.2 => /usr/lib/libxml2.so.2 (0xb7e76000)
        libc.so.6 => /lib/tls/i686/cmov/libc.so.6 (0xb7d2c000)
        libdl.so.2 => /lib/tls/i686/cmov/libdl.so.2 (0xb7d27000)
        libz.so.1 => /usr/lib/libz.so.1 (0xb7d12000)
        libm.so.6 => /lib/tls/i686/cmov/libm.so.6 (0xb7ced000)
        /lib/ld-linux.so.2 (0x80000000)

(identical for presence.so)


Here are the relevant portions of my config:

loadmodule "presence.so"
modparam("presence", "db_url", "mysql://XXX:XXX@localhost/openser")
modparam("presence", "max_expires", 60)
modparam("presence", "server_address", "sip:valid.ip.address:5060")

loadmodule "presence_xml.so"
modparam("presence_xml", "db_url","mysql://XXX:XXX@localhost/openser")
modparam("presence_xml", "force_active", 1)

...

if(is_method("PUBLISH|SUBSCRIBE")) {
                route(2);
}

...

route[2] {
        xlog("L_INFO", "Dealing with $rm F:$fu T:$tu\n");
        sl_send_reply("100","trying");
        if (!t_newtran()) {
                sl_reply_error();
                exit;
        };

        append_to_reply("Contact: <sip:valid.ip.address:5060>\r\n");
        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();
            }
       }
        exit;
}




If anyone wants to help me troubleshoot and make this work, I will make sure you get credit for assisting us here at Interop.




Jeremy McNamara

>
>
>  
>




More information about the sr-users mailing list