kamailio is a "proxy" server.... this features may be added by a media-server... freeswitch, asterisk, seems. You can put kamailio as "sip proxy" and you can add these services behind kamailio proxy
--------------------------------
Ángel Elena Medina _o)
craem(a)craem.net / \\
http://blog.craem.net _(___V
@craem_
www.linkedin.com/in/angel-elena-medina
--------------------------------
Zarafa Webapp.
-----Mensaje original-----
De: Jayanth Acharya <jayachar88(a)gmail.com>
Enviado: Mar 31-10-2017 10:40
Asunto: [SR-Users] Kamailio for Unified Communication
Para: Kamailio (SER) - Users Mailing List <sr-users(a)lists.sip-router.org>;
> Hi,
>
> Can Kamailio be used to provide following broad-type of services ?
>
> 1. Unified Communication services
> 2. Contact Center services
> 3. Instant Messaging / Chat services
> 4. Voicemail service
> 5. Presence aware communication services
> 6. Desktop sharing service
>
> For many/some of the above, I'd expect back2back user-agent capabilities to be
> mandatory, and if I am not mistaken Kamailio doesn't support B2BUA mode. Or are
> there some modules that may be used for this purpose ?
>
> thanks,
> Jay
>
> _______________________________________________
>
> Kamailio (SER) - Users Mailing List
>
> sr-users(a)lists.kamailio.org
>
> https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
>
>
>
>
Hi,
Can Kamailio be used to provide following broad-type of services ?
1. Unified Communication services
2. Contact Center services
3. Instant Messaging / Chat services
4. Voicemail service
5. Presence aware communication services
6. Desktop sharing service
For many/some of the above, I'd expect back2back user-agent capabilities to
be mandatory, and if I am not mistaken Kamailio doesn't support B2BUA mode.
Or are there some modules that may be used for this purpose ?
thanks,
Jay
Hi,
I've got a scenario like so:
UA A -----> Kamailio P ----> UA B
1. UA A initiates call through Kamailio P;
2. Dialog is established and confirmed, with Record-Route;
3. UA B sends reinvite #1 through P to A;
4. UA B sends 2xx reply;
5. UA B sends end-to-end ACK for reinvite #1 and almost
simultaneously sends reinvite #2. The temporal delta is
between reinvite #2 and ACK for reinvite #1 on the wire
is 3 ms.
So, the result — for all kinds of stochastic processing and userspace
scheduling type reasons — is that the reinvite is forwarded first,
before the ACK. That leads to a 500 / 491 scenario UA A.
The cause, as we all know, is that Kamailio's worker threads are loosely
coupled, and incoming UDP datagrams are distributed directly by the
kernel.
Is there any general guidance on what to do with these scenarios? I
looked at RFC 5407 § 3.1.4, which appears to describe a similar, but not
identical scenario involving an initial INVITE and subsequent reinvite.
As far as I can tell, the recommendation in that standard is "space the
messaging out more in time".
Switching to TCP would presumably help, since any given flow would
involve a single connection to a single worker thread and the transport
would guarantee ordering. However, that's not really feasible in this
implementation for a host of reasons.
I know Kamailio has some config locking primitives, but I am extremely
wary of complex synchronisation on dialog-identifying attributes,
particularly if there is a possibility that such locks could stall a
worker perpetually.
Any other thoughts welcome!
Cheers,
-- Alex
--
Alex Balashov | Principal | Evariste Systems LLC
Tel: +1-706-510-6800 / +1-800-250-5920 (toll-free)
Web: http://www.evaristesys.com/, http://www.csrpswitch.com/
Hi, community!
I have in my Kamailio script following block (while REGISTER processing,
after auth succeed):
.....
/* Save to usrloc */
lock("LOCATION_LOCK");
if (!save("location")) {
unlock("LOCATION_LOCK");
sl_reply_error();
exit();
}
unlock("LOCATION_LOCK");
......
According to module documentation - if "save" - failed (for any reason) - I
expected the control to be returned to the script with error code "-1"
But, there are cases - when this does not happen - which lead to deadlock
for workers processing REGISTERs (I never unlock("LOCATION_LOCK")):
- module answers with internal error - and return 0 from "save" function:
https://github.com/kamailio/kamailio/blob/master/src/modules/registrar/save…
- line 1013
My use case happened due to malfunctioning device that in some moment of
time:
- send REGISTER update
- kamailio answers 200OK
- device retransmit the same REGISTER (same CSeq)
- during 20 seconds (hardcoded value in registrar module) - kamailio answers
200OK (and everything is ok)
- if retransmission continue more than 20s - kamailio answered 400 Bad
request, and did not return control to script (as a result I had no chance
to unlock("LOCATION_LOCK") from code above)
Tested it on kamailio 4.2.5 and 5.0.3.
as for me, possible solutions are:
- return -1 instead of 0 from "save" by default
- if there are some reasons not to do this - we should change documentation,
and explicitly mention that there are cases - when script execution is
stopped.
thanks in advance!
cheers
--
Sent from: http://sip-router.1086192.n5.nabble.com/Users-f3.html
I noticed that K 5.0 sanity() test passes uri that contains ` (back quote)
character.
Config:
modparam("sanity", "default_checks", 1024) /* URI checks */
modparam("sanity", "uri_checks", 3) /* RURI, From */
xlog("L_INFO", "Checking $ru\n");
if (!sanity_check())
xlog("L_INFO", "Check failed\n");
else
xlog("L_INFO", "Check passed\n");
Syslog:
Oct 27 17:17:38 lohi /usr/bin/sip-proxy[31946]: INFO: Checking sip:jh@te`st.fi
Oct 27 17:17:38 lohi /usr/bin/sip-proxy[31946]: INFO: Check passed
According to RFC3261:
hostname = *( domainlabel "." ) toplabel [ "." ]
domainlabel = alphanum
/ alphanum *( alphanum / "-" ) alphanum
Is this a bug or am I missing something?
-- Juha
Hi. I building external presentity service for web based phones
Main trouble that i have at the xml body of PUBLISH message \n \t
characters and because of it can't set body as string to the redis
So I trying to find a way to remove special characters form the xml body
for get oneline string instead of multiline
I use native .cfg file for now and, unfortunattely, can not use lua or
phyton
I tried
$var(body)=$(rb{s.rm,$var(RemoveThisStaff)}) where
$var(RemoveThisStaff) = "\n" and "\t"
but it was unsuccesfull. Maybe someone will help to kno how to do it.
Hi There
I am new to Kamailio and have just installed and got it up and running as
a sipcapture node. It is working well and logging all the hep sip traffic
in my homer database.
I have an issue with rtcp extracted to the msg column is not json. It is
some kind of weird encoded string (not base64), this is not readable by
homer in any way.
When I use nonsip_hook I am able to extract the json from the hep and put
it in the msg field. However when I return 1 from the hep route on sip to
go back to main route I get parsing errors like so on all the sip messages:-
Oct 27 15:03:41 ip-172-31-19-41 /usr/local/sbin/kamailio[22518]: ERROR:
sipcapture [sipcapture.c:2711]: nosip_hep_msg(): couldn't parse sip message
Oct 27 15:03:41 ip-172-31-19-41 /usr/local/sbin/kamailio[22518]: ERROR:
<core> [core/receive.c:186]: receive_msg(): core parsing of SIP message
failed (178.78.120.2:44389/1)
Oct 27 15:03:41 ip-172-31-19-41 /usr/local/sbin/kamailio[22518]: ERROR:
<core> [core/parser/msg_parser.c:331]: parse_headers(): bad header field
[(null)]
Oct 27 15:03:41 ip-172-31-19-41 /usr/local/sbin/kamailio[22518]: WARNING:
<core> [core/receive.c:193]: receive_msg(): parsing relevant headers failed
Oct 27 15:03:41 ip-172-31-19-41 /usr/local/sbin/kamailio[22517]: ERROR:
<core> [core/parser/parse_fline.c:257]: parse_first_line():
parse_first_line: bad message (offset: 0)
Oct 27 15:03:41 ip-172-31-19-41 /usr/local/sbin/kamailio[22517]: ERROR:
<core> [core/parser/msg_parser.c:675]: parse_msg(): ERROR: parse_msg:
message=<HEP3#002,>
It never actually enters the main route. With nonsip_hook off, I enter the
main route and all my sip messages are there in homer, just missing rtcp as
the data is a weird encoded string.
Hope someone can help
Thanks
Nathan
--
Nathan Leyton / Chief Technology Officer
nathan(a)callhandling.co.uk / 07482 917 412
Call Handling Ltd
Office: 0333 321 0888 / Fax: 0333 321 0877
Bakerloo Chambers304 Edgware Road, London, W2 1DY
www.callhandling.co.uk
[image: htmlsig.com] <https://htmlsig.com/t/0000001BREBFR>
Hi,
I'm trying to set up a Kamailio (4.1.3) server which converts between IPv6
and IPv4. Everything looks pretty good. Now I have a test client which
sends packets via IPv6, but in contact header, SDP etc. there are still
IPv4 addresses. (This comes from some converting from v4 to v6 earlier.)
Thus, Kamailio tries to do a fix_nated_contact(). But after fixing, the
Contact URI is wrong.
Example:
inbound
Contact: <sip:bob@192.168.8.132>
outbound
Contact: <sip:bob@1234:1234:0:1234:0:0:0:2>
The correct way of transforming the Contact URI would be:
Contact: <sip:bob@[1234:1234:0:1234:0:0:0:2]>
This incorrect Contact URI doesn't hurt first, but when the called party
wants to hang up the call, it addresses the URI from Contact header, and
Kamailio can't parse the Request URI:
Jan 22 12:03:48 router /usr/sbin/kamailio[21309]: ERROR: pv
[pv_core.c:304]: pv_get_ruri_attr(): failed to parse the R-URI
Jan 22 12:03:48 router /usr/sbin/kamailio[21309]: ERROR: rr [loose.c:934]:
loose_route(): failed to parse Request URI
Jan 22 12:03:48 router /usr/sbin/kamailio[21309]: ERROR: domain
[domain.c:140]: is_uri_host_local(): error while parsing R-URI
Is this a bug in the nathelper module? Was it never meant to handle IPv6
addresses? Or do I understand something wrong?
Best Regards,
Sebastian
Hi All,
I cannot Register some softphones because of too long Contact header when using TCP protocol.
Using UDP - everything works ok and this is how the Contact header looking:
sip:XXXXXXXXX@XXX.XXX.XXX.XXX:64773;rinstance=6502234ef65ea6e7
But, switching to the TCP i'm receiving the following warning:
WARNING: registrar [sip_msg.c:194]: check_contacts(): contact uri is too long:[sip:XXXXXXXXX@192.168.0.1:60471;rinstance=bf4d7aae0f099bf0;transport=tcp]
How can i solve this issue?
Thank You.