[ previous ] [ next ] [ threads ]
 To :  Yate Mailgroup <yate@v...>
 From :  Kiarash Ghiaseddin <koochy@a...>
 Subject :  Re: [yate] H.323 early media - one way audio RTP problem
 Date :  Tue, 12 Jul 2011 15:24:36 +0200
Hi Paul,

thank you for having a look. Here is my setup:

server A -> caller side
server B yate version 3.3.2 stable -> called side

Call from server A -> server B is H233
Call from server B -> called is SIP
Server B makes h323 -> sip proxing

scenario 1:

	caller->server A -> server B->called
	config:
		external_rtp=no
	trace:	trace-oh323-rtp.pcap
	timeline:
		1) called phone rings -> no audio -> hangup 
		    caller -> ring tone
		2) called phone rings -> audio
		    caller -> audio ->> Call works

So on Server B the first outgoing call fails but the second is working. Why yate generates two outgoinglegs...I donn't know..could be an reINVITE from my provider...havn't checked it yet

scenario 2:

	caller->server A -> server B->called
	config:
		external_rtp=yes
	trace:	trace-yrtp-rtp.pcap
	timeline:
		2) called phone rings -> NO audio
		    caller -> audio ->> One way audio

Same configuration like scenario 2 works on yate 3.0.0 the only other difference is the database yate 3.0.0 works with mysql and 3.3.2 with postgree

Call Parameters:
	rtp_forward = no
	rtp_localip = server B address
	format = g729
	formats = g729,g723,gsm,alaw,mulaw


Asymetrixs.net
Koochy Black

Mailto:	koochy@a...




On 12.07.2011, at 13:38, Paul Chitescu wrote:

