Hi
When I Publish to RabbitMQ and the connection is down, the server just
hangs and there is no timeout. I am using KEMI with python3 and have tried
different timeout functions to circumvent the hanging but it doesn't seem
to work
1. Is there a way to tell if RabbitMQ is connected?
2. using python is there a way to timeout a KSR function?
Thanks guys!
Summary:
We have a Kamailio server as our sip proxy server, sip firewall with WebSocket and RTP engine configured on it (the Kamailio Server). But we experience one way audio, no audio, hang up after 30s, when we try making calls between internal extensions (eg extension 100 to call extension 105) and external calls (eg extension 100 to call mobile number 09056925668) as well. The call flow is as:
Webrtc client<------->Kamailio1+rtpengine<-----Asterisk---->Kamailio2<-------->Telco Provider
The asterisk communication between all three boxes is via local IP (All ports open between them). The Kamailio 1 box where we have our sip registration cache, has rtp ports and wss port open on the internet.
Asterisk 18.9.0
Kamailio 5.5.3 + RTPengine 10.4.0.0
Debian 11 bullseye
Kindly see attached below a diagram depicting the VoIP network flow and also attached are logs files for the webrtc client and server side.
Ezenwaka Kelvin Arinze
VOIP Engineer
Tel: (+234) 9056925668
DISCLAIMER:
The message and its attachments are for designated recipient(s) only and may contain privileged, proprietary and private information. If you have received it in error, kindly delete it and notify the sender immediately.
PressOne accepts no liability for any loss or damage resulting directly and indirectly from the transmission of this e-mail message.
Hello,
One of our customers has lots of extensions that register to our platform
using all the same IP. Sometimes they get caught in our pike velocity rules
but if we increase the values to accommodate this client then all the
others could abuse the system.
I was wondering if pike_check_ip(ipaddr) needs strictly an IP as
parameter or can it be a string?
I was thinking of using pike instead of by $si by something like $fU-$si
but I don't know if this would work?
I need to either handle separately different extensions from the same IP or
a way to adjust the pike config values just for one specific IP... I'm not
sure either of these is possible with pike?
My alternative is just use table and mimic the functionality myself which I
don't think is too complicated, but I'd love to know if I'm missing a
fast-path here...
Thanks!
Joel.
Hello,
maybe is a very basic question; How Kamailio can accept any kind of
register, over IP or domains.
Example, accept authenticate REGISTER from ip 1.2.3.4 or sip.domain.org
or sip1.domain.org, domains associated with ip 1.2.3.4
Thank you in advance.
Regards
--
---
I'm SoCIaL, MayBe
Hello,
it was discussed a couple of times during the past Kamailio development
meetings and several days ago the works started to convert the Kamailio
Wiki content to markdown format and host the files on Kamailio
github.com organisation.
The Dokuwiki engine has served us very well during more than a decade
and a half, but open editing had to be disabled many years ago due to
bad actors pushing inappropriate content. The contributors had to make a
dedicated account on our portal only for Wiki editing. More recently we
had add another layer of protection requiring to grant manually edit
permissions to newly created wiki accounts because bots started to work
around CAPTCHA and other security extensions, posting again
inappropriate content.
All these added to operational overhead, but also made it difficult for
new people to contribute, specially for small editing to fix typos or
add usage examples.
Thanks to Kenneth Stowe, who undertook the first big effort of
converting the Dowkuwiki files to markdown format, we are now in the
position of moving further with the plans of using github for hosting
the content of the wiki and enable easier contributions via pull
requests. The history of changes done via Dokuwiki show up now as git
commits.
The github repository for the wiki content is available at:
* https://github.com/kamailio/kamailio-wiki
It is still work in progress, therefore we ask for the help of community
to speed up the conversion, among the tasks that need to be done:
* convert relative links between wiki pages – the conversion tools
used relative paths without file extensions, like:
[Install Kamailio v4.4.x From GIT](/install/4.4.x/git)
They have to be converted to relative path with .md extension in order
to be able to browse directly :n the github.com portal — practically the
leading / has to be removed and .md added at the end, like:
[Install Kamailio v4.4.x From GIT](install/4.4.x/git.md)
* some section heading markers were not detected/converted, onee may
notice many equal signs (=) around a section name, it has to be replaced
with the appropriate markdown format based on hash signs (#). For example:
======= Install And Maintain Kamailio v4.4.x From GIT =======
Should be converted to:
# Install And Maintain Kamailio v4.4.x From GIT
* some Dokuwiki paragraphs used special formatting based on plugins,
for example the notes, warnings, … had special colors. The common
markdown format does not specify a syntax to color the text, the propose
solution is to use emoji at the start of the paragraph to signal its
special purpose. For example, the Dokuwiki content:
<color blue>//IMPORTANT: Content for older releases than 3.2.0 is
available at the **Old Wiki Site**://</color>
Has to be transformed to:
:fire:*IMPORTANT: Content for older releases than 3.2.0 is available at
the **Old Wiki Site**:*
You are welcome to propose a better syntax for this kind of transformation.
* review config examples and evaluate what improvements can be done
(e.g., in terms of formatting and syntax highlighting)
Any of these changes do not require any C programming knowledge, nor
much Kamailio config knowledge. Can be your first contribution to the
project and it will be very appreciated. It can also help you learn more
about Kamailio, because you may discover documentation that you were not
aware of.
A very important decision is how to present the wiki markdown content on
kamailio.org website. Besides being able to see it on github repository,
we want to process the markdown pages somehow and make them available in
html format on kamailio.org website for easier navigation and better
indexing (e.g., with tables of content for large pages). If you are
aware of a suitable cli or web app that can convert markdown to html and
generate table of content, let us know.
Any questions and suggestions should be addressed to
sr-users(a)lists.kamailio.org mailing list. Looking forward to your
contributions on this community effort!
Cheers,
Daniel
--
Daniel-Constantin Mierla -- www.asipto.comwww.twitter.com/miconda -- www.linkedin.com/in/miconda
Kamailio Advanced Training - Online
* https://www.asipto.com/sw/kamailio-advanced-training-online/
Hello all!
I'm trying to establish TLS connection but getting the following error. Can
anyone point me in the right direction, please?
tls_dump_verification_failure(): verification failure: unable to get local
issuer certificate
Kamailio version is 5.5.1. System runs on CentOS 7.
At the moment tls.cfg configuration file looks like this:
[server:default]
method = TLSv1+
require_certificate = no
verify_certificate = no
private_key = /var/kamailio/certificates/default/server/key.pem
certificate = /var/kamailio/certificates/default/server/cert.pem
ca_list = /var/kamailio/certificates/default/CA/cert.pem
[client:default]
method = TLSv1+
require_certificate = no
verify_certificate = no
private_key = /var/kamailio/certificates/default/server/key.pem
certificate = /var/kamailio/certificates/default/server/cert.pem
ca_list = /var/kamailio/certificates/default/CA/cert.pem
ca_list file contains root and intermediate certificates. Certificate was
issued by Sectigo. It can be successfully verified with OpenSSL tool:
# openssl verify -verbose -CAfile
/var/kamailio/certificates/default/CA/cert.pem
/var/kamailio/certificates/default/server/cert.pem
/var/kamailio/certificates/default/server/cert.pem: OK
Here is a fragment of Kamailio debug output:
May 5 06:51:03 server kamailio[3834]: 5(3844) DEBUG: <core>
[core/tcp_main.c:1993]: tcp_send(): no open tcp connection found, opening
new one
May 5 06:51:03 server kamailio[3834]: 5(3844) DEBUG: <core>
[core/ip_addr.c:577]: print_ip(): tcpconn_new: new tcp connection:
52.114.132.46
May 5 06:51:03 server kamailio[3834]: 5(3844) DEBUG: <core>
[core/tcp_main.c:1175]: tcpconn_new(): on port 5061, type 3, socket -1
May 5 06:51:03 server kamailio[3834]: 5(3844) DEBUG: <core>
[core/tcp_main.c:1498]: tcpconn_add(): hashes: 3678:784:0, 230
May 5 06:51:03 server kamailio[3834]: 5(3844) DEBUG: tls
[tls_server.c:244]: tls_complete_init(): completing tls connection
initialization
May 5 06:51:03 server kamailio[3834]: 5(3844) DEBUG: tls
[tls_server.c:207]: tls_get_connect_server_name(): xavp with outbound
server name not found
May 5 06:51:03 server kamailio[3834]: 5(3844) DEBUG: tls
[tls_server.c:180]: tls_get_connect_server_id(): xavp with outbound server
id not found
May 5 06:51:03 server kamailio[3834]: 5(3844) DEBUG: tls
[tls_server.c:187]: tls_get_connect_server_id(): outbound server id not set
May 5 06:51:03 server kamailio[3834]: 5(3844) DEBUG: tls
[tls_server.c:274]: tls_complete_init(): Using initial TLS domain
TLSc<default> (dom 0x7f1cca178720 ctx 0x7f1cca29dbd0 sn [])
May 5 06:51:03 server kamailio[3834]: 5(3844) DEBUG: tls
[tls_domain.c:1208]: tls_lookup_private_key(): Private key lookup for
SSL_CTX-0x7f1cca29dbd0: (nil)
May 5 06:51:03 server kamailio[3834]: 5(3844) DEBUG: tls
[tls_domain.c:778]: sr_ssl_ctx_info_callback(): SSL handshake started
May 5 06:51:03 server kamailio[3834]: 5(3844) DEBUG: <core>
[core/tcp_main.c:2888]: tcpconn_1st_send(): pending write on new connection
0x7f1cca41fe18 sock 11 (-1/517 bytes written) (err: 11 - Resource
temporarily unavailable)
May 5 06:51:03 server kamailio[3834]: 5(3844) DEBUG: tm [uac.c:686]:
send_prepared_request_impl(): uac: 0x7f1cca40bd50 branch: 0 to
52.114.132.46:5061
May 5 06:51:03 server kamailio[3834]: 5(3844) DEBUG: <core>
[core/onsend.c:50]: run_onsend(): required parameters are not available -
ignoring
May 5 06:51:03 server kamailio[3834]: 14(3853) DEBUG: <core>
[core/tcp_main.c:3793]: handle_ser_child(): read response= 7f1cca41fe18, 5,
fd 26 from 5 (3844)
May 5 06:51:03 server kamailio[3834]: 14(3853) DEBUG: <core>
[core/io_wait.h:375]: io_watch_add(): DBG: io_watch_add(0xae4760, 26, 2,
0x7f1cca41fe18), fd_no=20
May 5 06:51:03 server kamailio[3834]: 14(3853) DEBUG: <core>
[core/io_wait.h:782]: io_watch_chg(): DBG: io_watch_chg (0xae4760, 26, 0x1,
0xffffffff) fd_no=21 called
May 5 06:51:03 server kamailio[3834]: 14(3853) DEBUG: <core>
[core/io_wait.h:782]: io_watch_chg(): DBG: io_watch_chg (0xae4760, 24, 0x1,
0xffffffff) fd_no=21 called
May 5 06:51:03 server kamailio[3834]: 14(3853) DEBUG: <core>
[core/io_wait.h:600]: io_watch_del(): DBG: io_watch_del (0xae4760, 26, -1,
0x0) fd_no=21 called
May 5 06:51:03 server kamailio[3834]: 14(3853) DEBUG: <core>
[core/tcp_main.c:4457]: handle_tcpconn_ev(): sending to child, events 1
May 5 06:51:03 server kamailio[3834]: 14(3853) DEBUG: <core>
[core/tcp_main.c:4130]: send2child(): selected tcp worker idx:3 proc:13
pid:3852 for activity on [tls:X.X.X.X:5062], 0x7f1cca41fe18
May 5 06:51:03 server kamailio[3834]: 13(3852) DEBUG: <core>
[core/tcp_read.c:1737]: handle_io(): received n=8 con=0x7f1cca41fe18, fd=6
May 5 06:51:03 server kamailio[3834]: 13(3852) DEBUG: tls
[tls_domain.c:1208]: tls_lookup_private_key(): Private key lookup for
SSL_CTX-0x7f1cca29dbd0: (nil)
May 5 06:51:03 server kamailio[3834]: 14(3853) DEBUG: <core>
[core/io_wait.h:782]: io_watch_chg(): DBG: io_watch_chg (0xae4760, 25, 0x1,
0xffffffff) fd_no=20 called
May 5 06:51:03 server kamailio[3834]: 13(3852) DEBUG: <core>
[core/tcp_main.c:2706]: tcpconn_do_send(): sending...
May 5 06:51:03 server kamailio[3834]: 13(3852) DEBUG: <core>
[core/tcp_main.c:2739]: tcpconn_do_send(): after real write: c=
0x7f1cca41fe18 n=5103 fd=6
May 5 06:51:03 server kamailio[3834]: 13(3852) DEBUG: <core>
[core/tcp_main.c:2740]: tcpconn_do_send(): buf=
May 5 06:51:03 server kamailio[3834]: ?
May 5 06:51:03 server kamailio[3834]: 13(3852) DEBUG: <core>
[core/io_wait.h:375]: io_watch_add(): DBG: io_watch_add(0xb50560, 6, 2,
0x7f1cca41fe18), fd_no=1
May 5 06:51:04 server kamailio[3834]: 13(3852) DEBUG: tls
[tls_domain.c:1208]: tls_lookup_private_key(): Private key lookup for
SSL_CTX-0x7f1cca29dbd0: (nil)
May 5 06:51:04 server kamailio[3834]: 13(3852) DEBUG: tls
[tls_domain.c:790]: sr_ssl_ctx_info_callback(): SSL handshake done
May 5 06:51:04 server kamailio[3834]: 13(3852) DEBUG: tls
[tls_domain.c:794]: sr_ssl_ctx_info_callback(): SSL disable renegotiation
May 5 06:51:04 server kamailio[3834]: 13(3852) DEBUG: tls
[tls_server.c:542]: tls_connect(): TLS connect successful
May 5 06:51:04 server kamailio[3834]: 13(3852) DEBUG: tls
[tls_server.c:549]: tls_connect(): tls_connect: new connection to
52.114.132.46:5061 using TLSv1/SSLv3 ECDHE-RSA-AES256-GCM-SHA384 256
May 5 06:51:04 server kamailio[3834]: 13(3852) DEBUG: tls
[tls_server.c:552]: tls_connect(): tls_connect: sending socket: X.X.X.X:0
May 5 06:51:04 server kamailio[3834]: 13(3852) DEBUG: tls
[tls_server.c:418]: tls_dump_cert_info(): tls_connect: server certificate
subject:/CN=sip.pstnhub.microsoft.com
May 5 06:51:04 server kamailio[3834]: 13(3852) DEBUG: tls
[tls_server.c:422]: tls_dump_cert_info(): tls_connect: server certificate
issuer:/C=US/O=Microsoft Corporation/CN=Microsoft RSA TLS CA 01
May 5 06:51:04 server kamailio[3834]: 13(3852) DEBUG: tls
[tls_server.c:558]: tls_connect(): WARNING: tls_connect: server certificate
verification failed!!!
May 5 06:51:04 server kamailio[3834]: 13(3852) DEBUG: tls
[tls_dump_vf.c:104]: tls_dump_verification_failure(): verification failure:
unable to get local issuer certificate
May 5 06:51:04 server kamailio[3834]: 13(3852) DEBUG: <core>
[core/tcp_main.c:2706]: tcpconn_do_send(): sending...
May 5 06:51:04 server kamailio[3834]: 13(3852) DEBUG: <core>
[core/tcp_main.c:2739]: tcpconn_do_send(): after real write: c=
0x7f1cca41fe18 n=513 fd=6
May 5 06:51:04 server kamailio[3834]: 13(3852) DEBUG: <core>
[core/tcp_main.c:2740]: tcpconn_do_send(): buf=
Thank you very much!
Hello Team,
I want to understand if there is any recommendation on installing kamailio
behind AWS NLB.
I want to enable TLS at the NLB (using the certificate generated via Aws
Certificate Manager) but still use the TLS module functionalities in
kamailio (like listening on 443 port/updating the correct via header and
all). Because NLB by default doesn't understand sips/TLS, I need a way to
differentiate whether the request came on a secure line or on a plain UDP
line.
How do I configure this? Do I need to generate new certificates for
kamailio ?
Thanks in advance
Regards,
Aditya
Hello,
I am trying to play early media purely relaying on kamailio and i have
accomplished that using the below:
rtpengine_manage();
append_to_reply("Content-Type: application/sdp\r\n");
$var(body)= $(rb{re.subst,/(IP4.).*/\127.0.0.1/g});
set_reply_body($var(body), "application/sdp");
send_reply("100","Trying");
send_reply("183","Session In Progress");
play_media("totag=$ft file=/home/rawad/test.wav");
My problem is that once the RTP stream starts the call is kept open so my
question is is there a way for kamailio to detect the end of rtp stream so
that i can send BYE or can kamailio do that automatically.
Hello,
RFC 3261 gives (by way of example) an ACK that is sent directly to a remote
phone via its Contact: header address. Is this the _only_ way of doing
this, or may ACK also be passed through a SIP proxy?
I found that my Kamailio setup does not forward ACK, and I wonder why;
whether that is a common refusal, or my fault in modifying the proxy script.
I am working on an IPv4-only to IPv6-only translation proxy, and would like
to leave the DNS-related work to a more advanced SIP proxy. The translator
is supposed to be small/simple, so it can be integrated into home routers.
I would like to avoid DNS resolution (and its delays) for Contact: URIs.
Proxy script,
https://gitlab.com/arpa2/mkroot/-/blob/master/contrib/sip-trunk/etc/kamaili…
SIPproxy64 translator,
https://gitlab.com/0cpm/sipproxy64
Thanks,
-Rick