You need to have libcurl3-dev installed and something similar for mysql (I think libmysqlclient12-dev). Vaclav On Thu, Jun 08, 2006 at 09:09:06AM +0200, Alois Schafferhofer wrote:
Thank you.
I downloaded the version "ser-0.10.99-dev35-pa-4.1", but I had problems to build the files.
With "make install include_modules="pa rls mysql", I get some Errors:
ERROR: module modules/mysql/mysql.so not compiled ERROR: module modules/pa/pa.so not compiled ERROR: module modules/presence_b2b/presence_b2b.so not compiled ERROR: module modules/rls/rls.so not compiled
make[1]: Entering directory `/root/Desktop/Presence/ser-0.10.99-dev35-pa-4.1/modules/mysql' gcc -fPIC -DPIC -g -O9 -funroll-loops -Wcast-align -Wall -minline-all-stringops -falign-loops -mcpu=i686 -DNAME='"ser"' -DVERSION='"0.10.99-dev35-pa-4.1"' -DARCH='"i386"' -DOS='"linux"' -DCOMPILER='"gcc 3.3.5"' -D__CPU_i386 -D__OS_linux -DSER_VER=10099 -DCFG_DIR='"/usr/local/etc/ser/"' -DPKG_MALLOC -DSHM_MEM -DSHM_MMAP -DDNS_IP_HACK -DUSE_IPV6 -DUSE_MCAST -DUSE_TCP -DDISABLE_NAGLE -DHAVE_RESOLV_RES -DDBG_QM_MALLOC -DFAST_LOCK -DADAPTIVE_WAIT -DADAPTIVE_WAIT_LOOPS=1024 -DCC_GCC_LIKE_ASM -DHAVE_GETHOSTBYNAME2 -DHAVE_UNION_SEMUN -DHAVE_SCHED_YIELD -DHAVE_MSG_NOSIGNAL -DHAVE_MSGHDR_MSG_CONTROL -DHAVE_ALLOCA_H -DHAVE_TIMEGM -DHAVE_EPOLL -DHAVE_SIGIO_RT -DHAVE_SELECT -I/usr/local/include -I /usr/local/include/mysql -I/usr/local/mysql/include -I/usr/include/mysql -c db_mod.c -o db_mod.o db_mod.c:40:19: mysql.h: No such file or directory db_mod.c: In function `mysql_mod_init': db_mod.c:93: warning: implicit declaration of function `mysql_get_client_info' db_mod.c:93: warning: format argument is not a pointer (arg 3) db_mod.c:93: warning: format argument is not a pointer (arg 3) db_mod.c:93: warning: format argument is not a pointer (arg 3) db_mod.c:93: warning: format argument is not a pointer (arg 3) db_mod.c:93: warning: format argument is not a pointer (arg 3) db_mod.c:93: warning: format argument is not a pointer (arg 3) db_mod.c:93: warning: format argument is not a pointer (arg 3) make[1]: *** [db_mod.o] Error 1 make[1]: Leaving directory `/root/Desktop/Presence/ser-0.10.99-dev35-pa-4.1/modules/mysql'
make[1]: Entering directory `/root/Desktop/Presence/ser-0.10.99-dev35-pa-4.1/modules/pa' gcc -shared -Wl,-O2 -Wl,-E auth.o dlist.o hslot.o location.o message.o notify.o offline_winfo.o pa_mod.o paerrno.o pdomain.o person_elements.o pres_notes.o presentity.o ptime.o publish.o qsa_interface.o reply.o rpc.o status_query.o subscribe.o tuple_notes.o watcher.o winfo_doc.o -L /usr/local/lib -L/usr/pkg/lib -L../../lib/xcap -L../../lib/presence -L../../lib/cds -l_ser_xcap -l_ser_presence -l_ser_cds -o pa.so /usr/lib/gcc-lib/i586-suse-linux/3.3.5/../../../../i586-suse-linux/bin/ld: cannot find -l_ser_xcap collect2: ld returned 1 exit status make[1]: *** [pa.so] Error 1 make[1]: Leaving directory `/root/Desktop/Presence/ser-0.10.99-dev35-pa-4.1/modules/pa'
make[1]: Entering directory `/root/Desktop/Presence/ser-0.10.99-dev35-pa- 4.1/modules/presence_b2b' gcc -fPIC -DPIC -g -O9 -funroll-loops -Wcast-align -Wall -minline-all-stringops -falign-loops -mcpu=i686 -DNAME='"ser"' -DVERSION='"0.10.99-dev35-pa-4.1"' -DARCH='"i386"' -DOS='"linux"' -DCOMPILER='"gcc 3.3.5"' -D__CPU_i386 -D__OS_linux -DSER_VER=10099 -DCFG_DIR='"/usr/local/etc/ser/"' -DPKG_MALLOC -DSHM_MEM -DSHM_MMAP -DDNS_IP_HACK -DUSE_IPV6 -DUSE_MCAST -DUSE_TCP -DDISABLE_NAGLE -DHAVE_RESOLV_RES -DDBG_QM_MALLOC -DFAST_LOCK -DADAPTIVE_WAIT -DADAPTIVE_WAIT_LOOPS=1024 -DCC_GCC_LIKE_ASM -DHAVE_GETHOSTBYNAME2 -DHAVE_UNION_SEMUN -DHAVE_SCHED_YIELD -DHAVE_MSG_NOSIGNAL -DHAVE_MSGHDR_MSG_CONTROL -DHAVE_ALLOCA_H -DHAVE_TIMEGM -DHAVE_EPOLL -DHAVE_SIGIO_RT -DHAVE_SELECT -I/usr/include/libxml2 -I /usr/local/include/libxml2 -I/usr/local/include -Wall -I../../lib -DSER -I../.. -c events_mod.c -o events_mod.o events_mod.c:7:23: curl/curl.h: No such file or directory events_mod.c: In function `events_mod_init': events_mod.c:78: warning: implicit declaration of function `curl_global_init' events_mod.c:78: error: `CURL_GLOBAL_ALL' undeclared (first use in this function) events_mod.c:78: error: (Each undeclared identifier is reported only once events_mod.c:78: error: for each function it appears in.) make[1]: *** [events_mod.o] Error 1 make[1]: Leaving directory `/root/Desktop/Presence/ser-0.10.99-dev35-pa- 4.1/modules/presence_b2b'
make[1]: Entering directory `/root/Desktop/Presence/ser-0.10.99-dev35-pa-4.1/modules/rls' gcc -fPIC -DPIC -g -O9 -funroll-loops -Wcast-align -Wall -minline-all-stringops -falign-loops -mcpu=i686 -DNAME='"ser"' -DVERSION='"0.10.99-dev35-pa-4.1"' -DARCH='"i386"' -DOS='"linux"' -DCOMPILER='"gcc 3.3.5"' -D__CPU_i386 -D__OS_linux -DSER_VER=10099 -DCFG_DIR='"/usr/local/etc/ser/"' -DPKG_MALLOC -DSHM_MEM -DSHM_MMAP -DDNS_IP_HACK -DUSE_IPV6 -DUSE_MCAST -DUSE_TCP -DDISABLE_NAGLE -DHAVE_RESOLV_RES -DDBG_QM_MALLOC -DFAST_LOCK -DADAPTIVE_WAIT -DADAPTIVE_WAIT_LOOPS=1024 -DCC_GCC_LIKE_ASM -DHAVE_GETHOSTBYNAME2 -DHAVE_UNION_SEMUN -DHAVE_SCHED_YIELD -DHAVE_MSG_NOSIGNAL -DHAVE_MSGHDR_MSG_CONTROL -DHAVE_ALLOCA_H -DHAVE_TIMEGM -DHAVE_EPOLL -DHAVE_SIGIO_RT -DHAVE_SELECT -I/usr/include/libxml2 -I /usr/local/include/libxml2 -I/usr/local/include -Wall -I../../lib -DSER -I../.. -c rls_mod.c -o rls_mod.o rls_mod.c:8:23: curl/curl.h: No such file or directory rls_mod.c: In function `rls_mod_init': rls_mod.c:176: warning: implicit declaration of function `curl_global_init' rls_mod.c:176: error: `CURL_GLOBAL_ALL' undeclared (first use in this function) rls_mod.c:176: error: (Each undeclared identifier is reported only once rls_mod.c:176: error: for each function it appears in.) make[1]: *** [rls_mod.o] Error 1 make[1]: Leaving directory `/root/Desktop/Presence/ser-0.10.99-dev35-pa-4.1/modules/rls'
I have no idea what I'm doing wrong.
Best regards, Alois
From: Vaclav Kubart vaclav.kubart@iptel.org To: Alois Schafferhofer schaffi_lui@hotmail.com CC: serusers@iptel.org Subject: Re: [Serusers] Problem with Presence Date: Thu, 8 Jun 2006 08:30:47 +0200
0.9.3 is too old version. I recommend you to use presence snapshot. Vaclav
On Wed, Jun 07, 2006 at 02:47:10PM +0200, Alois Schafferhofer wrote:
I use the PA-module of the SER version 0.9.3. Generally, I use the RPM package for Suse.
Maybe I have an error in my config-file.
# # $Id: ser.cfg,v 1.25.2.1 2005/02/18 14:30:44 andrei Exp $ # # simple quick-start config script # # ----------- global configuration parameters ------------------------ #debug=3 # debug level (cmd line: -dddddddddd) #fork=yes #log_stderror=yes # (cmd line: -E) /* Uncomment these lines to enter debugging mode fork=no log_stderror=yes */ check_via=no # (cmd. line: -v) dns=no # (cmd. line: -r) rev_dns=no # (cmd. line: -R) port=5060 children=2 alias="fh-joanneum.at" listen=10.15.200.19 fifo="/tmp/ser_fifo" fifo_db_url="mysql://ser:heslo@127.0.0.1:3306/ser" sip_warning=yes # ------------------ module loading ---------------------------------- # Uncomment this if you want to use SQL database #loadmodule "/usr/lib/ser/modules/mysql.so" loadmodule "/usr/lib/ser/modules/sl.so" loadmodule "/usr/lib/ser/modules/tm.so" loadmodule "/usr/lib/ser/modules/rr.so" loadmodule "/usr/lib/ser/modules/maxfwd.so" loadmodule "/usr/lib/ser/modules/usrloc.so" loadmodule "/usr/lib/ser/modules/registrar.so" loadmodule "/usr/lib/ser/modules/textops.so" loadmodule "/usr/lib/ser/modules/mysql.so" loadmodule "/usr/lib/ser/modules/pa.so" # Uncomment this if you want digest authentication # mysql.so must be loaded ! loadmodule "/usr/lib/ser/modules/auth.so" loadmodule "/usr/lib/ser/modules/auth_db.so" # ----------------- setting module-specific parameters --------------- # -- usrloc params -- #modparam("usrloc", "db_mode", 0) # Uncomment this if you want to use SQL database # for persistent storage and comment the previous line modparam("usrloc", "db_mode", 2) # -- auth params -- # Uncomment if you are using auth module # modparam("auth_db", "calculate_ha1", yes) # # If you set "calculate_ha1" parameter to yes (which true in this
config),
# uncomment also the following parameter) # modparam("auth_db", "password_column", "password") # -- rr params -- # add value to ;lr param to make some broken UAs happy modparam("rr", "enable_full_lr", 1) modparam("pa", "default_expires", 3600) modparam("pa", "default_priority_percentage", 50) modparam("pa", "timer_interval", 10) modparam("pa", "use_db", 1) modparam("pa", "use_place_table", 1) modparam("pa", "use_bsearch", 0) modparam("pa", "use_location_package", 1) modparam("pa", "db_url", "mysql://ser:heslo@127.0.0.1:3306/ser") modparam("pa", "pa_domain", "fh-joanneum.at") modparam("pa", "presentity_table", "presentity") modparam("pa", "presentity_contact_table", "presentity_contact") modparam("pa", "watcherinfo_table", "watcherinfo") modparam("pa", "place_table", "place") modparam("pa", "new_watcher_pending", 0) modparam("pa", "callback_update_db", 50) #modparam("pa", "callback_lock_pdomain", 1) modparam("pa", "new_tuple_on_publish", 1) modparam("pa", "pidf_priority", 1) # ------------------------- request routing logic ------------------- # main routing logic route{ # initial sanity checks -- messages with # max_forwards==0, or excessively long requests if (!mf_process_maxfwd_header("10")) { sl_send_reply("483","Too Many Hops"); break; }; if (msg:len >= 2048 ) { sl_send_reply("513", "Message too big"); break; }; # we record-route all messages -- to make sure that # subsequent messages will go through our proxy; that's # particularly good if upstream and downstream entities # use different transport protocol if (!method=="REGISTER") record_route(); # subsequent messages withing a dialog should take the # path determined by record-routing if (loose_route()) { # mark routing logic in request append_hf("P-hint: rr-enforced\r\n"); route(1); break; }; if (!uri==myself) { # mark routing logic in request append_hf("P-hint: outbound\r\n"); route(1); break; }; # if the request is for other domain use UsrLoc # (in case, it does not work, use the following command # with proper names and addresses in it) if (uri==myself) { if (method=="SUBSCRIBE") { log(1, "SUBSCRIBE received"); if (!t_newtran()) { log(1, "newtran error\n"); sl_reply_error(); }; log(1, "handle subscribe request\n"); handle_subscription("Registrar"); log(1, "handled subscription\n"); break; }; if (method=="REGISTER") { # Uncomment this if you want to use digest authentication if (!www_authorize("fh-joanneum.at", "subscriber")) { www_challenge("fh-joanneum.at", "0"); break; }; save("location"); break; }; if (method=="PUBLISH") { if (!t_newtran()) { log(1, "newtran error\n"); sl_reply_error(); # break; }; log(1, "handle publish request\n"); handle_publish("Registrar"); log(1, "handled publish\n"); break; }; lookup("aliases"); if (!uri==myself) { append_hf("P-hint: outbound alias\r\n"); route(1); break; }; # native SIP destinations are handled using our USRLOC DB if (!lookup("location")) { sl_send_reply("404", "Not Found"); break; }; }; append_hf("P-hint: usrloc applied\r\n"); route(1); } route[1] { # send it out now; use stateful forwarding as it works reliably # even for UDP2TCP if (!t_relay()) { sl_reply_error(); }; }
Regards, Alois
From: Vaclav Kubart vaclav.kubart@iptel.org To: Alois Schafferhofer schaffi_lui@hotmail.com CC: serusers@lists.iptel.org Subject: Re: [Serusers] Problem with Presence Date: Wed, 7 Jun 2006 09:51:03 +0200
Hi. What version do you use? For presence are recommended "presence snapshots" published on ftp.iptel.org.
You need to set db_mode and db_url parameters like:
modparam("pa", "use_db", 1) modparam("pa", "db_url", "mysql://ser:heslo@127.0.0.1:3306/ser")
Vaclav
On Tue, Jun 06, 2006 at 02:08:23PM +0200, Alois Schafferhofer wrote:
Hi,
If I want to send a Publish request to the SIP Express Router, it
doesn't
store the status into the "presentity"-table.
I get following lines into the log-file:
/usr/sbin/ser[10124]: handle publish request /usr/sbin/ser[10124]: get_pres_uri: _puri=sip:PDA_User at
mydomain.com
/usr/sbin/ser[10124]: handle_publish -4- p_uri= p_uri.len=23 /usr/sbin/ser[10124]: handle_publish -5- presentity=0x4069e0b8 /usr/sbin/ser[10124]: publish_presentity: no tuple for PDA_User at mydomain.com /usr/sbin/ser[10124]: handle_publish -8- paerrno=0 /usr/sbin/ser[10124]: handled publish
Best regards, Alois
Serusers mailing list Serusers@lists.iptel.org http://lists.iptel.org/mailman/listinfo/serusers