Hi list,
I use rtpengine 7.2.1 branch with kamailio 5.2.x and 5.3.x in
different setups.
Due to some issues with my 5.2.x config I saw the "Total timed-out sessions
via TIMEOUT" grow but "Total regular terminated sessions never" goes up
from 0.
That was an indicator for an non-existing rtpengine_manage() or
rtpengine_delete() at the end of dialogs. Okay.
Now I want to observe that a bit more.
I use parallel forking to webrtc clients, that i guess will be the "more
Offers" than Answers.
Any hints on what numbers are important?
rtpengine-ctl -ip 127.0.0.1:4444 list totals
Total statistics (does not include current running sessions):
Uptime of rtpengine :27726 seconds
Total managed sessions :3435
Total rejected sessions :0
Total timed-out sessions via TIMEOUT :0
Total timed-out sessions via SILENT_TIMEOUT :0
Total timed-out sessions via FINAL_TIMEOUT :0
Total timed-out sessions via OFFER_TIMEOUT :0
Total regular terminated sessions :3435
Total forced terminated sessions :0
Total relayed packets :69127802
Total relayed packet errors :5063
Total number of streams with no relayed packets :128
Total number of 1-way streams :8
Average call duration :233.321876
Graphite interval statistics (last reported values to graphite):
Total calls duration :0.000000
Min managed sessions :0
Max managed sessions :0
Min/Max/Avg offer processing delay
:0.000000/0.000000/0.000000 sec
Min/Max/Avg answer processing delay
:0.000000/0.000000/0.000000 sec
Min/Max/Avg delete processing delay
:0.000000/0.000000/0.000000 sec
Min/Max/Avg offer requests per second :0/0/0 per sec
Min/Max/Avg answer requests per second :0/0/0 per sec
Min/Max/Avg delete requests per second :0/0/0 per sec
Control statistics:
Proxy | Offer | Answer | Delete | Ping |
List | Query | StartRec | StopRec | Errors | BlkDTMF
| UnblkDTMF
127.0.0.1 | 3896 | 3757 | 3499 | 0 |
0 | 0 | 0 | 0 | 0 | 0
| 0
Kind Regards
--
Mit freundlichen Grüßen
*Karsten Horsmann*
Hi Team ,
Hope all is fine.
My requirement : I have a customer who wants high availability for ringing
calls and calls that in process of being set up.
Can you suggest an alternate mechanism to achieve replication of transaction
state. Can you guide how it can be achieved in Kamailio or is there a
mechanism to get commercial support
to achieve the desired objective.
I am waiting your response.
Thanks
Regards
Amit Pal
Hi !
Does anyone have success Kamailio deployments via service on AWS EKS with UDP port exposing ?
apiVersion: v1
kind: Service
metadata:
name: sip-proxy
annotations:
service.beta.kubernetes.io/aws-load-balancer-type: "nlb"
spec:
selector:
app: kamailio-sip
externalTrafficPolicy: Local
type: LoadBalancer
ports:
- name: sip-up
protocol: UDP
port: 5060
As result we have this ERROR:
---- ------ ---- ---- -------
Normal EnsuringLoadBalancer 3m20s (x7 over 8m35s) service-controller Ensuring load balancer
Warning SyncLoadBalancerFailed 3m20s (x7 over 8m35s) service-controller Error syncing load balancer: failed to ensure load balancer: Only TCP LoadBalancer is supported for AWS ELB
As I know this is a BUG in AWS EKS.
Maybe there’s some workarounds ?
Kubernetes v 1.17
Thanks
Hi, considering this example :
modparam("acc_json", "acc_missed_flag", 6)
failure_route[test] {
setflag(6); // MISSED_ACC, the failure will be recorded by ACC
t_flush_flags(); // This will set the flags in the newly created transaction
t_reply("500", "Service Unavailable");
}
This does generate an ACC event, however the to-tag is not populated,
my guess this is because the TM callback is done before the to-tag is
generated.
I wonder if there is a way to populate the to-tag immediately ?
I will dig it further, but maybe there is a trick I am missing
Hi,
I am working on a project involving Kamailio dockerezation, which is meant to run alongside Freeswitch and RTPEngine containers, on the basis of a Docker-Compose file which is launched on top of a CentOS 7.7 host system.
I was able to create and run the containers successfully, they are starting and listening to the correct ports, but for some unexplained reason - the incoming SIP traffic is not getting picked up by Kamailio. I can easily trace the traffic from the host, but when SSHing the container and running a test from within, no traffic goes by.
I've used netcat to generate plain UDP traffic to the container, and it was logged into the Kamailio log files, but real-life traffic doesn't seem to work.
I've tried moving to host mode (from bridge), but it didn't make any difference. All required firewall rules were opened obviously, I've also tried shutting the firewall off completely but it didn't help.
Does anyone experienced anything similar while running Kamailio in Dockers, and could provide me a go-through on what steps did he take to fix it?
EXCERPT FROM MY DOCKERFILE
# Getting Kamailio source code from GIT
RUN mkdir -p /usr/local/src/kamailio-5.3
WORKDIR /usr/local/src/kamailio-5.3
RUN git clone --depth 1 --no-single-branch https://github.com/kamailio/kamailio
WORKDIR /usr/local/src/kamailio-5.3/kamailio
RUN git checkout -b 5.3.2
# Compile the source code and install Kamailio
RUN make include_modules="phonenum db_mysql xmlrpc http_async_client jansson auth_db nathelper websocket tls outbound topoh http_client" cfg && \
make all && make install
# Default setting is to run Kamailio as user “kamailio” and group “kamailio”
RUN adduser --quiet --system --group --disabled-password \
--shell /bin/false --gecos "Kamailio" \
--home /var/run/kamailio kamailio
# To use init.d script for starting/stopping the Kamailio server
COPY Init/kamailio /etc/init.d/
RUN chmod 755 /etc/init.d/kamailio
COPY Default/kamailio /etc/default/
COPY kamailio.service /etc/systemd/system/
RUN mkdir -p /var/run/kamailio
RUN chown kamailio:kamailio /var/run/kamailio
COMPOSE (BRIDGE NETWORK VERSION)
kamailioegress:
build: kamailio_egress
image: kamailioegress:latest
container_name: kamailioegress
restart: always
environment:
- DATABASE=kamailioe
- SIP_DOMAIN=XXX
- DBHOST=kamailiodb
- DBROOTUSER=root
- DBROOTPASS=XXX
- PUBLIC_IPV4=XXX
depends_on:
- Kamailio-Base
- kmdb
- freeswitch
- rtpengine
expose:
- "5060/udp"
- "5060/tcp"
ports:
- "XXX:5060:5060/udp"
networks:
private-net:
ipv4_address: "172.18.0.30"
deploy:
mode: replicated
replicas: 1
restart_policy:
condition: always
delay: 5s
max_attempts: 3
window: 120s
networks:
private-net:
driver: bridge
ipam:
config:
- subnet: 172.18.0.0/16
driver_opts:
com.docker.network.bridge.name: wrtcpriv
public-net:
external:
name: host
COMPOSE (HOST MODE VERSION)
kamailioegress:
build: kamailio_egress
image: kamailioegress:latest
container_name: kamailioegress
network_mode: host
restart: always
environment:
- DATABASE=kamailioe
- SIP_DOMAIN=XXX
- DBHOST=172.18.0.10
- DBROOTUSER=root
- DBROOTPASS=XXX
- PUBLIC_IPV4=XXX
- EGPORT=5060
- LINTE=ens224
- LINTI=ens192
- RTPENGINE=localhost
depends_on:
- Kamailio-Base
- kmdb
- freeswitch
- rtpengine
expose:
- "5060/udp"
ports:
- "213.8.76.13:5060:5060/udp"
deploy:
mode: replicated
replicas: 1
restart_policy:
condition: always
delay: 5s
max_attempts: 3
window: 120s
CONFIG FILE
/* uncomment and configure the following line if you want Kamailio to
* bind on a specific interface/port/proto (default bind on all available) */
listen=udp:0.0.0.0:LPORT advertise PUBLIC_IP:LPORT
KAMAILIO-LOCALE
#!define DBURL "mysql://root:XXX@DBHOST/kamailioe"
#!substdef "!MY_DBURL!mysql://root:XXX@DBHOST/kamailioe!g"
#!substdef "!RTPENGINE!MY_RTPENGINE!g"
#!substdef "!SIP_DOMAIN!MY_SIP_DOMAIN!g"
#!substdef "!PUBLIC_IP!MY_PUBLIC_IP!g"
#!substdef "!PRIVATE_IP!MY_PRIVATE_IP!g"
#!substdef "!LPORT!MY_LPORT!g"
#!substdef "!LINT!MY_LINT!g"
#!substdef "!HOMER_IP!10.1.0.100!g"
#!substdef "!API_URL!http://localhost:3000/v1/mock!g"
#!substdef "/CCODES/972|380/"
#!substdef "/NUM_TRANSLATE_OUT_RE/\\\\+?(CCODES)([0-9]+)/"
#!substdef "/NUM_TRANSLATE_IN_RE/0([0-9]+)/"
FIREWALL RULES
-bash-4.2# firewall-cmd --list-all
public (active)
target: default
icmp-block-inversion: no
interfaces: ens192 ens224
sources: 192.168.1.39
services: dhcpv6-client http https sip ssh
ports: 9323/tcp 9323/udp
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
rule family="ipv4" destination address="XXX" port port="5060" protocol="udp" accept
rule family="ipv4" destination address="XXX" port port="5060" protocol="tcp" accept
NETSTAT OUTPUT
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
udp 0 0 XXX:5060 0.0.0.0:* 22479/kamailio
Edward
Hello,
Ubuntu Precise is EOL since April 28, 2017 [0] and in order to support
newer Ubuntu releases our deb build system will no longer produce newer
packages for precise.
Repositories will still be there but don't expect any updates.
Cheers,
Victor
[0] https://wiki.ubuntu.com/Releases
Hello,
Does search_append_body require an "\r\n" in the attribute that is being added? If I don't use a "\r\n", it appears to look correct in the trace, however one provider says the attribute that was added was just a continuation of the prior attribute, which Wireshark does not show to be the case.
Thank you,
Hi all.
I use topoh module for topology hiding and this is my config for topoh:
modparam("topoh", "mask_key", "my key")
modparam("topoh", "mask_callid", 1)
modparam("topoh", "callid_prefix", "!!:")
modparam("topoh", "sanity_checks", 1)
modparam("topoh", "mask_ip", "x.x.x.x")
modparam("topoh", "uri_prefix_checks", 1)
modparam("topoh", "uparam_name", "line")
modparam("topoh", "uparam_prefix", "sr-")
modparam("topoh", "vparam_name", "branch")
modparam("topoh", "vparam_prefix", "z9hG4bKsr-")
and also i use:
modparam("dialog", "lreq_callee_headers", "TH: dlh\r\n")
for dialog module.
my calls come from asterisk and routed to the carrier(sip trunk) and vice
versa,
when i make a call from asterisk every thing works fine until the call
hanged up from the carrier. at that modemt the kamailio send an 481
call/leg transaction does not exist.
if call dropped bye the asterisk user everything works fine.
how can i solve this?
Hi,
I have deployed kamailio-ims-5.3.5 as docker containers. I had private IP
for containers.
So when i try to establish a call from the public network , The via header
is taken as container Private IP even if i use advertise address as public
IP.
So ACK is not reaching the pcscf from ue. Any idea can be provided for this
issue.
Kindly help.
Thanks,
Pavithra