I'm getting the following error when attempting to load pv.so
kamailio: ERROR: <core> [sr_module.c:572]: ERROR: load_module: could not open module </usr/local/lib64/kamailio/modules_k/pv.so>: /usr/local/lib64/kamailio/modules_k/pv.so: undefined symbol: msg_ctx_id_set
I'm running Kamailio 3.2.x.
On Tue, Mar 27, 2012 at 3:13 PM, Uri Shacked <uri.shacked(a)gmail.com> wrote:
> Following the advice I got on the subject “remove_hf" and "append_hf" one
> after the other , twice, issue”, I tried to work with the “append_branch()”
> What I need to do is, after I received the invite from the original user,
> I use SIP methods to work with the NP server. I subst() the user part, send
> the call to the NP server, get the reply, parse it and then subst() back to
> the destination and send the call out.
> Doing it with “append_branch” seems logical.
> I do “append_branch()” before changing the user, get the reply (301),
> goes on to failure route after the branch route was called, and from there
> I have a problem.
> I need to continue my flow without the branch I added. How do I return to
> the original on?
> I read about the t_drop_replies but didn’t quit understand…..
Another one bites the dust ;).
My problem was strict vs loose routing done by loose_route function.
In order to loop through B2BUA I have defined the loopback interface's
IP as a local alias for simplicity in checking myself in routing
When doing loose_route, the route address was for some reason not
matching my server and due to strict routing the RURI was rewritten
with the weird address in the route header.
Hope my report helps someone in the future.
I read option 2 and i agree on 1 :-)
Didnt use any "branch stuff" yet :-(... it seems very logical to do so when
i send the call to the NP server.
Will hit the docs...
when you are adding the new Contact-Header in Failure-Route (after you
received the 3xx reply), you are working on the original message
again. So the old Contact is still removed and the new Contact is
added (as for the initial request).
There are two options for you:
1) Move your remove_hf/append_hf into a branch route (so the changes
are only for the current branch)
2) Use "msg_apply_changes()" before removing and adding the header
I i were you, i'd choose option 1, since for Option 2 the message and
the headers need to be parsed again.... (performance penalty).
2012/3/27 Uri Shacked <ushacked at
*>* In the scenario i am using, the flow is as followed:
*>* 1. Getting the INVITE from the user
*>* 2. Sending an INVITE with RURI changes to the NP server (sip NP server)
*>* 3. Getting a 301 reply (using the reply for the NP code)
*>* 4. Sending the call to the destination.
*>* My problem is that the NP server needs some parameters in the contact
*>* So, here is what i do :
*>* First, before sending the invite to the NP:
*>* :<sip:XXX at
*>* (The invite is sent perfectly and works great)
*>* After the NP reply i do:
*>* append_hf("Contact :$ct","Contact");
*>* Now I notice there are two contact headers. It seems that the remove_hf
*>* didn’t work this time.
*>* Any ideas?
In the scenario i am using, the flow is as followed:
1. Getting the INVITE from the user
2. Sending an INVITE with RURI changes to the NP server (sip NP server)
3. Getting a 301 reply (using the reply for the NP code)
4. Sending the call to the destination.
My problem is that the NP server needs some parameters in the contact
So, here is what i do :
First, before sending the invite to the NP:
(The invite is sent perfectly and works great)
After the NP reply i do:
Now I notice there are two contact headers. It seems that the remove_hf
didn’t work this time.
When provisioning subscriebrs to Kamailio with the kamctl tool i see the
passwords are stored in clear on the database. For my use-case I would not
like to have that passwords in clear on the db.
What can I do to avoid this problem? Should I provision the users in a
different way and not using kamctl tool or configure kamailio differently?
If there is no way to achieve this would be dangerous if I edit the kamctl
tool so it does not store any value on the password column and just store
HA and HA1B values?
> >How do you reload your htable? Is it using the exec( ) function to call
> >mi command sht_reload? Or do you have another method?
> I use the exec() to run a shell script with the relevant mi command. the
> shell script return code is used to make sure all went OK.
> On Mon, Mar 26, 2012 at 14:56, Uri Shacked <ushacked at gmail.com<http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users>>
> >* Hi,
> *>* I made these kinds of tests before. I have two tips for you to pay
> *>* attention to:
> *>* 1. Read about the [routes] on SIPp, It is tricky to satisfy
> *>* with SIPp scenarios.
> *>* 2. Make sure your DB table is well build (use less varchars and
> *>* integers).
> *>* I found out that there are many kamailio modules I can use to load
> data in
> *>* to memory and I hardly use the DB (only for ACC). I use MTREE, HTABLE,
> *>* DIALPLAN, CARRIERROUTE, DROUTING, and so to store the information I
> *>* And I get it with the simple functions of the module.
> *>* I load around 6 million numbers and other data which takes about 1.5
> Gb of
> *>* the memory.
> *>* For getting around the real-time changes that I need to deal with (In
> *>* the data changes are immediately made on your service…). I have a
> *>* every 120 sec that check is a reload is needed. If so, it reloads the
> *>* relevant data (very fast).
> *>* BR,
> *>* Uri
> *>* Hello,
> *>* On 3/20/12 12:12 PM, Stephen Dodge (Bistech) wrote:
> *>* >*
> *>* *>* Hello,
> *>* *>*
> *>* *>* I am running Kamailio 3.1.5 with a MySQL backend on CentOS. A
> *>* *>* connection to MySQL (an off box MySQL cluster) is required for
> *>* *>* call, sqlops is used to determine destinations and acc to record
> CDR *
> *>* >* information.
> *>* *>*
> *>* *>* I am planning to load test our server using SIPp to generate
> calls, I
> *>* *>* was wondering if anyone has done something similar and could
> *>* *>* advice on what we should monitor on our Kamailio Server. i.e
> *>* *>* CPU & Memory
> *>* *>*
> *>* *>* Thanks in advance for your help.
> *>* *>*
> *>* *if you do a lot of direct DB interactions, perhaps latency of the
> *>* queries will be relevant. You can use benchmark module to see how long
> *>* it takes to execute part of the config file.
> *>* I think you don't fetch lot of records from db in config, so memory
> *>* should be no problem, however you can dump private/shared memory usage
> *>* via RPC commands within sercmd cli. CPU is a good metric always and
> *>* to watch with systems tools.
> *>* Cheers,
> *>* Daniel
> *>* >*
> *>* *>* Steve.
> *>* *
I use Kamailio 3.2.2 as TLS<=>TCP gateway this is working well, but if I
create some traffic by SIPP
then Kamailio response time increase with every new call, seems to be that
Kamailio process call by call.
I made a test with 30caps then after ~200calls Kamailio need ~3s to
response an initial INVITE from the PBX.
This delay seems to be increased with each call.
SIPP UAC---TCP---PABX---TLS---Kamailio---TCP---SIPP UAS
126.96.36.199 = PABX
188.8.131.52 = SIPP UAS
184.108.40.206 = Kamailio
if ($si == "220.127.116.11") # from PABX
xlog("L_INFO","FROM PABX: $rm, $ci\n");
I got all the calls in a single TLS connection from the PBAX so increasing
of TCP childs
doesn't help. I also already tried to adjust some TCP buffers and played
With UDP / TCP it's better, is really the TLS/openssl is the bottleneck or
the way I relay
The test machine has only 512MB RAM and is a single core cpu (2,8GHZ), but
30caps isn't much?