Dome C. | 18 Apr 2006 01:29
Picon

Yate + Asterisk

Dear sir,

Now i use  yate 0.94  for routing exchange (IP Authen). it's very stable.
So i got some idea. mostly provider use SER + Asterisk for Large scale.
For me i got problem when use SER with NAT ( User behind NAT).  Last  
time i test
about 3 year ago may be it's work fine right now.

Today i'm looking for solution for 20,000 subscriber and 2000 call 
concurrent (90% User call to User 10% send to A-Z). I think  yate + 
asterisk can support.
why use asterisk ? i need PBX feature IVR , Voicemail , Meetme and my 
Billing I develop for Asterisk.

any idea ?

Dome C.

Diana Cionoiu | 17 Apr 2006 11:25
Picon
Favicon

Re: Yate + Asterisk

Hello Dome,

If you intend to use Yate use Yate from CVS, we are quite close to a new 
realease.
If you want to use conference i strongly advice you to use Yate 
conference for technical reasons (i don't want to start a flame).
Otherwise everything should work. Last week someone had installed Yate 
with 20 T1's connected to an asterisk and asterisk crushed :(, but this 
is not necessary true in your setup, after all this is a softPBX so it 
depends on the load, and i don't have many infos about that asterisk.

Diana

Dome C. wrote:

> Dear sir,
>
> Now i use  yate 0.94  for routing exchange (IP Authen). it's very stable.
> So i got some idea. mostly provider use SER + Asterisk for Large scale.
> For me i got problem when use SER with NAT ( User behind NAT).  Last  
> time i test
> about 3 year ago may be it's work fine right now.
>
> Today i'm looking for solution for 20,000 subscriber and 2000 call 
> concurrent (90% User call to User 10% send to A-Z). I think  yate + 
> asterisk can support.
> why use asterisk ? i need PBX feature IVR , Voicemail , Meetme and my 
> Billing I develop for Asterisk.
>
>
(Continue reading)

Dome C. | 18 Apr 2006 06:44
Picon

Re: Yate + Asterisk

Diana Cionoiu wrote:
> Hello Dome,
>
> If you intend to use Yate use Yate from CVS, we are quite close to a 
> new realease.
Good news.. Let's me try with my billing. 
> If you want to use conference i strongly advice you to use Yate 
> conference for technical reasons (i don't want to start a flame).
> Otherwise everything should work. Last week someone had installed Yate 
> with 20 T1's
Oh... i only have 4E1 on Asterisk.
> connected to an asterisk and asterisk crushed :(, but this is not 
> necessary true in your setup, after all this is a softPBX so it 
> depends on the load, and i don't have many infos about that asterisk.
>
> Diana
>
> Dome C. wrote:
>
>> Dear sir,
>>
>> Now i use  yate 0.94  for routing exchange (IP Authen). it's very 
>> stable.
>> So i got some idea. mostly provider use SER + Asterisk for Large scale.
>> For me i got problem when use SER with NAT ( User behind NAT).  Last  
>> time i test
>> about 3 year ago may be it's work fine right now.
>>
>> Today i'm looking for solution for 20,000 subscriber and 2000 call 
>> concurrent (90% User call to User 10% send to A-Z). I think  yate + 
(Continue reading)

Madhawa Jayanath | 17 Apr 2006 14:04

Re: Yate + Asterisk

Hello Dome,
Dome C. wrote:
> Diana Cionoiu wrote:
>> Hello Dome,
>>
>> If you intend to use Yate use Yate from CVS, we are quite close to a 
>> new realease.
> Good news.. Let's me try with my billing.
Does your PostgreSQL billing system work with the YATE?

Cheers,
Madhawa

Diana Cionoiu | 17 Apr 2006 14:16
Picon
Favicon

Re: Yate + Asterisk

Hello Madhawa,

PostgreSQL and MySQL are both native supported by Yate.

Diana

Madhawa Jayanath wrote:

> Hello Dome,
> Dome C. wrote:
>
>> Diana Cionoiu wrote:
>>
>>> Hello Dome,
>>>
>>> If you intend to use Yate use Yate from CVS, we are quite close to a 
>>> new realease.
>>
>> Good news.. Let's me try with my billing.
>
> Does your PostgreSQL billing system work with the YATE?
>
> Cheers,
> Madhawa
>

Olaf Conradi | 17 Apr 2006 18:05

[patch] Bug in disconnector of wavefile.cpp

Hi

I finally found the yate crasher on my system.

gcc gave a hint actually ;)

g++ -Wall  -g3 -DXDEBUG -I.. -I../.. -O2 -fno-check-new  -fno-exceptions -fPIC
-DHAVE_GCC_FORMAT_CHECK  -export-dynamic -shared  -L.. -lyate -o wavefile.yate
../../modules/wavefile.cpp
../../modules/wavefile.cpp: In member function 'void
WaveSource::detectAuFormat()':
../../modules/wavefile.cpp:205: warning: unused variable 'chan'
../../modules/wavefile.cpp: In member function 'virtual void
Disconnector::run()':
../../modules/wavefile.cpp:426: warning: cannot pass objects of non-POD type
'class TelEngine::RefPointer<TelEngine::CallEndpoint>' through '...'; call
will abort at runtime
../../modules/wavefile.cpp:426: warning: format '%p' expects type 'void*', but
argument 4 has type 'int'

Problem was the passing of m_chan in a variable argument list.
Passing non Plain Old Data types is not allowed.

Changing it to &m_chan fixes it by printing the address.
Or you could just remove the arguments and just print the function name.

Cheers
 -Olaf
Attachment (disc_run_bug.patch): text/x-patch, 371 bytes
(Continue reading)

Olaf Conradi | 17 Apr 2006 18:30

[patch] Nanosleep

Hi

This patch (apply with -p1) adds improved sleep commands to Thread.cpp

1. Use nanosleep() under posix systems

Move sleep and yield methods of Thread to using nanosleep. Falls back to
usleep when not available. Check man 2 nanosleep and man 3 usleep.

        Compared to sleep(3) and usleep(3), nanosleep has the advantage
        of not affecting any  signals, it is standardized by POSIX, it
        provides higher timing resolution, and it allows to continue a
        sleep that has been interrupted by a signal more easily.

Usleep has the disadvantage of not sleeping the requested amount of
time if an interrupt occurs. This patch with nanosleep does do that.

2. Use SwitchToThread under windows.

Move from Sleep(1) to using SwitchToThread() to yield on Windows.

        Causes the calling thread to yield execution to another thread
        that is ready to run on the current processor. The operating
        system selects the next thread to be executed.

Unlike Sleep(0), SwitchToThread can also switch to a thread with lower
priority. Sleep(1) has the disadvantage of allways sleeping, even if
there is no other thread.

!!! This change needs some verification to see if it really does as
(Continue reading)

Paul Chitescu | 17 Apr 2006 19:57
Picon
Favicon

Re: [patch] Bug in disconnector of wavefile.cpp

Yup, you're right, i didn't notice the problem as it appears only when 
compiling with debugging messages (-DDEBUG or -DXDEBUG).

Previously m_chan was a plain pointer but now it's a templated RefPointer. 
The compiler cannot guess to apply the "operator Obj*" to parameters 
passed as (...) - but at least gcc can warn at compile time!

I fixed it in the CVS by explicitely casting to pointer.

Paul

On Mon, 17 Apr 2006, Olaf Conradi wrote:
> Hi
> 
> I finally found the yate crasher on my system.
> 
> gcc gave a hint actually ;)
> 
> g++ -Wall  -g3 -DXDEBUG -I.. -I../.. -O2 -fno-check-new  -fno-exceptions -fPIC
> -DHAVE_GCC_FORMAT_CHECK  -export-dynamic -shared  -L.. -lyate -o wavefile.yate
> ../../modules/wavefile.cpp
> ../../modules/wavefile.cpp: In member function 'void
> WaveSource::detectAuFormat()':
> ../../modules/wavefile.cpp:205: warning: unused variable 'chan'
> ../../modules/wavefile.cpp: In member function 'virtual void
> Disconnector::run()':
> ../../modules/wavefile.cpp:426: warning: cannot pass objects of non-POD type
> 'class TelEngine::RefPointer<TelEngine::CallEndpoint>' through '...'; call
> will abort at runtime
> ../../modules/wavefile.cpp:426: warning: format '%p' expects type 'void*', but
(Continue reading)

Paul Chitescu | 17 Apr 2006 20:33
Picon
Favicon

Re: double nat

Martin,

I looked into your latest log and capture files. It seems everything is OK 
but Yate receives none of the RTP packets.

Do you have some sort of too-smart firewall? One that blocks "floods" 
(packets received without one being sent from local)? Because this 
situation is normal for a VoIP server.

Please disable any local firewalls and try again. If you need to run one 
exclude the UDP port range listed in yrtpchan.conf

Regards,

Paul

On Wed, 12 Apr 2006, Martin Kihlgren wrote:
> 
> Ok.. hm. I fixed my bug in the regexroute (thanks for the hint, I
> updated docu on the wiki
> (http://yate.null.ro/pmwiki/index.php/Main/RegularExpressions) so that
> hopefully this question wont arise again :)
> 
> And with the new settings I managed to get audio across. But only once
> - and I dont know why it doesnt work the rest of the time :O
> 
> At 
> http://troja.ath.cx/~zond/files/yate.log
> there is a yate log and at 
> http://troja.ath.cx/~zond/files/sipdump
(Continue reading)

Martin Acevedo | 17 Apr 2006 22:10
Picon
Favicon

About compability

Hello, I have some problems trying to connect an opal client with yate. Opal 
is a library from the Openh323 people that supports sip and h323. It looks 
like an incompability between opal and yate, did anybody try this 
combination? Opal as client, Yate as a gateway sip-h323 server?. The call is 
received by yate but the opal tells that yate is not accepting the call and 
try 2 o 3 times the same thing..

A log file from yate contains

<9> Creating new message dispatching thread (0 running)
******************************* RECIBO *****************************
*** Local 0.0.0.0 : 5061 Remoto; 192.168.14.1 : 1762
<sip:9> Received 1418 bytes SIP message from 192.168.14.1:1762
------
INVITE sip:1 <at> 127.0.0.1:5061 SIP/2.0

Date: Mon, 17 Apr 2006 20:07:46 GMT

CSeq: 1 INVITE

Via: SIP/2.0/UDP 
192.168.14.1:1762;branch=z9hG4bK14a94623-9af5-1810-9dd4-001109ed92f5;rport

User-Agent: OPAL/2.0

From: "martin" 
<sip:1111@...:1762>;tag=14a94623-9af5-1810-9dd3-001109ed92f5

Call-ID: 14a94623-9af5-1810-9dd2-001109ed92f5 <at> NUEVA

(Continue reading)


Gmane