Yu Boot | 14 Sep 07:50 2014

Message sniffer

Hi there.

How to enable message sniffer ONLY for some IP or caller/called numbers? 
Now it's just useless as it generates gigabytes of data.

Bill Simon | 11 Sep 21:48 2014

Re: Google Talk authentication is changing

Hi Paul,

I'm digging up a topic from two years ago.

If given a username and a refresh token, would that be sufficient information for Yate to perform the work to
contact the provider (Google) and get an oauth2 access token, then perform a login? Since XMPP doesn't
re-authenticate during the session, we can then forget about the fetched access token and go through the
refresh process again next time login is needed.

If that seems feasible, I'd be interested in hearing from any programmers who would be keen on adding this
auth mechanism to Yate's jabberclient module. 

Bill Simon

On Sep 20, 2012, at 6:45 AM, Paul Chitescu <paulc@...> wrote:

> Hi!
> Have to say that this change is unfortunate for anything but browser based 
> applications. I guess this is the Google way they're pushing.
> For now they seem to just add X-OAUTH2 to the existing methods so developers 
> will have some time to adapt.
> As far as Yate's XMPP needs is to adapt it have an oauth2_token provided from 
> an external source to the user.login message.
> Given how OAuth2 works for Google it would be possible to integrate in a 
> client by embedding a Qt Web browser or launching a full browser and passing 
> the token back somehow. There is also a Gnome authenticator that works over 
(Continue reading)

Rodrigo Ricardo Passos | 10 Sep 20:42 2014

Function Date on Javascript

Hi Yate,

I'm trying to use Date function in Javascript to return the unix date, 
but the function can't return the correct date.
The example is the following:
Using: Date.now(), Yate returns 1410373754801, but the correct it should 
be 1410373754.801.

My version is YATE 5.4.1.

Any iformation about this?


Rodrigo R Passos

Marco Bisignano | 6 Sep 10:26 2014

Regexroute matching order

Hello I have a problem with regexroute processing order: if I have these two routes: 941430 and 94143033 and I call 94143033342, regexroute send my call to 941430, how can I tell to regexroute to match the longest path ?
Thank you. 

Inviato da Samsung Mobile
Rodrigo Ricardo Passos | 23 Apr 14:36 2014

Get number in SAM

Hi Yate,

How can i get the digit in SAM message after receive an IAM using 



Dana cafe | 2 May 14:50 2014

queue.conf operators configuration

good afternoon,

I am trying to put calls in a queue and redistribute to operators 
(without using a database) but I don't know how to define these operators.

For testing i defined two users in regfile.conf:



Then in regexroute.conf I defined:


Finally test1 is defined  in the queue.conf file :


[queue test1]
mintime = 100
length= 100
onhold=wave/play/ test.wav
;definition of the operator
${queue} = test1
${required} = 1
${current} = 1
;  ${waiting}
  maxcall = 3000
;  prompt: string: Resource to play to the operator when it answers

using yate client logged as 1000 I call to 100 and the music on hold 
start but the call is not distributed to the user 2000 which is logged 
in another yate client. For sure the configuration of the operator is 
wrong, unfortunatelly I didn't find a useful example in the website and 
in internet.

thank you very much for your valuable help,


Moritz Orbach | 18 Mar 19:47 2014

Authentication-check in javascript

Hello all,

is there a javascript equivalent to regexroute's

Or more precisely: how can I (on call.route, in javascript)
1) verify that a client is registered in regfile.conf (allowed to make a
   certain call)
2) retrieve the true extension of the client (not based on any headers
   the client can set itself, but based on the registration)

I tried "msg.username", msg.params['username'] and similar properties of
the Message object in the call.route handler, but none of them seemed to

Best regards

Paul Chitescu | 18 Mar 14:06 2014

Yate 5.2 and YateBTS 2.0

Hello everybody!

We released Yate version 5.2 and also version 2.0 of YateBTS.

Yate 5.2 brings:
- Our friendly chatbot Eliza answers you by default to anything you write in 
rmanager that's not an Yate command :-)
- Improvements in Javascript that make writing an IVR much easier
- Better troubleshooting of memory leaks by having memory information from 
glibc and the ability to count objects allocated by each module