> Hi!
> 
> Can you upload the capture somewhere?
> 
> I want to see if:
> - Media addresses are correctly exchanged in signaling
> - RTP packets are actually received / sent to the proper addresses
> 
> I saw a decoded capture on the list but there's much more info not displayed.
> 
> Paul
> 
> 
> On Tuesday 12 July 2011 02:24:30 pm Kiarash Ghiaseddin wrote:
>> Seems that you are right.. I've tested with 4 calls and it works. Audio is
>> working...tcpdump shows that h245tunnling is on and faststart is off. I'll
>> trie to retest it with old external_rtp=yes again... Is it a yrtp bug? What
>> you think?
>> 
>> 
>> Asymetrixs.net
>> Koochy Black
>> 
>> Mailto:	koochy@a...
>> 
>> On 12.07.2011, at 13:12, Vedran Zeljeznak wrote:
>>> i didn't say it was the solution :-).
>>> 
>>> ---
>>> Vedran Zeljeznak
>>> 
>>> 
>>> 
>>> On Tue, Jul 12, 2011 at 12:57 PM, Kiarash Ghiaseddin
>>> 
>>>  wrote:
>>>> Thank you for the Information I'll check out and write back.
>>>> But using the openh323 rtp stack should be real slow compared to
>>>> yrtp.....I'll try it.
>>>> 
>>>> 
>>>> 
>>>> Asymetrixs.net
>>>> Koochy Black
>>>> 
>>>> Mailto: koochy@a...
>>>> 
>>>> On 12.07.2011, at 12:50, Vedran Zeljeznak wrote:
>>>>> Looks like yrtp is the problem.
>>>>> When i set 'external_rtp=no' in h323chan.conf which enables native
>>>>> (OpenH323) RTP stack for h323chan then early media works and there are
>>>>> no problems with one way media.
>>>>> 
>>>>> ---
>>>>> Vedran Zeljeznak
>>>>> 
>>>>> 
>>>>> 
>>>>> On Tue, Jul 12, 2011 at 8:59 AM, Vedran Zeljeznak
>>>>> 
>>>>>  wrote:
>>>>>> it looks like whenever OpenH323 stack through Yate h323chan opens a
>>>>>> LogicalChannel and RTP channel on H.225 messages prior to H.225
>>>>>> CONNECT message audio doesn't work at all or you get one way audio.
>>>>>> 
>>>>>> Does anybody have an idea where to start looking for a solution to
>>>>>> this problem?
>>>>>> 
>>>>>> ---
>>>>>> Vedran Zeljeznak
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> On Mon, Jul 11, 2011 at 3:13 PM, Kiarash Ghiaseddin
>>>>>> 
>>>>>>  wrote:
>>>>>>> Hi,
>>>>>>> 
>>>>>>> I'm having a problem like this for some times now. Have you checked
>>>>>>> the RTP address which are used? (connect to rmanager sniffer enable,
>>>>>>> sniffer filter chan.rtp). It looks like rtp is transmitted over the
>>>>>>> yate server. My setup is a bit different I have h323 to sip proxy,
>>>>>>> but exactly the same problem. Just oneway audio....and ther is no nat
>>>>>>> or anything else.... I've even seen in wireshark that RTP stream form
>>>>>>> called to caller is g723 and from caller to called g729 ....
>>>>>>> strange.... so one call two different codecs....but just one way
>>>>>>> audio.... Well I think, if everything else is configured correct
>>>>>>> (ips, firewall, port, Fast Start, H245 Tunneling)...that it should be
>>>>>>> codec problem....but I'm not sure....
>>>>>>> 
>>>>>>> I've send my callflow to... as you can see RTP is send in both
>>>>>>> directions but only way audio while calling...strange....I'm pretty
>>>>>>> sure the same configuration on other systems ( before version 3.1)
>>>>>>> This behaviour is for yate 3.3.2-stable.....
>>>>>>> 
>>>>>>> Has anybody an idea?
>>>>>>> 
>>>>>>> |Time     | Inital Server                       |
>>>>>>> |
>>>>>>> |         |                   | Yate Server    |
>>>>>>> |
>>>>>>> |29.013   |         setup OLC (setup OLC (A g729 g729 g7231 g7231 ...
>>>>>>> | TCS (TCS (A g729 g7231 g7231 gsmFR)  MSD           |H225 From:
>>>>>>> | 02181644444 To:1505 TunnH245:on FS:on
>>>>>>> |
>>>>>>> |         |(44572)  ------------------>  (1720)   |
>>>>>>> |
>>>>>>> |29.049   |         callProceeding                |H225 TunnH245:on
>>>>>>> | FS:off
>>>>>>> |
>>>>>>> |         |(44572)  <------------------  (1720)   |
>>>>>>> |
>>>>>>> |29.091   |          TCS (TCS (A g711U gsmFR g7231 g7231 g7231
>>>>>>> | g72...g  TCSAck   MSDAck           | H245 terminalCapabilitySet
>>>>>>> | H245 terminalCapabilitySetAck H245 masterSlaveDeterminationAck
>>>>>>> |
>>>>>>> |         |(44572)  <------------------  (1720)   |
>>>>>>> |
>>>>>>> |29.222   |           TCSAck   MSDAck             | H245
>>>>>>> | terminalCapabilitySetAck H245 masterSlaveDeterminationAck
>>>>>>> |
>>>>>>> |         |(44572)  ------------------>  (1720)   |
>>>>>>> |
>>>>>>> |29.228   |          RTDR     |                   | H245
>>>>>>> | roundTripDelayRequest
>>>>>>> |
>>>>>>> |         |(44572)  <------------------  (1720)   |
>>>>>>> |
>>>>>>> |29.355   |           RTDResponse                 | H245
>>>>>>> | roundTripDelayResponse
>>>>>>> |
>>>>>>> |         |(44572)  ------------------>  (1720)   |
>>>>>>> |
>>>>>>> |36.029   |          TCS (TCS (AB g729A g729)           | H245
>>>>>>> | terminalCapabilitySet
>>>>>>> |
>>>>>>> |         |(44572)  <------------------  (1720)   |
>>>>>>> |
>>>>>>> |36.160   |           TCSAck  |                   | H245
>>>>>>> | terminalCapabilitySetAck
>>>>>>> |
>>>>>>> |         |(44572)  ------------------>  (1720)   |
>>>>>>> |
>>>>>>> |36.167   |          OLC  (g729A)                 | H245
>>>>>>> | openLogicalChannel
>>>>>>> |
>>>>>>> |         |(44572)  <------------------  (1720)   |
>>>>>>> |
>>>>>>> |36.294   |         RTP (g729)                    |RTP Num packets:6 
>>>>>>> | Duration:0.000s SSRC:0x6D89869
>>>>>>> |
>>>>>>> |         |(5028)   ------------------>  (20972)  |
>>>>>>> |
>>>>>>> |36.294   |           OLCAck  OLC  (g729A)           | H245
>>>>>>> | openLogicalChannelAck H245 openLogicalChannel
>>>>>>> |
>>>>>>> |         |(44572)  ------------------>  (1720)   |
>>>>>>> |
>>>>>>> |36.294   |         RTP (g729)                    |RTP Num
>>>>>>> | packets:187  Duration:0.004s SSRC:0x6D89869
>>>>>>> |
>>>>>>> |         |(5028)   ------------------>  (20972)  |
>>>>>>> |
>>>>>>> |36.305   |         RTP (g729)                    |RTP Num
>>>>>>> | packets:903  Duration:23.080s SSRC:0x67A4CB2D
>>>>>>> |
>>>>>>> |         |(5028)   <------------------  (20972)  |
>>>>>>> |
>>>>>>> |36.306   |           OLCAck  |                   | H245
>>>>>>> | openLogicalChannelAck
>>>>>>> |
>>>>>>> |         |(44572)  <------------------  (1720)   |
>>>>>>> |
>>>>>>> |36.318   |         RTP (g729)                    |RTP Num packets:36
>>>>>>> |  Duration:0.699s SSRC:0x6D89869
>>>>>>> |
>>>>>>> |         |(5028)   ------------------>  (20972)  |
>>>>>>> |
>>>>>>> |41.658   |         connect   |                   |H225 TunnH245:on
>>>>>>> | FS:off
>>>>>>> |
>>>>>>> |         |(44572)  <------------------  (1720)   |
>>>>>>> |
>>>>>>> |41.795   |         RTP (g729)                    |RTP Num
>>>>>>> | packets:540  Duration:17.612s SSRC:0x3B0891B9
>>>>>>> |
>>>>>>> |         |(5028)   ------------------>  (20972)  |
>>>>>>> |
>>>>>>> |59.427   |         releaseComplete  ESC           |H225 Q931 Rel
>>>>>>> | Cause (16):Normal call clearing
>>>>>>> |
>>>>>>> |         |(44572)  ------------------>  (1720)   |
>>>>>>> |
>>>>>>> |59.434   |         releaseComplete  ESC           |H225 Q931 Rel
>>>>>>> | Cause (16):Normal call clearing
>>>>>>> |
>>>>>>> |         |(44572)  <------------------  (1720)   |
>>>>>>> 
>>>>>>> Asymetrixs.net
>>>>>>> Koochy Black
>>>>>>> 
>>>>>>> Mailto: koochy@a...
>>>>>>> 
>>>>>>> On 11.07.2011, at 14:51, Vedran Zeljeznak wrote:
>>>>>>>> hi,
>>>>>>>> 
>>>>>>>> I'm trying to setup Yate as a VoIP router and i have a problem with
>>>>>>>> one way audio RTP problem when early media occurs in H.323 call.
>>>>>>>> 
>>>>>>>> I have two H.323 trunks, one between PBX and Yate and the other
>>>>>>>> H.323 trunk is between Yate and H.323 provider (PSTN). When i dial
>>>>>>>> from PBX (LegA) to Yate and route a call to H.323 provider (LegB)
>>>>>>>> one way audio problem occures  and only audio from LegB to LegA is
>>>>>>>> heard.
>>>>>>>> 
>>>>>>>> I've done some testing and the following statements best describe
>>>>>>>> how one way audio happens when using Yate H.323 module:
>>>>>>>> 1. Early media from LegB - When H.245 address parameter comes in
>>>>>>>> H.225 messages before H.225 CONNECT message (CallProceeding,
>>>>>>>> Alerting, ...) from LegB and H.245 negotiation is done before H.225
>>>>>>>> CONNECT message then RTP stream from LegB to LegA works fine but RTP
>>>>>>>> stream from LegA to LegB doesn't work.
>>>>>>>> 2. No early media from LegB - When H.245 address parameter comes in
>>>>>>>> H.225 CONNECT message from LegB and H.245 is negotiation is done
>>>>>>>> during or after H.225 CONNECT message from LegB then RTP stream then
>>>>>>>> RTP streams from LegA to LegB and from LegB to LegA work fine.
>>>>>>>> 
>>>>>>>> I've made a PCAP file with tcpdump and i've used wireshark to
>>>>>>>> analyse H.323 traffic and from the network side everything looks OK,
>>>>>>>> H.225 and H.245 messages occur in the right order and RTP packets
>>>>>>>> come and go from LegA and LegB. I've looked in yate.log file and i
>>>>>>>> haven't found any clues to why yate behaves this way. It looks like
>>>>>>>> there is a problem with Yate somewhere but i can't pinpoint the
>>>>>>>> problem in Yate.
>>>>>>>> 
>>>>>>>> Has anybody encountered this problem?
>>>>>>>> 
>>>>>>>> Do you have any ideas where to start to look for a problem, could it
>>>>>>>> be in yRTP or OpenH323 module or have i misconfigured something?
>>>>>>>> 
>>>>>>>> ---
>>>>>>>> Vedran Zeljeznak

>>>>>>> 



Hi Paul,

thank you for having a look. Here is my setup:

server A -> caller side
server B yate version 3.3.2 stable -> called side

Call from server A -> server B is H233
Call from server B -> called is SIP
Server B makes h323 -> sip proxing

scenario 1:

caller->server A -> server B->called
config:
external_rtp=no
trace: trace-oh323-rtp.pcap
timeline:
1) called phone rings -> no audio -> hangup 
    caller -> ring tone
2) called phone rings -> audio
    caller -> audio ->> Call works

So on Server B the first outgoing call fails but the second is working. Why yate generates two outgoinglegs...I donn't know..could be an reINVITE from my provider...havn't checked it yet

scenario 2:

caller->server A -> server B->called
config:
external_rtp=yes
trace: trace-yrtp-rtp.pcap
timeline:
2) called phone rings -> NO audio
    caller -> audio ->> One way audio

Same configuration like scenario 2 works on yate 3.0.0 the only other difference is the database yate 3.0.0 works with mysql and 3.3.2 with postgree

Call Parameters:
rtp_forward = no
rtp_localip = server B address
format = g729
formats = g729,g723,gsm,alaw,mulaw


Asymetrixs.net
Koochy Black

Mailto: koochy@a...




On 12.07.2011, at 13:38, Paul Chitescu wrote:

Hi!

Can you upload the capture somewhere?

I want to see if:
- Media addresses are correctly exchanged in signaling
- RTP packets are actually received / sent to the proper addresses

I saw a decoded capture on the list but there's much more info not displayed.

Paul


On Tuesday 12 July 2011 02:24:30 pm Kiarash Ghiaseddin wrote:
Seems that you are right.. I've tested with 4 calls and it works. Audio is
working...tcpdump shows that h245tunnling is on and faststart is off. I'll
trie to retest it with old external_rtp=yes again... Is it a yrtp bug? What
you think?


Asymetrixs.net
Koochy Black

Mailto: koochy@a...

On 12.07.2011, at 13:12, Vedran Zeljeznak wrote:
i didn't say it was the solution :-).

---
Vedran Zeljeznak



On Tue, Jul 12, 2011 at 12:57 PM, Kiarash Ghiaseddin

<koochy@a...> wrote:
Thank you for the Information I'll check out and write back.
But using the openh323 rtp stack should be real slow compared to
yrtp.....I'll try it.



Asymetrixs.net
Koochy Black

Mailto: koochy@a...

On 12.07.2011, at 12:50, Vedran Zeljeznak wrote:
Looks like yrtp is the problem.
When i set 'external_rtp=no' in h323chan.conf which enables native
(OpenH323) RTP stack for h323chan then early media works and there are
no problems with one way media.

---
Vedran Zeljeznak



On Tue, Jul 12, 2011 at 8:59 AM, Vedran Zeljeznak

<vedran.zeljeznak@g...> wrote:
it looks like whenever OpenH323 stack through Yate h323chan opens a
LogicalChannel and RTP channel on H.225 messages prior to H.225
CONNECT message audio doesn't work at all or you get one way audio.

Does anybody have an idea where to start looking for a solution to
this problem?

---
Vedran Zeljeznak



On Mon, Jul 11, 2011 at 3:13 PM, Kiarash Ghiaseddin

<koochy@a...> wrote:
Hi,

I'm having a problem like this for some times now. Have you checked
the RTP address which are used? (connect to rmanager sniffer enable,
sniffer filter chan.rtp). It looks like rtp is transmitted over the
yate server. My setup is a bit different I have h323 to sip proxy,
but exactly the same problem. Just oneway audio....and ther is no nat
or anything else.... I've even seen in wireshark that RTP stream form
called to caller is g723 and from caller to called g729 ....
strange.... so one call two different codecs....but just one way
audio.... Well I think, if everything else is configured correct
(ips, firewall, port, Fast Start, H245 Tunneling)...that it should be
codec problem....but I'm not sure....

I've send my callflow to... as you can see RTP is send in both
directions but only way audio while calling...strange....I'm pretty
sure the same configuration on other systems ( before version 3.1)
This behaviour is for yate 3.3.2-stable.....

Has anybody an idea?

|Time     | Inital Server                       |
|
|         |                   | Yate Server    |
|
|29.013   |         setup OLC (setup OLC (A g729 g729 g7231 g7231 ...
| TCS (TCS (A g729 g7231 g7231 gsmFR)  MSD           |H225 From:
| 02181644444 To:1505 TunnH245:on FS:on
|
|         |(44572)  ------------------>  (1720)   |
|
|29.049   |         callProceeding                |H225 TunnH245:on
| FS:off
|
|         |(44572)  <------------------  (1720)   |
|
|29.091   |          TCS (TCS (A g711U gsmFR g7231 g7231 g7231
| g72...g  TCSAck   MSDAck           | H245 terminalCapabilitySet
| H245 terminalCapabilitySetAck H245 masterSlaveDeterminationAck
|
|         |(44572)  <------------------  (1720)   |
|
|29.222   |           TCSAck   MSDAck             | H245
| terminalCapabilitySetAck H245 masterSlaveDeterminationAck
|
|         |(44572)  ------------------>  (1720)   |
|
|29.228   |          RTDR     |                   | H245
| roundTripDelayRequest
|
|         |(44572)  <------------------  (1720)   |
|
|29.355   |           RTDResponse                 | H245
| roundTripDelayResponse
|
|         |(44572)  ------------------>  (1720)   |
|
|36.029   |          TCS (TCS (AB g729A g729)           | H245
| terminalCapabilitySet
|
|         |(44572)  <------------------  (1720)   |
|
|36.160   |           TCSAck  |                   | H245
| terminalCapabilitySetAck
|
|         |(44572)  ------------------>  (1720)   |
|
|36.167   |          OLC  (g729A)                 | H245
| openLogicalChannel
|
|         |(44572)  <------------------  (1720)   |
|
|36.294   |         RTP (g729)                    |RTP Num packets:6 
| Duration:0.000s SSRC:0x6D89869
|
|         |(5028)   ------------------>  (20972)  |
|
|36.294   |           OLCAck  OLC  (g729A)           | H245
| openLogicalChannelAck H245 openLogicalChannel
|
|         |(44572)  ------------------>  (1720)   |
|
|36.294   |         RTP (g729)                    |RTP Num
| packets:187  Duration:0.004s SSRC:0x6D89869
|
|         |(5028)   ------------------>  (20972)  |
|
|36.305   |         RTP (g729)                    |RTP Num
| packets:903  Duration:23.080s SSRC:0x67A4CB2D
|
|         |(5028)   <------------------  (20972)  |
|
|36.306   |           OLCAck  |                   | H245
| openLogicalChannelAck
|
|         |(44572)  <------------------  (1720)   |
|
|36.318   |         RTP (g729)                    |RTP Num packets:36
|  Duration:0.699s SSRC:0x6D89869
|
|         |(5028)   ------------------>  (20972)  |
|
|41.658   |         connect   |                   |H225 TunnH245:on
| FS:off
|
|         |(44572)  <------------------  (1720)   |
|
|41.795   |         RTP (g729)                    |RTP Num
| packets:540  Duration:17.612s SSRC:0x3B0891B9
|
|         |(5028)   ------------------>  (20972)  |
|
|59.427   |         releaseComplete  ESC           |H225 Q931 Rel
| Cause (16):Normal call clearing
|
|         |(44572)  ------------------>  (1720)   |
|
|59.434   |         releaseComplete  ESC           |H225 Q931 Rel
| Cause (16):Normal call clearing
|
|         |(44572)  <------------------  (1720)   |

Asymetrixs.net
Koochy Black

Mailto: koochy@a...

On 11.07.2011, at 14:51, Vedran Zeljeznak wrote:
hi,

I'm trying to setup Yate as a VoIP router and i have a problem with
one way audio RTP problem when early media occurs in H.323 call.

I have two H.323 trunks, one between PBX and Yate and the other
H.323 trunk is between Yate and H.323 provider (PSTN). When i dial
from PBX (LegA) to Yate and route a call to H.323 provider (LegB)
one way audio problem occures  and only audio from LegB to LegA is
heard.

I've done some testing and the following statements best describe
how one way audio happens when using Yate H.323 module:
1. Early media from LegB - When H.245 address parameter comes in
H.225 messages before H.225 CONNECT message (CallProceeding,
Alerting, ...) from LegB and H.245 negotiation is done before H.225
CONNECT message then RTP stream from LegB to LegA works fine but RTP
stream from LegA to LegB doesn't work.
2. No early media from LegB - When H.245 address parameter comes in
H.225 CONNECT message from LegB and H.245 is negotiation is done
during or after H.225 CONNECT message from LegB then RTP stream then
RTP streams from LegA to LegB and from LegB to LegA work fine.

I've made a PCAP file with tcpdump and i've used wireshark to
analyse H.323 traffic and from the network side everything looks OK,
H.225 and H.245 messages occur in the right order and RTP packets
come and go from LegA and LegB. I've looked in yate.log file and i
haven't found any clues to why yate behaves this way. It looks like
there is a problem with Yate somewhere but i can't pinpoint the
problem in Yate.

Has anybody encountered this problem?

Do you have any ideas where to start to look for a problem, could it
be in yRTP or OpenH323 module or have i misconfigured something?

---
Vedran Zeljeznak