Daniel-Constantin Mierla writes:
0(11244)
ERROR: <core> [sr_module.c:572]: ERROR: load_module: could not open module
</usr/lib/sip-proxy/modules/dialplan.so>: libkmi.so.1: cannot open shared object
file: No such file or directory
when the file definitely exists:
/usr/lib/sip-proxy/modules# ls -ls dialplan.so
148 -rwxr-xr-x 1 jh jh 151353 Aug 31 22:10 dialplan.so
The complain seems to be
regarding missing of libkmi, can you check that
is installed as well?
yes, it is installed in libdir:
# ls -ls /usr/lib/sip-proxy/
...
0 lrwxrwxrwx 1 root root 13 Aug 31 21:30 libkmi.so -> libkmi.so.1.0
0 lrwxrwxrwx 1 root root 13 Aug 31 21:30 libkmi.so.1 -> libkmi.so.1.0
52 -rw-r--r-- 1 root root 51673 Aug 31 21:30 libkmi.so.1.0
Do you have any possibility to test it where it
compiles? You can even
run from source tree, without a need to install, connecting to the
database server where dialplan table is located -- just to avoid hunting
ghost issues in the code.
the same problem appears also when i run proxy on the same real host
where i built the debian package.
now i was able to put some LM_INFO statements in dp_update function of
dialplan.c:
set_attr_pvar:
LM_INFO("trying to set pvar\n");
if(!attr_pvar) {
LM_INFO("attr_pvar is null\n");
return 0;
}
val.rs = *attrs;
LM_INFO("setting pvar from attrs <%.*s>\n", val.rs.len, val.rs.s);
if(attr_pvar->setf(msg, &attr_pvar->pvp, (int)EQ_T, &val)<0)
{
LM_ERR("setting attr pseudo-variable failed\n");
return -1;
}
if(attr_pvar->getf(msg, &attr_pvar->pvp, &res)<0)
{
LM_ERR("getting attr pseudo-variable failed\n");
return -1;
}
LM_INFO("got <%.*s>\n", res.rs.len, res.rs.s);
this is what i get to syslog:
Sep 1 08:38:23 siika /usr/sbin/sip-proxy[15787]: INFO: Translating <+35892345670>
based on dpid 4
Sep 1 08:38:23 siika /usr/sbin/sip-proxy[15787]: INFO: dialplan [dialplan.c:280]:
entering dp_update
Sep 1 08:38:23 siika /usr/sbin/sip-proxy[15787]: INFO: dialplan [dialplan.c:307]: trying
to set pvar
Sep 1 08:38:23 siika /usr/sbin/sip-proxy[15787]: INFO: dialplan [dialplan.c:315]: setting
pvar from attrs <fi>
Sep 1 08:38:23 siika /usr/sbin/sip-proxy[15787]: INFO: dialplan [dialplan.c:326]: got
<-630238520>
i.e. the value i get from the pv is not the one i put there.
my next guess is that this has something to do with amd64 architecture
of the host. perhaps the sizes of ints/pointers/etc are not what the
code somewhere expects?
-- juha