YateBTS 2.0 added:
- Support for 2G (COMP128-1) and 3G (MILENAGE) authentication
- Web interface for the Network In a Box
- USSD support (in commercial version only)
- COMP128-2 and COMP128-3 (in commercial version, only for GSMA members)

Paul Chitescu & Null Team

Marco Bisignano | 1 Apr 13:00 2014

R: R: R: [yate] Avoid multiple INVITE and BYE

Hi Marian and thank you for your suggestion. I'm writing a C++ module, but
how can I wait for call.drop to return ?

-----Messaggio originale-----
Da: Marian Podgoreanu [mailto:marian@...] 
Inviato: mercoledì 26 febbraio 2014 15:01
A: Marco Bisignano; yate@...
Oggetto: Re: R: R: [yate] Avoid multiple INVITE and BYE


In a php script you can't wait in a message handler for another message.
You may sleep for a second after sending the call.drop message.
This will give some time for the call to be dropped but it will delay things
(e.g. any other message to be handled by the script will be delayed).
This would not be acceptable on high load systems.

You may write a javascript or c++ module which:
1. Handle call.execute
2. Dispatch a call.drop for the outgoing call leg you want to stop 3. Let
call.execute continue when call.drop returns


On 26.02.2014 15:18, Marco Bisignano wrote:
> Thank you Marian, I understand; is there a way in my script to wait 
> that the first call is pre-empted and closed before sending the new INVITE
> -----Messaggio originale-----
> Da: Marian Podgoreanu [mailto:marian@...]
> Inviato: mercoledì 26 febbraio 2014 10:58
> A: Marco Bisignano; yate@...
> Oggetto: Re: R: [yate] Avoid multiple INVITE and BYE
> Hi,
> For the first call BYE is retransmitted to called party because it 
> doesn't confirm it. It does on the third retransmission.
> For the second call the INVITE is retransmitted due to the same reason.
> This may be a network issue or called party issue.
> The log also shows yate creating new dispatching threads and extmodule 
> warning a message sent to a script did not return in 10 seconds.
> Check your script(s): the message must be acknowledged after handling it.
> Example:
> $ev = Yate::GetEvent();
> if ($ev->type == "incoming")
>       $ev->Acknowledge();
> Marian
> On 26.02.2014 11:03, Marco Bisignano wrote:
>> Hi Marian and ty for your reply, here is my log with sniffer enabled:
>> http://pastebin.com/gDpnv64A
>> FIRST CALL from 3212121 ( to 9413403212121 (messages are
>> ok)
>> SECOND CALL from 3212122 ( to 9413403212122 (multiple bye 
>> and
>> invite)
>> There is a PHP script called cac.php (Call Admission Control), second 
>> call has a major priority so first call is pre-empted (call.drop to 
>> both call channels).
>> If you want I can send you Wireshark capture.
>> Regards.
>> -----Messaggio originale-----
>> Da: Marian Podgoreanu [mailto:marian@...]
>> Inviato: mercoledì 26 febbraio 2014 09:37
>> A: Marco Bisignano; yate@...
>> Oggetto: Re: [yate] Avoid multiple INVITE and BYE
>> Hi,
>> Yate don't send multiple INVITE unless it's a retransmission.
>> If you think it does, please post a log to show it.
>> Marian
>> On 26.02.2014 10:25, Marco Bisignano wrote:
>>> Hi all, someone know if there is a way to avoid Yate sending 
>>> multiple INVITE or BYE messages all equals in the same call ?
>> --
>> Il messaggio e' stato analizzato alla ricerca di virus o contenuti 
>> pericolosi da MailScanner, ed e' risultato sicuro
> --
> Il messaggio e' stato analizzato alla ricerca di virus o contenuti 
> pericolosi da MailScanner, ed e' risultato sicuro

Il messaggio e' stato analizzato alla ricerca di virus o contenuti
pericolosi da MailScanner, ed e' risultato sicuro