Hello all,
first of all I would like to thank you all your help.
I've tried to implement dialog keep-alive messages but cant make
kamailio send more then just one SIP OPTION request to each end.
The OPTION request is sent after ka_interval time but no more OPTION
requests are sent during the call.
How should this be implemented?
and was is the difference and relation between ka_timer and ka_interval.
tanks
./Kristofer
Hi,
I have a question regarding LCR module and their weight variable.
If I have 4 gateways for the same prefix, and with the same priority:
Rule_id
Gw_id
Priority
weight
36
68
1
60
36
69
1
14
36
70
1
13
36
71
1
13
The weight variable acts as a percentage of utility of that gateway?
If for example I have 100 calls, the gateway with gw_id 68 will receive 60
calls , and the other 14, 13 and 13?
Regards,
Camila
*Camila Troncoso **|* Ingeniero de Desarrollo
RedVoiss *|*ctroncoso(a)redvoiss.net
Santiago - Chile *|* +56 2 2408535
www.redvoiss.net
Hi,
First of all say that I'm new to Kamailio. I've been working with asterisk
for a while now and it's time to get started with the sip router project.
My idea for a start is to reduce the load of our asterisk servers and once
we have good knowledge on how kamailio works, migrate some of our services.
I've setup a server in our lab with kamailio 3.3.0 and siremis
3.3.0, created a user (subscriber) and registered with a softphone. So far
OK.
Now I'm trying to make a call and route it through one of our asterisk
servers for testing. To do this I need LCR module (thanks Sébastien, I
wasn't subscribed to this list yet) and configure it.
After reading
http://kamailio.org/docs/modules/stable/modules/lcr.html#id2553110 I've
added in kamailio.cfg:
#!define WITH_LCR
#!ifdef WITH_LCR
loadmodule "lcr.so"
#!endif
#!ifdef WITH_LCR
# ----- lcr params -----
modparam("lcr", "db_url", DBURL)
modparam("lcr", "gw_uri_avp", "$avp(i:709)")
modparam("lcr", "ruri_user_avp", "$avp(i:500)")
modparam("lcr", "tag_avp", "$avp(lcr_tag)")
#!endif
And now I see LCR module being loaded at startup. But, I don't understand
what gw_uri_avp, ruri_user_avp or tag_avp mean. Where can I find some
doc/manual to understand what AVP means and does? (For example the
$avp(i:709), etc.)
I've added a LCR GW, LCR TARGET and LCR RULE with the following data (I
have no idea if it's completely wrong):
mysql> select * from lcr_gw;
+----+--------+---------+--------------+--------------------------+------+--------+------------+-----------+-------+--------+------+-------+---------+
| id | lcr_id | gw_name | ip_addr | hostname | port |
params | uri_scheme | transport | strip | prefix | tag | flags | defunct |
+----+--------+---------+--------------+--------------------------+------+--------+------------+-----------+-------+--------+------+-------+---------+
| 1 | 0 | TEST | XX.XXX.XXX.X | test12345678.testing.com | 5060 |
NULL | 1 | 1 | NULL | NULL | NULL | 0 | NULL |
+----+--------+---------+--------------+--------------------------+------+--------+------------+-----------+-------+--------+------+-------+---------+
1 row in set (0.00 sec)
mysql> select * from lcr_rule;
+----+--------+--------+----------+-------------+---------+---------+
| id | lcr_id | prefix | from_uri | request_uri | stopper | enabled |
+----+--------+--------+----------+-------------+---------+---------+
| 1 | 1 | .* | | | 0 | 1 |
+----+--------+--------+----------+-------------+---------+---------+
1 row in set (0.00 sec)
mysql> select * from lcr_rule_target;
+----+--------+---------+-------+----------+--------+
| id | lcr_id | rule_id | gw_id | priority | weight |
+----+--------+---------+-------+----------+--------+
| 1 | 1 | 1 | 1 | 1 | 1 |
+----+--------+---------+-------+----------+--------+
1 row in set (0.00 sec)
mysql>
Am I still missing basic stuff to be able to place a call ? (To get started
I'd like to route all calls to our Asterisk server)
I'm glad to read documentation so If all of this is already somewhere
please guide me cause I haven't found too much...
Thanks in advanced.
Regards,
Joel.
I am using the latest pull of branch 3.3, and t_branch_timeout() doesn't
work if the previous branch resulted in a reply (i.e. a negative final
reply).
That is to say, t_branch_timeout() == FALSE on a genuine timeout, as
long as the preceding branch provided a result (such as 404).
t_branch_timeout() == TRUE if this is a timeout, on the first branch.
In other words, it appears that if t_any_replied() == TRUE, then
t_branch_timeout() == FALSE, even for this branch, and even if the
branch really did time out (no response at all from destination).
That's not how the documentation says it should behave. Am I doing
something wrong? If so, how do I find out if _this particular_ branch
timed out, from the failure_route[]?
--
Alex Balashov - Principal
Evariste Systems LLC
235 E Ponce de Leon Ave
Suite 106
Decatur, GA 30030
Tel: +1-678-954-0670
Fax: +1-404-961-1892
Web: http://www.evaristesys.com/, http://www.alexbalashov.com/
Hi all,
is there any standard mechanism to create a temporary user?
i know i can create it and then delete it after some amount of time.
but, i'm looking for an established/standard way of doing this.
Ideally, the user will be automatically deleted after unregistered.
thanks
I'd be curious to know if your performance might actually be higher, owing to improved CPUs since the study was done, hyperthreading, more frames per NIC interrupt, etc.
-- Alex
--
Sent from my Samsung mobile, and thus lacking in the refinement one might expect from a proper keyboard.
Alex Balashov - Principal
Evariste Systems LLC
235 E Ponce de Leon Ave
Suite 106
Decatur, GA 30030
Tel: +1-678-954-0670
Web: http://www.evaristesys.com/Mino Haluz <mino.haluz(a)gmail.com> wrote:Thank you, setting ulimits worked! And the performance is the same as
stated in the document I mentioned! :)
One more thing, I found these errors in syslog:
Sep 13 18:38:18 perftest kamailio[5268]: ERROR: <core>
[parser/sdp/sdp.c:211]: Invalid payload location
Sep 13 18:38:18 perftest kamailio[5268]: ERROR: <core>
[parser/sdp/sdp.c:227]: Invalid payload location
Sep 13 18:38:18 perftest kamailio[5270]: ERROR: <core>
[parser/sdp/sdp.c:227]: Invalid payload location
This is possibly something related to my sipp scenario, this is the
INVITE sent from sipp
<![CDATA[
INVITE sip:800@perftest.vm SIP/2.0
Via: SIP/2.0/[transport] 10.0.2.36:[local_port];branch=[branch]
From: "700" <sip:500@10.0.2.36>;tag=[call_number]
To: <sip:800@perftest.vm>
Call-ID: [call_id]
CSeq: 1 INVITE
Contact: "700" <sip:700@10.0.2.36:[local_port]>
Max-Forwards: 70
Subject: Performance Test
Content-Type: application/sdp
Content-Length: [len]
v=0
o=user1 53655765 2353687637 IN IP[local_ip_type] 10.0.2.36
s=-
c=IN IP[local_ip_type] 10.0.2.36
t=0 0
m=audio [auto_media_port] RTP/AVP 8
a=rtpmap:8 PCMU/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-11,16
]]>
Do you see something that could cause this error ? Otherwise the call
is initiated ok, but I really dont understand what is so strange to
kamailio in this INVITE.
On Thu, Sep 13, 2012 at 6:37 PM, Peter Lemenkov <lemenkov(a)gmail.com> wrote:
> 2012/9/13 Mino Haluz <mino.haluz(a)gmail.com>:
>> You mean on the proxy side? I'm running rtpproxy as root, limits are
>> still applied ? ulimit -s unlimited should do the trick ?
>
> Yes, they usually applied even for superuser, and yes - this should
> help (if that's the issue).
>
>
> --
> With best regards, Peter Lemenkov.
>
> _______________________________________________
> SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
> sr-users(a)lists.sip-router.org
> http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
_______________________________________________
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
sr-users(a)lists.sip-router.org
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
Hello,
I am running Kamailio 3.2.3. I am storing dialogs in the database table
dialog.
loadmodule "dialog.so"
modparam("dialog", "dlg_flag", 4)
modparam("dialog", "db_mode", 1)
later I have :
if ( is_known_dlg() )
{
}
I would like a clarification on how the matching is done. Given that I
have realtime table setup, does that mean that dialogs that are in the
table will return true when I call is_known_dlg() ?
Does that mean that if the dialog is NOT in the table, is_known_dlg will
return false ?
Thanks for the clarification !
David
Hi,
I've done some tests with the UAC module to authenticate to a remote
proxy. I've based my config on this example:
http://docs.huihoo.com/opensips/tutorials/uac/ar01s06.html (example 9)
I have found that if I send a call from a asterisk via kamailio to my
remote proxy the realm the remote proxy uses is the ip-address of the
asterisk-server (aaa.bbb.ccc.ddd). Like this:
WWW-Authenticate: Digest
nonce="1353399363:8d2317487ee1521328d0e2237e444e2d",algorithm=MD5,realm="aaa.bbb.ccc.ddd",qop="auth",stale=false.
If I have a param like this, the auth works:
modparam("uac","credential","username:aaa.bbb.ccc.ddd:password")
But as I would like to use more than one remote proxy (=more than one
provider) per asterisk server this needs some more work.
Is there a way to get UAC to ignore the realm from the remote proxy and
send the auth anyway?
Alternate paths I've examined:
1. Rewrite from-domain to get the provider to use another realm:
modparam("uac","credential","username:example.com:password")
uac_replace_from("sip:$fU@example.com");
Works, but I don't think this is a very good solution.
2. Use auth_username_avp / auth_password_avp / auth_realm_avp to
feed the uac_auth()-function the right credentials.
modparam("uac","auth_username_avp","$avp(s:uac_user)")
modparam("uac","auth_password_avp","$avp(s:uac_pass)")
modparam("uac","auth_realm_avp","$avp(s:uac_realm)")
in the failure route:
$avp(s:uac_user) = "username";
$avp(s:uac_pass) = "password";
$avp(s:uac_realm) = "aaa.bbb.ccc.ddd";
This works as well, but I would like to either get the realm
the remote proxy sends and use it or make uac ignore the realm.
The realm is unimportant as we already know what proxy we are
talking to.
I've tried $hdr(WWW-Authenticate) but it evaluates to null.
Any ideas how to do this?
Thanks!
--
Johan Wilfer
I wish it were that simple... I have done some "reading" and found that Ubuntu has changed to upstart http://upstart.ubuntu.com/cookbook/. However, I could not find how I can start a non "upstart" style init script like Kamailio has before the upstart styled ones... I guess that I have to either to get the Kamailio community to create an upstart script or find some help from the Ubuntu community how to overcome the problem. Anyway, I think the Kamailio team should address it as it will become a problem for everyone using Kamailio on Ubuntu. Any help? Moacir From: 4lists(a)gmail.com
To: sr-users(a)lists.sip-router.org
Date: Mon, 12 Nov 2012 14:42:31 -0200
Subject: Re: [SR-Users] Returning problem
This is more a system initialization problem, so, take a look in your
/etc/rc<run-level>.d directory (or the correspondent one), specially in
the S* files and find out the start sequence. There You'll find the answer.
Edson.
Em 09/11/2012 17:03, Moacir Ferreira escreveu:
> My kamailio start script has the following BEGIN INIT INFO:
>
> #
> ### BEGIN INIT INFO
> # Provides: kamailio
> # Required-Start: $syslog $network $local_fs $time mysql
> # Required-Stop: $syslog $network $local_fs mysql
> # Default-Start: 2 3 4 5
> # Default-Stop: 0 1 6
> # Should-Start: postgresql mysql radius
> # Should-Stop: postgresql mysql radius
> # Short-Description: Start the Kamailio SIP proxy server
> # Description: Start the Kamailio SIP proxy server
> ### END INIT INFO
>
> However, when I boot my server Kamailio will start before mysql. So,
> after boot I can start Kamalio but at boot time it will fail.
>
> Any hints how to fix it? I am running Ubuntu server 12.04 LTS - 64 bits.
> All the code has been compiled at the server.
>
> Cheers!
>
> Moacir
>
>
> _______________________________________________
> SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
> sr-users(a)lists.sip-router.org
> http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
>
Hello,
I have a question about UAC and function module "uac_auth" for a REGISTER
request.
My idea is to use this when I get a 401 unauthorized response. This answer
is captured from failure_route. Then generate the header Authorized and
forward the request REGISTER to Asterisk.
I could help with some examples?.
Freddy Condori Ch
Ingeniero Investigador Telefonía IP