[ previous ] [ next ] [ threads ]
 To :  Serge Yuriev <nevian@n...>
 From :  Bill Simon <bill@b...>
 Subject :  Re: [yate] RFC25433 hold bug?
 Date :  Fri, 25 Mar 2016 10:43:46 -0400
I raised this same issue on the mailing list long ago. Agree, it should be
corrected.

On Fri, Mar 25, 2016 at 10:36 AM, Serge Yuriev  wrote:

> Hello,
>
> Looks like YATE doing something wrong - why it nulls RTP port (and
> terminates stream) on 200 OK to hold ReINVITE? Maybe it's somehow my fault?
> I opened ticket in Mantis more than month ago but no reaction :(
>
> B.5 Putting Media Streams on Hold
>
>  If a party in a call wants to put the other party "on hold", i.e.,
>  request that it temporarily stops sending one or more media streams,
>  a party re-invites the other by sending an INVITE request with a
>  modified session description. The session description is the same as
>  in the original invitation (or response), but the "c" destination
>  addresses for the media streams to be put on hold are set to zero
>  (0.0.0.0).
>
>
> 2016-02-05_19:25:59.474980  'udp:0.0.0.0:5060' received 1150
> bytes SIP message from 10.0.64.62:5060 [0x2049830]
> ------
> INVITE sip:nevian@1...:5060 SIP/2.0
> Via: SIP/2.0/UDP 10.0.64.62:5060;branch=z9hG4bK69a51668fe2a
> From:  >;tag=1096836~27154efa-6325-45a2-9e47-67e5d9302ebc-227774358
> To: ;tag=563213412
> Date: Fri, 05 Feb 2016 16:25:36 GMT
> Call-ID: 889575930@1...
> Supported: 100rel,timer,resource-priority,replaces
> Min-SE:  1800
> User-Agent: Cisco-CP7942G/9.3.1
> Allow: INVITE, OPTIONS, INFO, BYE, CANCEL, ACK, PRACK, UPDATE, REFER,
> SUBSCRIBE, NOTIFY
> CSeq: 101 INVITE
> Max-Forwards: 70
> Expires: 180
> Allow-Events: presence
> Supported: X-cisco-srtp-fallback
> Supported: Geolocation
> P-Asserted-Identity: "IT, Юрьев Сергей" 
> Remote-Party-ID: "IT, Юрьев Сергей"  >;party=calling;screen=yes;privacy=off
> Contact: 
> Content-Type: application/sdp
> Content-Length: 243
>
> v=0
> o=CiscoSystemsCCM-SIP 1096836 2 IN IP4 10.0.64.62
> s=SIP Call
> c=IN IP4 0.0.0.0
> b=TIAS:64000
> b=AS:64
> t=0 0
> m=audio 27312 RTP/AVP 0 101
> a=rtpmap:0 PCMU/8000
> a=ptime:20
> a=inactive
> a=rtpmap:101 telephone-event/8000
> a=fmtp:101 0-15
> ------
> 2016-02-05_19:25:59.482419  'udp:0.0.0.0:5060' sending code 100
> 0x7f497000c690 to 10.0.64.62:5060 [0x2049830]
> ------
> SIP/2.0 100 Trying
> Via: SIP/2.0/UDP 10.0.64.62:5060
> ;branch=z9hG4bK69a51668fe2a;received=10.0.64.62
> From:  >;tag=1096836~27154efa-6325-45a2-9e47-67e5d9302ebc-227774358
> To: ;tag=563213412
> Call-ID: 889575930@1...
> CSeq: 101 INVITE
> Server: YATE/5.5.1
> Content-Length: 0
>
> ------
> 2016-02-05_19:25:59.482489  New RTP addr '(null)'
> Sniffed 'chan.rtp' time=1454689559.482496
> thread=0x20796f0 'YSIP EndPoint'
> data=(nil)
> retval='(null)'
> param['rtpid'] = 'yrtp/760359394'
> param['media'] = 'audio'
> param['transport'] = 'RTP/AVP'
> param['terminate'] = 'true'
> param['call_direction'] = 'outgoing'
> param['call_address'] = '10.0.64.62:5060'
> param['call_status'] = 'answered'
> param['call_billid'] = '1454518851-3'
> 2016-02-05_19:25:59.482520  RTP/AVP message received
> 2016-02-05_19:25:59.482527  Wrapper 0x7f496c0087b0 found by ID
> 'yrtp/760359394'
> 2016-02-05_19:25:59.482533  YRTPWrapper::terminate()
> [0x7f496c0087b0]
> Returned true 'chan.rtp' delay=0.000045
> thread=0x20796f0 'YSIP EndPoint'
> data=(nil)
> retval='(null)'
> param['rtpid'] = 'yrtp/760359394'
> param['media'] = 'audio'
> param['transport'] = 'RTP/AVP'
> param['terminate'] = 'true'
> param['call_direction'] = 'outgoing'
> param['call_address'] = '10.0.64.62:5060'
> param['call_status'] = 'answered'
> param['call_billid'] = '1454518851-3'
> param['handlers'] = 'yrtp:100'
> param['localip'] = '10.186.45.70'
> param['localport'] = '31392'
> param['stats'] = 'PS=468,OS=74880,PR=316,OR=75840,PL=0'
> param['status'] = 'terminated'
> 2016-02-05_19:25:59.482562 >>>
> DataTranslator::detachChain(0x7f496c008e50,0x7f4978009c70)
> 2016-02-05_19:25:59.482567 <<< DataTranslator::detachChain
> 2016-02-05_19:25:59.482571 >>>
> DataTranslator::detachChain(0x7f4978009ae0,0x7f496c009030)
> 2016-02-05_19:25:59.482576 <<< DataTranslator::detachChain
> 2016-02-05_19:25:59.482581  YRTPSource::~YRTPSource()
> [0x7f496c008e50] wrapper=0x7f496c0087b0 ts=75600
> 2016-02-05_19:25:59.482587  YRTPConsumer::~YRTPConsumer()
> [0x7f496c009030] wrapper=0x7f496c0087b0 ts=74720
> 2016-02-05_19:25:59.482592  YRTPWrapper::~YRTPWrapper() bidir
> 'audio' [0x7f496c0087b0]
> 2016-02-05_19:25:59.482597  Cleaning up RTP 0x7f496c008960
> [0x7f496c0087b0]
> 2016-02-05_19:25:59.482624  Set media: audio=mulaw
> [0x7f496c0060b0]
> 2016-02-05_19:25:59.482687  'udp:0.0.0.0:5060' sending code 200
> 0x7f4970012d20 to 10.0.64.62:5060 [0x2049830]
> ------
> SIP/2.0 200 OK
> Via: SIP/2.0/UDP 10.0.64.62:5060
> ;branch=z9hG4bK69a51668fe2a;received=10.0.64.62
> From:  >;tag=1096836~27154efa-6325-45a2-9e47-67e5d9302ebc-227774358
> To: ;tag=563213412
> Call-ID: 889575930@1...
> CSeq: 101 INVITE
> Server: YATE/5.5.1
> Contact: 
> Allow: ACK, INVITE, BYE, CANCEL, REGISTER, REFER, OPTIONS, PRACK, INFO
> Content-Type: application/sdp
> Content-Length: 174
>
> v=0
> o=yate 1454689545 1454689546 IN IP4 10.186.45.70
> s=SIP Call
> c=IN IP4 0.0.0.0
> t=0 0
> m=audio 0 RTP/AVP 0 101
> a=rtpmap:0 PCMU/8000
> a=rtpmap:101 telephone-event/8000
>
>
> --
> Serge S. Yuriev
> Lead VoIP engineer
>
>
>
> --
> Serge via mobile



I raised this same issue on the mailing list long ago. Agree, it should be corrected.

On Fri, Mar 25, 2016 at 10:36 AM, Serge Yuriev <nevian@n...> wrote:
Hello,

Looks like YATE doing something wrong - why it nulls RTP port (and terminates stream) on 200 OK to hold ReINVITE? Maybe it's somehow my fault?
I opened ticket in Mantis more than month ago but no reaction :(

B.5 Putting Media Streams on Hold

 If a party in a call wants to put the other party "on hold", i.e.,
 request that it temporarily stops sending one or more media streams,
 a party re-invites the other by sending an INVITE request with a
 modified session description. The session description is the same as
 in the original invitation (or response), but the "c" destination
 addresses for the media streams to be put on hold are set to zero
 (0.0.0.0).


2016-02-05_19:25:59.474980 <sip:INFO> 'udp:0.0.0.0:5060' received 1150 bytes SIP message from 10.0.64.62:5060 [0x2049830]
------
INVITE sip:nevian@1...:5060 SIP/2.0
Via: SIP/2.0/UDP 10.0.64.62:5060;branch=z9hG4bK69a51668fe2a
From: <sip:12550@1...>;tag=1096836~27154efa-6325-45a2-9e47-67e5d9302ebc-227774358
To: <sip:nevian@1...>;tag=563213412
Date: Fri, 05 Feb 2016 16:25:36 GMT
Call-ID: 889575930@1...
Supported: 100rel,timer,resource-priority,replaces
Min-SE:  1800
User-Agent: Cisco-CP7942G/9.3.1
Allow: INVITE, OPTIONS, INFO, BYE, CANCEL, ACK, PRACK, UPDATE, REFER, SUBSCRIBE, NOTIFY
CSeq: 101 INVITE
Max-Forwards: 70
Expires: 180
Allow-Events: presence
Supported: X-cisco-srtp-fallback
Supported: Geolocation
P-Asserted-Identity: "IT, Юрьев Сергей" <sip:12550@1...>
Remote-Party-ID: "IT, Юрьев Сергей" <sip:12550@1...>;party=calling;screen=yes;privacy=off
Contact: <sip:nevian@1...:5060>
Content-Type: application/sdp
Content-Length: 243

v=0
o=CiscoSystemsCCM-SIP 1096836 2 IN IP4 10.0.64.62
s=SIP Call
c=IN IP4 0.0.0.0
b=TIAS:64000
b=AS:64
t=0 0
m=audio 27312 RTP/AVP 0 101
a=rtpmap:0 PCMU/8000
a=ptime:20
a=inactive
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-15
------
2016-02-05_19:25:59.482419 <sip:INFO> 'udp:0.0.0.0:5060' sending code 100 0x7f497000c690 to 10.0.64.62:5060 [0x2049830]
------
SIP/2.0 100 Trying
Via: SIP/2.0/UDP 10.0.64.62:5060;branch=z9hG4bK69a51668fe2a;received=10.0.64.62
From: <sip:12550@1...>;tag=1096836~27154efa-6325-45a2-9e47-67e5d9302ebc-227774358
To: <sip:nevian@1...>;tag=563213412
Call-ID: 889575930@1...
CSeq: 101 INVITE
Server: YATE/5.5.1
Content-Length: 0

------
2016-02-05_19:25:59.482489 <sip/6:ALL> New RTP addr '(null)'
Sniffed 'chan.rtp' time=1454689559.482496
thread=0x20796f0 'YSIP EndPoint'
data=(nil)
retval='(null)'
param['rtpid'] = 'yrtp/760359394'
param['media'] = 'audio'
param['transport'] = 'RTP/AVP'
param['terminate'] = 'true'
param['call_direction'] = 'outgoing'
param['call_address'] = '10.0.64.62:5060'
param['call_status'] = 'answered'
param['call_billid'] = '1454518851-3'
2016-02-05_19:25:59.482520 <yrtp:ALL> RTP/AVP message received
2016-02-05_19:25:59.482527 <yrtp:ALL> Wrapper 0x7f496c0087b0 found by ID 'yrtp/760359394'
2016-02-05_19:25:59.482533 <yrtp:INFO> YRTPWrapper::terminate() [0x7f496c0087b0]
Returned true 'chan.rtp' delay=0.000045
thread=0x20796f0 'YSIP EndPoint'
data=(nil)
retval='(null)'
param['rtpid'] = 'yrtp/760359394'
param['media'] = 'audio'
param['transport'] = 'RTP/AVP'
param['terminate'] = 'true'
param['call_direction'] = 'outgoing'
param['call_address'] = '10.0.64.62:5060'
param['call_status'] = 'answered'
param['call_billid'] = '1454518851-3'
param['handlers'] = 'yrtp:100'
param['localip'] = '10.186.45.70'
param['localport'] = '31392'
param['stats'] = 'PS=468,OS=74880,PR=316,OR=75840,PL=0'
param['status'] = 'terminated'
2016-02-05_19:25:59.482562 >>> DataTranslator::detachChain(0x7f496c008e50,0x7f4978009c70)
2016-02-05_19:25:59.482567 <<< DataTranslator::detachChain
2016-02-05_19:25:59.482571 >>> DataTranslator::detachChain(0x7f4978009ae0,0x7f496c009030)
2016-02-05_19:25:59.482576 <<< DataTranslator::detachChain
2016-02-05_19:25:59.482581 <yrtp:ALL> YRTPSource::~YRTPSource() [0x7f496c008e50] wrapper=0x7f496c0087b0 ts=75600
2016-02-05_19:25:59.482587 <yrtp:ALL> YRTPConsumer::~YRTPConsumer() [0x7f496c009030] wrapper=0x7f496c0087b0 ts=74720
2016-02-05_19:25:59.482592 <yrtp:ALL> YRTPWrapper::~YRTPWrapper() bidir 'audio' [0x7f496c0087b0]
2016-02-05_19:25:59.482597 <ALL> Cleaning up RTP 0x7f496c008960 [0x7f496c0087b0]
2016-02-05_19:25:59.482624 <sip/6:ALL> Set media: audio=mulaw [0x7f496c0060b0]
2016-02-05_19:25:59.482687 <sip:INFO> 'udp:0.0.0.0:5060' sending code 200 0x7f4970012d20 to 10.0.64.62:5060 [0x2049830]
------
SIP/2.0 200 OK
Via: SIP/2.0/UDP 10.0.64.62:5060;branch=z9hG4bK69a51668fe2a;received=10.0.64.62
From: <sip:12550@1...>;tag=1096836~27154efa-6325-45a2-9e47-67e5d9302ebc-227774358
To: <sip:nevian@1...>;tag=563213412
Call-ID: 889575930@1...
CSeq: 101 INVITE
Server: YATE/5.5.1
Contact: <sip:nevian@1...:5060>
Allow: ACK, INVITE, BYE, CANCEL, REGISTER, REFER, OPTIONS, PRACK, INFO
Content-Type: application/sdp
Content-Length: 174

v=0
o=yate 1454689545 1454689546 IN IP4 10.186.45.70
s=SIP Call
c=IN IP4 0.0.0.0
t=0 0
m=audio 0 RTP/AVP 0 101
a=rtpmap:0 PCMU/8000
a=rtpmap:101 telephone-event/8000


--
Serge S. Yuriev
Lead VoIP engineer



--
Serge via mobile