Hi Kamailions,
Kamailio 4.3 will receive calls (SIP TLS) for users in this domain:
*sip.parzee.io
<http://sip.parzee.io>. *Example
sip:gonzalo@sip.parzee.io
When call is received by Kamailio I need to overwrite R-URI and transport.
I should keep a mapping per user. ( gonzalo -> gonzalo58)
Example.
sip:gonzalo58@test.external.com;transport=tls
I started looking into *dbaliases* table in LOCATION.
#!ifdef WITH_ALIASDB
# search in DB-based aliases
if(alias_db_lookup("dbaliases"))
route(SIPOUT);
#!endif
In dbaliases table I see 4 columns. Is the following configuration correct?
*alias_username*: gonzalo58
*alias_domain*: test.external.com;transport=tls
*username*: gonzalo
*domain*: sip.parzee.io
Thanks
-Gonzalo
Hi!
Having some issues with Kamailio 4.3 reporting a malformed header, but I cannot seem to figure out what's wrong.
The problem seen is:
Oct 27 13:48:56 /usr/sbin/kamailio[13765]: ERROR: <core> [parser/parse_addr_spec.c:678]: parse_addr_spec(): ERROR: parse_to : unexpected char [#015] in status 6: <<+123456789 <sip:123456789@127.0.0.1;tag=as4aa27bd0>> .
Oct 27 13:48:56 /usr/sbin/kamailio[13765]: ERROR: <core> [parser/msg_parser.c:165]: get_hdr_field(): ERROR: get_hdr_field: bad to header
Oct 27 13:48:56 /usr/sbin/kamailio[13765]: INFO: <core> [parser/msg_parser.c:338]: parse_headers(): ERROR: bad header field [To: +123456789 <si]
Oct 27 13:48:56 /usr/sbin/kamailio[13765]: ERROR: tm [t_lookup.c:1050]: t_check_msg(): ERROR: reply cannot be parsed
Oct 27 13:48:56 /usr/sbin/kamailio[13765]: ERROR: <core> [parser/parse_addr_spec.c:678]: parse_addr_spec(): ERROR: parse_to : unexpected char [#015] in status 6: <<+123456789 <sip:123456789@127.0.0.1;tag=as4aa27bd0>> .
Oct 27 13:48:56 /usr/sbin/kamailio[13765]: ERROR: <core> [parser/msg_parser.c:165]: get_hdr_field(): ERROR: get_hdr_field: bad to header
Oct 27 13:48:56 /usr/sbin/kamailio[13765]: INFO: <core> [parser/msg_parser.c:338]: parse_headers(): ERROR: bad header field [To: +123456789 <si]
Oct 27 13:48:56 /usr/sbin/kamailio[13765]: ERROR: <core> [msg_translator.c:1457]: adjust_clen(): error parsing content-length
Oct 27 13:48:56 /usr/sbin/kamailio[13765]: ERROR: <core> [msg_translator.c:2214]: generate_res_buf_from_sip_res(): error while adjusting Content-Length
Oct 27 13:48:56 /usr/sbin/kamailio[13765]: ERROR: <core> [forward.c:760]: do_forward_reply(): building failed
And the To header seen at this point is:
To: +123456789 <sip:123456789@127.0.0.1>;tag=as24ed5606.
version: kamailio 4.3.4 (x86_64/linux)
flags: STATS: Off, USE_TCP, USE_TLS, USE_SCTP, TLS_HOOKS, USE_RAW_SOCKS, DISABLE_NAGLE, USE_MCAST, DNS_IP_HACK, SHM_MEM, SHM_MMAP, PKG_MALLOC, DBG_QM_MALLOC, USE_FUTEX, FAST_LOCK-ADAPTIVE_WAIT, USE_DNS_CACHE, USE_DNS_FAILOVER, USE_NAPTR, USE_DST_BLACKLIST, HAVE_RESOLV_RES
ADAPTIVE_WAIT_LOOPS=1024, MAX_RECV_BUFFER_SIZE 262144, MAX_LISTEN 16, MAX_URI_SIZE 1024, BUF_SIZE 65535, DEFAULT PKG_SIZE 8MB
poll method support: poll, epoll_lt, epoll_et, sigio_rt, select.
id: unknown
compiled with gcc 4.7.2
I obviously understand Kamailio views this To header as malformed, but what I cannot understand is why? Is it as simple as the number +123456789 is not enclosed with ", i.e. it should be sent as "+123456789"?
A similar issue seen, which for some reason doesn't create an ERROR, is when Kamailio receives a reINVITE looking like this which it's supposed to proxy:
To: +123456789 <sip:123456789@127.0.0.1>;tag=SD1sf9001--45026-530b969-77c7543f-530b969.
which is rewritten into:
To: +123456789 <sip:123456789@127*0-)'.:/)&7'...0;user=phone>;tag=SD1sf9001--45026-530b969-77c7543f-530b969.
and sent out..
Thanks for your help,
/Tobias
How does one configure Kamailio Open IMS and FHoSS? In other words, how does one configure IMS and FHoSS so that when soft calls are made they must be processed by the FHoSS before they go through the Open IMS server?
Great regards,
Victor Olvera
I trying to use
fix_nated_sdp with 0x02 and 0x08 flags for changing ip addres and the SDP
body part
like
fix_nated_sdp(10,"1.2.3.4")
But for now it beaks SDP
At the output i see next
o=- 7300689428214760503 2 IN IP4 1.1.1.1
c=IN IP4 1.1.1.1
1.2.3.41.2.3.4 <- is just a line that added after fix_nated_sdp atthe
end of SDP body
kamailio -v
version: kamailio 4.4.3 (x86_64/linux) e91aec
flags: STATS: Off, USE_TCP, USE_TLS, USE_SCTP, TLS_HOOKS, USE_RAW_SOCKS,
DISABLE_NAGLE, USE_MCAST, DNS_IP_HACK, SHM_MEM, SHM_MMAP, PKG_MALLOC,
Q_MALLOC, F_MALLOC, TLSF_MALLOC, DBG_SR_MEMORY, USE_FUTEX,
FAST_LOCK-ADAPTIVE_WAIT, USE_DNS_CACHE, USE_DNS_FAILOVER, USE_NAPTR,
USE_DST_BLACKLIST, HAVE_RESOLV_RES
ADAPTIVE_WAIT_LOOPS=1024, MAX_RECV_BUFFER_SIZE 262144, MAX_LISTEN 16,
MAX_URI_SIZE 1024, BUF_SIZE 65535, DEFAULT PKG_SIZE 8MB
poll method support: poll, epoll_lt, epoll_et, sigio_rt, select.
id: e91aec
compiled on 07:26:14 Oct 18 2016 with gcc 4.9.2
Dear support,
on my Kamailio server (version: kamailio 4.3.6 (x86_64/linux) ) i see
lot of these messages..
Nov 2 11:24:42 vm-test media-dispatcher[25540]: error: cannot write
request to `/var/run/opensips/socket': No such file or directory
Nov 2 11:24:42 vm-test media-dispatcher[25540]: error: failed to end
dialog: Cannot send request to OpenSIPS
I have only configured Disptachet (mediaproxy) for write on db..
Any idea ?
Thanks
Laura
Hi all!
I have kamailio 4.2.3 with options
modparam ( "usrloc", "db_url", DBURL)
modparam ( "usrloc", "db_mode", 2)
But not all registred users displayed in table "location". When viewed "kamctl ul show" displays
Domain :: location table = 1024 records = 1172 max_slot = 5
But "location" table has 651 rows. Why not all users saved to mysql table?
Thank!
Hi Daniel.
After some try to configure kamailio 4.4.3 to act as SPI TLS client
for Cisco SIP TLS gateways I have found one issue.
If I do client configuration for tls
[client:10.1.23.19:5061]
verify_certificate = yes
ca_list = /etc/kamailio/CAs/ca1.pem
[client:10.1.23.29:5061]
verify_certificate = yes
ca_list = /etc/kamailio/CAs/ca2.pem
[client:default]
verify_certificate = no
require_certificate = no
Kamailo always do default profile selection (I do configuration
without server_name or server_id, with it kamailio works fine but
there are some troubles to make selection of this parameters from
config script, I need additional checks and queries)
after some research in tls module source code I have added some debug
information in file tls_server.c:
if (c->flags & F_CONN_PASSIVE) {
state=S_TLS_ACCEPTING;
dom = tls_lookup_cfg(cfg, TLS_DOMAIN_SRV,
&c->rcv.dst_ip, c->rcv.dst_port, 0, 0);
} else {
state=S_TLS_CONNECTING;
sname = tls_get_connect_server_name();
srvid = tls_get_connect_server_id();
// -------------------------------------------------------------
DBG("Entered client config loockup (c->rcv.dst_port
%d)\n", c->rcv.dst_port);
DBG("Entered client config loockup (&c->rcv.dst_ip
%s)\n", ip_addr2a(&c->rcv.dst_ip));
DBG("Entered client config loockup (c->rcv.src_port
%d)\n", c->rcv.src_port);
DBG("Entered client config loockup (&c->rcv.src_ip
%s)\n", ip_addr2a(&c->rcv.src_ip));
// -------------------------------------------------------------
dom = tls_lookup_cfg(cfg, TLS_DOMAIN_CLI,
&c->rcv.dst_ip,
c->rcv.dst_port, sname, srvid);
}
After making
Oct 26 09:23:56 sip1 /usr/sbin/kamailio[20712]: DEBUG: <core>
[parser/msg_parser.c:597]: parse_msg(): method: <INVITE>
Oct 26 09:23:56 sip1 /usr/sbin/kamailio[20712]: DEBUG: <core>
[parser/msg_parser.c:599]: parse_msg(): uri:
<sip:9098@10.1.23.19:5061;transport=TLS>
Oct 26 09:23:56 sip1 /usr/sbin/kamailio[20712]: DEBUG: <core>
[parser/msg_parser.c:601]: parse_msg(): version: <SIP/2.0>
I see
Oct 26 09:23:56 sip1 /usr/sbin/kamailio[20712]: DEBUG: <core>
[ip_addr.c:229]: print_ip(): tcpconn_new: new tcp connection:
10.1.23.19
Oct 26 09:23:56 sip1 /usr/sbin/kamailio[20712]: DEBUG: <core>
[tcp_main.c:985]: tcpconn_new(): on port 5061, type 3
Oct 26 09:23:56 sip1 /usr/sbin/kamailio[20712]: DEBUG: <core>
[tcp_main.c:1295]: tcpconn_add(): hashes: 1394:0:0, 1
Oct 26 09:23:56 sip1 /usr/sbin/kamailio[20712]: DEBUG: tls
[tls_server.c:197]: tls_complete_init(): completing tls connection
initialization
Oct 26 09:23:56 sip1 /usr/sbin/kamailio[20712]: DEBUG: tls
[tls_server.c:160]: tls_get_connect_server_name(): xavp with outbound
server name not found
Oct 26 09:23:56 sip1 /usr/sbin/kamailio[20712]: DEBUG: tls
[tls_server.c:140]: tls_get_connect_server_id(): xavp with outbound
server id not found
Oct 26 09:23:56 sip1 /usr/sbin/kamailio[20712]: DEBUG: tls
[tls_server.c:219]: tls_complete_init(): Entered client config loockup
(c->rcv.dst_port 40123)
Oct 26 09:23:56 sip1 /usr/sbin/kamailio[20712]: DEBUG: tls
[tls_server.c:220]: tls_complete_init(): Entered client config loockup
(&c->rcv.dst_ip 10.1.23.23)
Oct 26 09:23:56 sip1 /usr/sbin/kamailio[20712]: DEBUG: tls
[tls_server.c:221]: tls_complete_init(): Entered client config loockup
(c->rcv.src_port 5061)
Oct 26 09:23:56 sip1 /usr/sbin/kamailio[20712]: DEBUG: tls
[tls_server.c:222]: tls_complete_init(): Entered client config loockup
(&c->rcv.src_ip 10.1.23.19)
Where:
&c->rcv.dst_ip 10.1.23.23 - it is my local kamailio tls socket ip
address to make tls connect from
c->rcv.dst_port 40123 - it is my local kamailio tls socket port
&c->rcv.src_ip 10.1.23.19 - ip of my TLS device to make tls connection to
c->rcv.src_port 5061 - port of my TLS device to make tls connection to
so if I change line
dom = tls_lookup_cfg(cfg, TLS_DOMAIN_CLI,
&c->rcv.dst_ip,
c->rcv.dst_port, sname, srvid);
to
dom = tls_lookup_cfg(cfg, TLS_DOMAIN_CLI,
&c->rcv.src_ip,
c->rcv.src_port, sname, srvid);
I got correct client domain selection
Oct 26 09:33:56 sip1 /usr/sbin/kamailio[20712]: DEBUG: tls
[tls_server.c:233]: tls_complete_init(): Using initial TLS domain
TLSc<10.1.23.19:5061> (dom 0x7fd2eefa3d68 ctx 0x7fd2ef7e70a8 sn [])
Oct 26 09:33:56 sip1 /usr/sbin/kamailio[20712]: DEBUG: tls
[tls_domain.c:703]: sr_ssl_ctx_info_callback(): SSL handshake started
Can you look at this code?
Thank you in advance.
--
Best regards,
Sergey Basov e-mail: sergey.v.basov(a)gmail.com
tel: (+38067) 403-62-54
Hi,
I have a setup as follows:
IMS enabled on Kamailio and whereas websockets are enabled for PCSCF for
webrtc calls.
Calls(both audio and video) between to sipml5 clients using firefox web
browser is possible. The session is setup for the calls from sipml5 to
Mercuro, but then there isn't audio flow as the codecs are not compatible.
Now I want to test it with Boghe which supports G.722, PCMA, PCMU, and OPUS
codecs as firefox but this time the session isn't being setup. Boghe
replies with "Reason: SIP; cause=488; text="Bad content"
" I have seen a similar issue has been mentioned here:
https://github.com/c00lz3r0/boghe/issues/157 but the initial invite
request from sipml5 does have the SDP with media attributes.
If you enable acc module to log CDR data into a database a user can send an
infinite number of BYE requests to the server and all of them will be
logged into the database as "481 Call/transaction does not exist"! How can
we prevent this?