Dear All,
does somebody know up to which point TSILO can handle calls from one UA to another UA, when both are registered on the same Kamailio instance?
Is a routing through a backend (such as Asterisk) required in that case?
thanks and best regards,
Germán
Dear All,
we are working on the integration of VoIP Push Notifications with iOS devices via Kamailio. From what we observe, the time window between receiving a VoIP APNS notification that wakes up the client app and the client app being sent back to the background by iOS is extremely narrow. It is around 1-2 seconds, with a (seemingly random) variance of say ~0.5s.
So 1-2s is the time window available for getting the client app to properly REGISTER and to receive the INVITE back from Kamailio (using e.g. TSILO); otherwise the call is lost. (On Android, the equivalent time window extends to 10s or more.)
Have others observed the same on iOS? We are using a client app that still uses the iOS 12 SDK (with Xcode10). Can we expect changes in that regard with iOS13/Xcode13?
many thanks and cheers, Germán
Dear all
one quick question, reading the module corex doc, seems that xflag are
message(transaction) flags. But I made a test and seems for some reason the
flag is not seeing activated at the onreply_route, when it's activated on
the request route. Seemed more like a script flag behaviour. Maybe I'm
missing something?
thanks a lot and regards
david
Hi all,
What I’m trying to achieve is to have Kamailio fork an INVITE to multiple endpoints in parallel but only maintain the branch that responds first (first to respond with 200 OK I guess).
I’ve read the TM module documentation on forking (https://www.kamailio.org/docs/modules/stable/modules/tm.html#tm.serial_fork… <https://www.kamailio.org/docs/modules/stable/modules/tm.html#tm.serial_fork…>) and as far as I understood a combination of “seturi()” + “append_branch()” + “t_relay()” command calls will allow me to send multiple forked INVITEs in parallel.
What I couldn't find information about in the documentation (please point me to it in case I missed it) is what controls (if any) do I have over forked requests. Do I need to keep track of the branches myself and cancel others when first succeeds or does Kamailio have some kind of setting for implementing such behaviour?
Thanks,
Ivan
Hello everyone!
When I restart the Kamailio service, NAT pinging for all existing
location records stops and does not start until the UA registers again. I'm
using db_mode 2, and all of the registrations will be there, but for some
reason Kamailio wont restart the pinging cycle. Is it possible to configure
Kamailio to restart NAT pinging in the event of a service restart?
Thanks for reading!
Jake Greene
Voice Engineer
Dear Real-Time Friends and Colleagues!
As many of you we have been totally devastated that we will have no chance
to see you in the next few months to come. :-/ Some people in the community
believe it might be years. I don’t necessarily agree with that opinion
myself.
Over the course of the last few years our team had a great time extending
live coverage for some of those events that have been affected, got some
experience and equipment. Instead of just waiting for the virus to clear,
we decided to organize a series of bi-weekly live casts with some of the
speakers that we have hoped to see at those events presenting their latest
developments live and then answering questions from the audience.
So without further ado, let me introduce our first guest Giovanni
Maruzzelli, who is going to introduce his newest project SaraPhone (
https://github.com/gmaruzz/saraphone).
Join us this Saturday, April 25th 4:30pm UTC and get a chance to ask
Giovanni a question about his project live:
https://youtu.be/mF9elIcVGE8
Or if you miss that opportunity, you can always watch the recording later
on Sippy Labs channel on YouTube and email Giovanni your question at <
gmaruzz(a)gmail.com>.
SaraPhone is a bare bone SIP WebRTC phone, complete with most features real
companies want to use in real world: HotDesking, Redial, BLFs, MWI, DND,
PhoneBook, Hold, Transfer, Mute, Attended Transfer, Notifications, running
on all Browsers both on Desktop and SmartPhone.
SaraPhone is fully integrated with FusionPBX, the full-featured domain
based multi-tenant PBX and voice switch for FreeSwitch.
Based on SIP.js, SaraPhone works with all WebRTC compliant SIP proxies,
gateways, and servers (Asterisk, OpenSIPS, Kamailio, Janus, etc).
Initial author is Giovanni Maruzzelli, and SaraPhone gets its name from
Giovanni's wife, Sara Hosseini.
In addition to providing all of the usual DeskPhone functionality,
SaraPhone got:
-
Desktop Notification for Incoming Calls
-
Live MWI update
-
Real Time BLFs status update
-
BLF click to call
-
Caller Name and Number Display
-
Call Error Cause Display
-
AutoAnswer
-
Network Disconnect Reload
-
Show and Set Caller-ID (incoming-outbound)
Stay healthy, optimistic and productive! Also share, like and subscribe.
See you soon!!!
Regards,
Max
Hi all,
I have a prioritised list of endpoints, where endpoints with the same priority should be sent in parallel:
- endpoint_1_uri; p = 1
- endpoint_2_uri; p = 2
- endpoint_3_uri; p = 4
- endpoint_4_uri; p = 5
As some of the lower priority endpoints are not known upfront, I can not load entire list into the contact list and use TM module's “forking based on Q value” to take care of the rest. So my plan is to load all endpoints with the same priority and fork them in parallel. If none succeed - obtain next endpoint(s) and repeat the process.
As I go through the above process, I need to update some counters each time delivery to one of the endpoints succeeds or fails. To be able to perform these “housekeeping” tasks I need to be able to clearly identify branches and link them to the destination URI (endpoint URI) of the forked INVITE that started them. Ideally I would like to be able to maintain relationship “branch_id” => “destination URI” where “branch_id” is the identifier that is appended to Via branch parameter. What is the best/most reliable way to achieve this?
I tried logging and observing the value of $du - it was available just before sending out a forked INVITE, but in branch_failure and onreply_route it was <null>.
I tried logging and observing $T_req($du) - I only expected it to work from onreply_route, but it was also <null>.
I tried logging and observing $T_branch_idx - while it was showing meaningful data before sending forked INVITE and during branch_failure route, I couldn’t access it from onreply_route so I couldn’t tell which of the branches current reply is for.
Are there any more variables that could help me build “branch_id” => “destination URI” relationship and access information about “branch_id” and/or “destination URI” from branch_failure and onreply_route?
Apologies in advance for a lengthy description, I did my best to summarise the situation and what I’m trying to achieve.
Regards,
Ivan
Excuse me sir, if i want to make integration between kamailio and asterisk to make kamailio could use land line , i followed steps but i got errors i want help , was asterisk is only way to make kamailio use landline (fxs,fxo)
Sent from my iPhone
> On Mar 10, 2020, at 9:52 PM, ahmed moghazy <ahmed.m.moghazi(a)gmail.com> wrote:
>
Hi!
I would like to implement LCR and fallback capabilities for my Kamailio installation. I'm currently using the dispatcher module with a simple configuration file.
As I understood, there are multiple modules (carrier route, dynamic routing) that can be used to achieve that, what I'm aiming for is -
* Country-based (or prefix-based) routing with up to 4 different carriers (could be expanded in the future, but I won't have more than a dozen), while also maintaining a fallback route if the 1st priority is not available.
* Each of my carriers have his own requirements for headers and formatting, for instance, for one of our carriers, having a '+' prefix before dialing to a non-US number is mandatory, while on the others - it is not, or another example - one of my carriers doesn't allow having a P-Asserted-Identity header in my invite, while others do. I would love to have the option to manipulate headers based on the route that I have chosen, both on the default and fallback routes.
* It would be nice to receive SMTP or SNMP alerts if a fallback does occur.
* Easy management, having the ability to load and reload the routing table on a monthly basis, once the pricing list is changed.
What would be your suggestion?
Edward
Hi, I'm trying to add the PHONENUM module into my Kamailio installation. For this, I've cloned the main branch of Libphonenumber<https://github.com/google/libphonenumber/tree/master/cpp> and followed the installation rules as they appear in the relevant README file:
Building and testing the library
--------------------------------
$ cd libphonenumber/cpp
$ mkdir build
$ cd build
$ cmake ..
$ make
$ ./libphonenumber_test
It all went through and the library was created, but when I try to make and install the module itself, I'm getting the following error. Looks like the library wasn't included in the building context, can you please lend me a hand and tell me how do I include it?
root@kamaillioegress:/usr/local/src/kamailio-5.1/kamailio/src/modules/phonenum# make
Compiling cphonenumber.cpp
g++ -fPIC -DPIC -g -funroll-loops -Wcast-align -m64 -minline-all-stringops -falign-loops -ftree-vectorize -fno-strict-overflow -Wall -Wno-write-strings -Wno-deprecated -Wno-unused-function -Wno-sign-compare -Wno-strict-aliasing -fPIC -DPIC -g -funroll-loops -Wcast-align -m64 -minline-all-stringops -falign-loops -ftree-vectorize -fno-strict-overflow -Wall -DNAME='"kamailio"' -DVERSION='"5.2.0-dev6"' -DARCH='"x86_64"' -DOS='linux_' -DOS_QUOTED='"linux"' -DCOMPILER='"gcc 5.4.0"' -D__CPU_x86_64 -D__OS_linux -DVERSIONVAL=5002000 -DCFG_DIR='"/usr/local/kamailio-5.1/etc/kamailio/"' -DRUN_DIR='"/var/run/kamailio/"' -DPKG_MALLOC -DSHM_MEM -DSHM_MMAP -DDNS_IP_HACK -DUSE_MCAST -DUSE_TCP -DDISABLE_NAGLE -DHAVE_RESOLV_RES -DUSE_DNS_CACHE -DUSE_DNS_FAILOVER -DUSE_DST_BLACKLIST -DUSE_NAPTR -DWITH_XAVP -DMEM_JOIN_FREE -DF_MALLOC -DQ_MALLOC -DTLSF_MALLOC -DDBG_SR_MEMORY -DUSE_TLS -DTLS_HOOKS -DUSE_CORE_STATS -DSTATISTICS -DMALLOC_STATS -DWITH_AS_SUPPORT -DUSE_SCTP -DFAST_LOCK -DADAPTIVE_WAIT -DADAPTIVE_WAIT_LOOPS=1024 -DCC_GCC_LIKE_ASM -DHAVE_GETHOSTBYNAME2 -DHAVE_UNION_SEMUN -DHAVE_SCHED_YIELD -DHAVE_MSG_NOSIGNAL -DHAVE_MSGHDR_MSG_CONTROL -DHAVE_ALLOCA_H -DHAVE_TIMEGM -DHAVE_SCHED_SETSCHEDULER -DHAVE_IP_MREQN -DUSE_RAW_SOCKS -DHAVE_EPOLL -DHAVE_SIGIO_RT -DSIGINFO64_WORKARROUND -DUSE_FUTEX -DHAVE_SELECT -I/opt/local/include -DKAMAILIO_MOD_INTERFACE -DMOD_NAME='"phonenum"' -c cphonenumber.cpp -o cphonenumber.o
cphonenumber.cpp:24:65: fatal error: phonenumbers/geocoding/phonenumber_offline_geocoder.h: No such file or directory
compilation terminated.
Makefile:22: recipe for target 'cphonenumber.o' failed
make: *** [cphonenumber.o] Error 1
Edward