Hi all, I'm facing a strange behaviour from a client (iOS application based
on pjsip library) which is doing as follow when receiving a call (on phone
locked):
- accept the call rejecting video (m=video 0...) in SDP
- reinvite to negotiate again video media
Specifically the reinvite passing through kamailio (+rtpengine) has this
SDP body after rtpengine offer (the client use TLS so I can't see the
original message):
v=0
o=- 3854443139 3854443142 IN IP4 PUBLIC_RTP_ENGINE_IP
s=pjmedia
b=AS:386
t=0 0
a=X-nat:0
m=audio 46734 RTP/AVP 8 101
c=IN IP4 PUBLIC_RTP_ENGINE_IP
b=TIAS:96000
a=ssrc:1456418416 cname:441b90ac6db72f22
a=rtpmap:8 PCMA/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-16
a=sendrecv
a=rtcp:46735
m=video 0 RTP/AVP 96
c=IN IP4 PUBLIC_RTP_ENGINE_IP
b=TIAS:256000
m=video 46776 RTP/AVP 98
c=IN IP4 PUBLIC_RTP_ENGINE_IP
b=TIAS:256000
a=rtpmap:98 H264/90000
a=fmtp:98 profile-level-id=42e01e; packetization-mode=1
a=sendrecv
a=rtcp:46777
from this I can understand that the client is doing something strange,
because there is still the rejection line (I know that this question should
go to the pjsip guys) but I would also like to know if it is possible to
"clean" this sdp by kamailio.
A few clients receiving this sdp are answering with only audio.
Reading the docs, sdpops/textops modules allow modifying lines by prefix or
media, but till now I have no luck to exclude only the line "m=video 0
RTP/AVP 96" and his attributes without touching the correct video request.
Could someone please give me some hints on it?
Dear Kamailio Expert,
Could you help me switching redirect sip server to another sip server ?
As described below architecure.
I have some uac_redirect module to implement , but kamailio cannot perform
running states.
Pleas help to reditect sip server to another sip server.
Thanks & Best regards,
Hi all,
We had to connect to an SBC, which was not compliant to RFC 3261.
It was urgent, because management was waiting for first call.
Within minutes, I could implement a workaround in kamailio routing configuration:
## CV experimental 2022-02-17: fake Supported HF
if (is_present_hf("Require") && !is_present_hf("Supported")) {
append_hf("Supported: $hdr(Require)\r\n", "Require");
msg_apply_changes();
}
Thank you, kamailio!
All the best
Christoph
Hello Experts,
Please help me to change port service from default 5060 port into other
port due to security reason. Since I have change port in kamailio.cfg file,
but services cannot fly normally that shown client unable login online
(status not online).
[image: image]
<https://user-images.githubusercontent.com/76675592/154027407-24ab423b-302b-…>
Besides, I need to run the kamailio services after install default
kamailio, I have not found where procedure found in this installation
process on github.com/kamailio.
Could you please share if there another steps of compiling Kamailio source,
install, deploy process, and running command for this specific installation
process?
Thanks
Gb
Hello,
Kamailio SIP Server v5.5.4 stable release is out.
This is a maintenance release of the latest stable branch, 5.5, that
includes fixes since the release of v5.5.3. There is no change to
database schema or configuration language structure that you have to do
on previous installations of v5.5.x. Deployments running previous v5.5.x
versions are strongly recommended to be upgraded to v5.5.4.
For more details about version 5.5.4 (including links and guidelines to
download the tarball or from GIT repository), visit:
* https://www.kamailio.org/w/2022/02/kamailio-v5-5-4-released/
RPM, Debian/Ubuntu packages will be available soon as well.
Many thanks to all contributing and using Kamailio!
Cheers,
Daniel
--
Daniel-Constantin Mierla -- www.asipto.comwww.twitter.com/miconda -- www.linkedin.com/in/miconda
Hello,
I am considering to release Kamailio v5.5.4 later this week, likely on
Thursday, Feb 17, 2022. This is the usual heads up
notification to see if anyone is aware of issues not yet reported to bug
tracker and if yes, do it as soon as possible to give them a chance to
be fixed.
Cheers,
Daniel
--
Daniel-Constantin Mierla -- www.asipto.comwww.twitter.com/miconda -- www.linkedin.com/in/miconda
Kamailio Advanced Training - Online
Feb 21-24, 2022 (America Timezone)
* https://www.asipto.com/sw/kamailio-advanced-training-online/
Hello,
I want to announce the availability of sipexer v1.0.0 - a sip cli tool
that can facilitate testing and monitoring of SIP signalling systems. It
tries to have a modern approach, with a flexible templating system,
supporting both IPv4 and IPv6 with all the common transport layers,
respectively UDP, TCP, TLS and WebSocket (for WebRTC).
The project can be found at:
* https://github.com/miconda/sipexer
It is written in Go language for better portability, binaries for Linux,
MacOS and Windows are made available for download in the release page:
* https://github.com/miconda/sipexer/releases/tag/v1.0.0
Among its features:
* send OPTIONS request (quick SIP ping to check if server is alive)
* do registration and un-registration with customized expires value
and contact URI
* authentication with plain or HA1 passwords
* set custom SIP headers
* template system for building SIP requests
* fields in the templates can be set via command line parameters or a
JSON file
* variables for setting field values (e.g., random number, data,
time, environment variables, uuid, random string, …)
* simulate SIP calls at signalling layer (INVITE-wait-BYE)
* respond to requests coming during SIP calls (e.g., OPTIONS keepalives)
* send instant messages with SIP MESSAGE requests
* color output mode for easier troubleshooting
* support for many transport layers: IPv4 and IPv6, UDP, TCP, TLS and
WebSocket (for WebRTC)
* send SIP requests of any type (e.g., INFO, SUBSCRIBE, NOTIFY, …)
One usage example that could ease the testing of Kamailio is initiating
registrations or simulating calls over WebSocket without the need of
having a JavaScript soft phone application running in a web browser.
Cheers,
Daniel
--
Daniel-Constantin Mierla
http://www.asipto.com
Hello,
I'm using Kamailio as a proxy between several voice gateways and if the
call fails for whatever reason (far end is busy etc) I am forwarding to an
Asterisk box to play an announcement.
Within the failure route I am using allow_source_address_group() to ascertain
if the failure response was from a Voice Gateway or Asterisk itself,
however it appears to return the group for the first branch when the reply
is from the second branch to Asterisk.
To handle the failure I am adding some headers, and setting a new
destination indirectly with ds_select_dst before t_relay. I am using 5.5.3
on Debian 11, using KEMI / Python.
Does anyone have any ideas?
Thanks
Matthew
Hello all,
I have a kamailio ( kamailio 5.5.3 (x86_64/linux)) with asterisk (Asterisk 16.2.1~dfsg-2ubuntu1) with following architecture
┌─────────────┐ ┌─────────────┐ ┌─────────────────────┐
│ Asterisk ├───────┤ Kamailio │ 188.xxx.59.171 ───────── 103.xxx.xx.134 │ Linphone │
└─────────────┘ └─────────────┘ └─────────────────────┘
10.10.1.13 10.10.1.9
In case the diagram is not displayed correctly its pasted at https://pastebin.com/b0UtE4Lj
Registrations are handled by Kamailio and calls from linphone are routed to Asterisk. Similarly all calls originating in asterisk are routed over to Kamailio which in turn looks up AOR and routes the calls over to Linphone.
Along with Linphone I also have a WebRTC endpoint at Kamailio.
When calls are sent to WebRTC from asterisk, it gets correctly routed over to Asterisk, but if the client is Linphone the ACK of 200OK is not routed correctly to Linphone.
I get this error in the logs:
[core/forward.c:229]: get_send_socket2(): protocol/port mismatch (forced tls:188.xxx.59.171:5061, to udp:188.xxx.59.171:5060)
Digging into the difference between WebRTC and Linphone, I could see that in 1800 Ringing packet from WebRTC has a Contact headers while its missing in the packet from Linphone
This is the 180 ringing from WebRTC:
tag: rcv
pid: 695615
process: 17
time: 1644860126.209155
date: Mon Feb 14 23:05:26 2022
proto: wss ipv4
srcip: 103.xxx.xx.134
srcport: 52508
dstip: 188.xxx.59.171
dstport: 443
~~~~~~~~~~~~~~~~~~~~
SIP/2.0 180 Ringing
Via: SIP/2.0/WSS 188.xxx.59.171:443;branch=z9hG4bK730a.2cc7461b72f0c895e7cce5a0cedce4f7.0
Via: SIP/2.0/UDP 10.10.1.13:7000;received=10.10.1.13;rport=7000;branch=z9hG4bKPje4d8c7fc-3ecd-421c-b4bd-698097abb4c7
From: "Anonymous" <sip:anonymous@erx-staging-q01.mydomain.com>;tag=5589ec6e-8c68-44de-b03c-72751d9b9fa4
To: <sip:user_jbjd@10.10.1.9>;tag=611ql89jnj
Call-ID: 895f3d45-5479-4603-9d38-6429ff77b06d
CSeq: 16925 INVITE
Contact: <sip:user_jbjd@erx-staging-q01.mydomain.com;gr=urn:uuid:a8b474b8-1e18-43cb-ab17-f6bbe02c548d>
Supported: gruu, outbound
User-Agent: SIP.js/0.7.8
Record-Route: <sip:188.xxx.59.171:443;transport=ws;r2=on;lr=on;did=ad6.8121>
Record-Route: <sip:10.10.1.9;r2=on;lr=on;did=ad6.8121>
Content-Length: 0
While this is from Linphone
tag: rcv
pid: 695614
process: 16
time: 1644860097.970935
date: Mon Feb 14 23:04:57 2022
proto: tls ipv4
srcip: 103.xxx.xx.134
srcport: 25843
dstip: 188.xxx.59.171
dstport: 5061
~~~~~~~~~~~~~~~~~~~~
SIP/2.0 180 Ringing
Via: SIP/2.0/TLS 188.xxx.59.171:5061;branch=z9hG4bKb5b1.d3231367383d07b1063098dcb35cc2b0.0
Via: SIP/2.0/UDP 10.10.1.13:7000;received=10.10.1.13;rport=7000;branch=z9hG4bKPjd16f1379-1be7-448e-894a-c42d96f63146
From: "Anonymous" <sip:anonymous@erx-staging-q01.mydomain.com>;tag=cf7a7770-529d-4450-8bed-880382dce1dd
To: <sip:user_jbjp@10.10.1.9>;tag=2ooYDia
Call-ID: 8a025999-b096-4fe0-a623-9f6e6a69b8ae
CSeq: 27838 INVITE
User-Agent: Linphone Desktop/4.3.2 (Ubuntu 20.04.3 LTS, Qt 5.12.12) LinphoneCore/5.0.49
Supported: replaces, outbound, gruu
Record-route: <sip:188.xxx.59.171:5061;transport=tls;r2=on;lr=on;did=3b9.b1b2>
Record-route: <sip:10.10.1.9;r2=on;lr=on;did=3b9.b1b2>
Content-Length: 0
When the 180 ringing is passed on to the Astrerisk it has the contact header modified with alias.
tag: snd
pid: 695615
process: 17
time: 1644860126.210189
date: Mon Feb 14 23:05:26 2022
proto: udp ipv4
srcip: 10.10.1.9
srcport: 5060
dstip: 10.10.1.13
dstport: 7000
~~~~~~~~~~~~~~~~~~~~
SIP/2.0 180 Ringing
Record-Route: <sip:188.xxx.59.171:443;transport=ws;r2=on;lr=on;did=ad6.8121>
Record-Route: <sip:10.10.1.9;r2=on;lr=on;did=ad6.8121>
Via: SIP/2.0/UDP 10.10.1.13:7000;received=10.10.1.13;rport=7000;branch=z9hG4bKPje4d8c7fc-3ecd-421c-b4bd-698097abb4c7
To: <sip:user_jbjd@10.10.1.9>;tag=611ql89jnj
From: "Anonymous" <sip:anonymous@erx-staging-q01.mydomain.com>;tag=5589ec6e-8c68-44de-b03c-72751d9b9fa4
Call-ID: 895f3d45-5479-4603-9d38-6429ff77b06d
CSeq: 16925 INVITE
Contact: <sip:user_jbjd@erx-staging-q01.mydomain.com;alias=103.xxx.xx.134~52508~6;gr=urn:uuid:a8b474b8-1e18-43cb-ab17-f6bbe02c548d>
Supported: gruu, outbound
User-Agent: SIP.js/0.7.8
Content-Length: 0
Now, I am not sure if this is the reason for routing the packets to wrong destination, but this is all I could figure out. Any clue to get this resolved will be much appreciated. My Kamailio config is pasted at https://pastebin.com/qyRS0usw
with regards,
X.
Sent with ProtonMail Secure Email.