[asterisk-dev] synchronizing RTP
Klaus Darilion
klaus.mailinglists at pernau.at
Mon Mar 8 09:13:09 CST 2010
Hi Kevin!
Am 08.03.2010 14:47, schrieb Kevin P. Fleming:
> Klaus Darilion wrote:
>
>> I have a problem with generating a nice RTP stream with one packet every
>> 20ms.
>>
>> I have the following setup:
>>
>> Asterisk+SendFAX<--SIP/G711--> Asterisk+T38Gateway<---SIP/T38---> ATA
>>
>> This T38Gateway application is implemented to send an RTP packet to
>> SendFAX every time it receives an RTP packet.
>>
>> On the other side, SendFAX apparently does the same, because as soon as
>> the call is established both Asterisk's exchange RTP packets like crazy
>> - 5000 packets/s.
>>
>> What is the best way to solve this problem? How should the voice frames
>> generated in the T38Gateway application to get a correct RTP stream
>> (e.g. 160 samples/frame, 50 frames/s)?
>
> T.38 gateway elements are designed to sit between a packet network and a
> TDM network, not between two packet networks.
That's were it is used most (actually DAHDI<->SIP is already working).
But IMO a T38Gateway application should not be restricted to TDM<->SIP
as there are other useful usecases, for example a SIP client which does
not support T.38 but is located near the T38Gateway so that delay/jitter
is not an issue.
> If you are going use
> SIP/G.711 as your 'TDM' network, you'll have to force that endpoint to
> only generate packets every 20ms, so that it will appear to be a TDM
> endpoint. This is not a problem in the gateway application.
That means the T38Gateway application has to rely on the non-T38 client
to supply proper timing. IMO this is bad as it causes the above
described problems. For example the non-T38 client may not send RTP at
all during reception phase (fax is half-duplex).
Thus I am looking for a way for the T.38Gateway to make the RTP timing
itself, not relying on the other endpoint.
I tried using an ast_generator but that causes the same problems, looks
like the generator is also triggered by received RTP packets.
I found there is an Asterisk startup option -I: enable internal timing
Is this something that can be useful for my problem?
thanks
klaus
>
More information about the asterisk-dev
mailing list