Understood. Thanks for sharing your final solution, added the list as well that others can benefit from it.
Cheers,
Henning
From: mohsen khashei <mkhashei(a)gmail.com>
Sent: Donnerstag, 11. Mai 2023 12:37
To: Henning Westerholt <hw(a)gilawa.com>
Subject: Re: [SR-Users] Re: where add contact header to ack for fail messages
I need it for an application server after kamailio. Finally I add contact to the message by ac_extra_hdrs of tm module with a p header.
On Thu, May 11, 2023, 15:01 Henning Westerholt <hw(a)gilawa.com<mailto:hw@gilawa.com>> wrote:
Hello,
why you actually need to add the Contact header to the ACK? According to the RFC 3261 is should be an optional header to that message.
Cheers,
Henning
-----Original Message-----
From: James Browne <james(a)frideo.com<mailto:james@frideo.com>>
Sent: Mittwoch, 10. Mai 2023 14:08
To: Kamailio (SER) - Users Mailing List <sr-users(a)lists.kamailio.org<mailto:sr-users@lists.kamailio.org>>
Subject: [SR-Users] Re: where add contact header to ack for fail messages
I made simple tests and it seems that this is a kamailio-TM-internal message being sent, not being processed by the cfg file.
If this is simple enough and deterministic, you may consider using the corex module to edit the message as it's being sent "on the wire". I can't think of any other solution.
https://kamailio.org/docs/modules/5.6.x/modules/corex.html#corex.evr.networ…
You may be able to write some code that manipulates the message to manually add the Contact header. Maybe even the append_hf function may work here, but it seems unlikely.
James
On Mon, 8 May 2023 at 12:28, mohsen khashei <mkhashei(a)gmail.com<mailto:mkhashei@gmail.com>> wrote:
>
> thanks for the reply I tried it and it didn't work. also I tried onsend_route with no luck.
>
> On Sun, May 7, 2023 at 7:00 PM Yuriy G <ovoshlook(a)gmail.com<mailto:ovoshlook@gmail.com>> wrote:
>>
>> Try here
>> https://www.kamailio.org/docs/modules/5.6.x/modules/tm.html#tm.e.loca
>> l-request
>>
>> However I would doubt first do I do something right by adding contact to ACK message wichbasicaly confirmation of the final transaction and contact here is meaningless.
>>
>> On Sun, 7 May 2023, 16:48 mohsen khashei, <mkhashei(a)gmail.com<mailto:mkhashei@gmail.com>> wrote:
>>>
>>> Hi I want to know where kamailio sends ack messages to faiurel messages (status >=400) so that I I add Contact header to the ack.
>>> I tried WITHINDLG with no luck.
>>> thanks
>>> __________________________________________________________
>>> Kamailio - Users Mailing List - Non Commercial Discussions To
>>> unsubscribe send an email to sr-users-leave(a)lists.kamailio.org<mailto:sr-users-leave@lists.kamailio.org>
>>> Important: keep the mailing list in the recipients, do not reply only to the sender!
>>> Edit mailing list options or unsubscribe:
>>
>> __________________________________________________________
>> Kamailio - Users Mailing List - Non Commercial Discussions To
>> unsubscribe send an email to sr-users-leave(a)lists.kamailio.org<mailto:sr-users-leave@lists.kamailio.org>
>> Important: keep the mailing list in the recipients, do not reply only to the sender!
>> Edit mailing list options or unsubscribe:
>
> __________________________________________________________
> Kamailio - Users Mailing List - Non Commercial Discussions To
> unsubscribe send an email to sr-users-leave(a)lists.kamailio.org<mailto:sr-users-leave@lists.kamailio.org>
> Important: keep the mailing list in the recipients, do not reply only to the sender!
> Edit mailing list options or unsubscribe:
__________________________________________________________
Kamailio - Users Mailing List - Non Commercial Discussions To unsubscribe send an email to sr-users-leave(a)lists.kamailio.org<mailto:sr-users-leave@lists.kamailio.org>
Important: keep the mailing list in the recipients, do not reply only to the sender!
Edit mailing list options or unsubscribe:
Hello experts
I have a setup where webrtc client registrations (from behind a NAT / VPN)
are on kamailio and the INVITE to begin a call is sent by freeswitch to
kamailio which is then expected to relay it to the subscribed webrtc client.
i understand, from documentation and general thinking, that kamailio cannot
open a new connection to such a client and should reuse an open connection
(a websocket in my case).
i have setup kamailio as generic as it may sound and expect t_relay() to do
the magic of forwarding the invite, however, from logs i don't see anything
indicating kamailio is using any existing connection and hence my
outgoing invite requests are stuck showing pointed towards a vpn gateway
which was the registered "location" of client (which is the public ip of
VPN gateway)
please advise what relevant information can i produce here to make the
query more readable and clear.
headed here after trying just about all the resources available on the
topic.
e.g. if my location record looks like
AoR: 1004(a)mydomain.com
Contacts:
- Contact:
Address: sip:1004@11.22.33.44:49179
CFlags: 64
CSeq: 3087
Call-ID: 189jss21e24ntve1ggsuli
Expires: 593
Flags: 0
Instance: <urn:uuid:8a936bbc-514f-4755-bed0-edc644dd4453>
KA-Roundtrip: 0
Keepalive: 1
Last-Keepalive: 1683652755
Last-Modified: 1683652755
Methods: 7071
Path: <sip:10.10.6.196:3040;received=sip:mydomain.com
;lr;nat=yes>
Q: -1
Received: sip:11.22.33.44:49179;transport=ws
Reg-Id: 1
Ruid: uloc-645601c4-131220-3764
Server-Id: 0
Socket: tls:1.2.3.4:4443
State: CS_SYNC
Tcpconn-Id: 3916
User-Agent: JsSIP 3.9.0
i try to lookup the location and find the address, and then route to that
address by setting $ru
in sngrep it does show that kamailio is trying to send INVITE to
11.22.33.44:port (which is the VPN gateway) but it isn't exactly clear from
logs if this is being done over an existing connection.
how does kamailio identify if a connection exists for a user (for each
contact in AOR, if multiple contacts exist for a user -- i.e. different
browser sessions?)
if(reg_fetch_contacts("location", "$ru", "caller")) {
$var(i) = 0;
while($var(i) < $(ulc(caller=>count)))
{
$ru = $(ulc(caller=>addr)[$var(i)]);
$var(i) = $var(i) + 1;
setflag(FLT_DLGINFO);
dlg_manage();
t_relay();
}
}
--
Shwetank
Hi List,
we are running several stateless SIP Loadbalancers using Kamaillio 5.1 and 5.6.
Now we would like to perform an async_http request if an INVITE matches certain criteria. The request itself is performed very similar to how it's described here [1]
This uses the transaction module in order to assure that the response can be mapped to the original request. However, this also means that the processing of the entire request becomes stateful which we would like to avoid.
We tried to use t_release() in the callback route (in [1] this route is called "RELAY_API_RESPONSE"). However, documentation says that this is only allowed in the REQUEST_ROUTE.
Is there an easy way to circumnavigate this issue?
Cheers
[1]: https://wazo-platform.org/blog/kamailio-routing-with-rtjson-and-http-async-…
--
Julius Flohr - Voice Engineer - flohr(a)sipgate.de
Telefon: +49 (0)211-63 55 55-0
Mobil: +49 (0)1579-000-0205
Telefax: +49 (0)211-63 55 55-22
sipgate GmbH - Gladbacher Str. 74 - 40219 Düsseldorf
HRB Düsseldorf 39841 - Geschäftsführer: Thilo Salmon, Tim Mois
Steuernummer: 106/5724/7147, Umsatzsteuer-ID: DE219349391
www.sipgate.de - www.sipgate.co.uk
Hi team
I upgraded our lab to 5.6.4 from the official repository for ubuntu
Jammy.
Now I get crashes related to TLS:
May 5 14:58:40 dev-cpereg01 kamailio[36147]: CRITICAL: <core> [core/mem/q_malloc.c:519]: qm_free(): BUG: freeing already freed pointer (0x7f4fedbed4e8), called from tls: tls_init.c: ser_free(323), first free tls: tls_init.c: ser_f
ree(323) - ignoring
May 5 14:58:40 dev-cpereg01 kamailio[36147]: CRITICAL: <core> [core/mem/q_malloc.c:519]: qm_free(): BUG: freeing already freed pointer (0x7f4fedd72b88), called from tls: tls_init.c: ser_free(323), first free tls: tls_init.c: ser_f
ree(323) - ignoring
May 5 14:58:40 dev-cpereg01 kamailio[36177]: CRITICAL: <core> [core/mem/q_malloc.c:519]: qm_free(): BUG: freeing already freed pointer (0x7f4fedd9e4a0), called from tls: tls_init.c: ser_free(323), first free tls: tls_init.c: ser_f
ree(323) - ignoring
May 5 14:58:40 dev-cpereg01 kamailio[36157]: CRITICAL: <core> [core/mem/q_malloc.c:519]: qm_free(): BUG: freeing already freed pointer (0x7f4fedd9e428), called from tls: tls_init.c: ser_free(323), first free tls: tls_init.c: ser_f
ree(323) - ignoring
And a bit later on:
May 5 14:58:46 dev-cpereg01 kamailio[36179]: CRITICAL: <core> [core/pass_fd.c:277]: receive_fd(): EOF on 34
May 5 14:58:46 dev-cpereg01 kamailio[36143]: ALERT: <core> [main.c:774]: handle_sigs(): child process 36161 exited by a signal 11
May 5 14:58:46 dev-cpereg01 kamailio[36143]: ALERT: <core> [main.c:777]: handle_sigs(): core was generated
May 5 14:58:46 dev-cpereg01 kamailio[36143]: INFO: <core> [main.c:799]: handle_sigs(): terminating due to SIGCHLD
Has there been a fundamental change in TLS? Or did I miss something
important to do on a 5.5 => 5.6 upgrade?
--
Mit freundlichen Grüssen
-Benoît Panizzon- @ HomeOffice und normal erreichbar
--
I m p r o W a r e A G - Leiter Commerce Kunden
______________________________________________________
Zurlindenstrasse 29 Tel +41 61 826 93 00
CH-4133 Pratteln Fax +41 61 826 93 01
Schweiz Web http://www.imp.ch
______________________________________________________
Hello,
We are using a product which already uses the "app_perl" module and sets
the "filename" parameter to its own Perl library.
However, we want to add more Perl code without having to modify that
product's library. Does anyone know of a way to do this? To have Kamailio
use Perl code from two different places?
I guess in the worst case scenario we could use "app_python3", and have
some Python code call subprocess.run() on the Perl code.
Thanks very much,
--
David Cunningham, Voisonics Limited
http://voisonics.com/
USA: +1 213 221 1092
New Zealand: +64 (0)28 2558 3782
Hello,
the branch 5.7 was created, therefore the master branch is open for
adding new features, to be part of future release series v5.8.x (or
whatever version is decided for next series).
Any bug fix committed to master that applies to 5.7.x or older stable
branches should be backported as usual with "git cherry-pick -x ..." to
appropriate branches like 5.7 or 5.6.
Expect that v5.7.0 will be released in a few weeks from now.
Based on the workflow used during the past years, the next future
release v5.8.0 should be out after another 8-10 months of development,
plus 1-2 months of testing, so sometime during the first part of 2024.
Cheers,
Daniel
--
Daniel-Constantin Mierla -- www.asipto.comwww.twitter.com/miconda -- www.linkedin.com/in/miconda
Kamailio World Conference - June 5-7, 2023 - www.kamailioworld.com
Hello,
the branch 5.7 has been created, to be used for releasing v5.7.x series.
To check out this branch, the following commands can be used:
git clone https://github.com/kamailio/kamailio kamailio-5.7
cd kamailio-5.7
git checkout -b 5.7 origin/5.7
Pushing commits in this branch:
git push origin 5.7:5.7
Note that 5.7 is an official stable branch, so only bug fixes, missing
kemi exports (discuss on sr-dev if not sure) or improvements to
documentation or helper tools can be pushed to this branch.
As usual, if there is a bug fixed, commit and push first to master
branch and then cherry pick to 5.7 branch:
git cherry-pick -x COMMITID
In few weeks, the first release from branch 5.7 will be out,
respectively Kamailio v5.7.0.
Cheers,
Daniel
--
Daniel-Constantin Mierla -- www.asipto.comwww.twitter.com/miconda -- www.linkedin.com/in/miconda
Kamailio World Conference - June 5-7, 2023 - www.kamailioworld.com
Hello
Is there a possibility to send a reply from within a branch route?
Experimental case (yes, I know it's a non working set-up, but I just
wonder if that would be possible).
Two registrar nodes, location information shared between the two.
CPE registers via TLS, therefore the existing connection shall be used
towards the CPE and that only exists on one of the registrars.
So in the Branch Route I would like to do something like:
$var(socket) = $(ulc(aor=>socket)[$T_branch_idx]);
if ($var(socket) == 0) {
send_reply("503","no local socket");
}
This would cause the core routing instance to select the next registrar
from the dispatcher list which hopefully holds the active socket.
But none of the 'send_reply' variants seem to be allowed within a
branch route.
Or is there a better solution?
Mit freundlichen Grüssen
-Benoît Panizzon-
--
I m p r o W a r e A G - Leiter Commerce Kunden
______________________________________________________
Zurlindenstrasse 29 Tel +41 61 826 93 00
CH-4133 Pratteln Fax +41 61 826 93 01
Schweiz Web http://www.imp.ch
______________________________________________________