Discussion:
[PulseAudio] #890: AirPlay (raop) unable to initiate playback on Denon 4311
PulseAudio
2011-01-07 17:38:40 UTC
Permalink
#890: AirPlay (raop) unable to initiate playback on Denon 4311
----------------------------------------+-----------------------------------
Reporter: kristian | Owner: coling
Type: defect | Status: new
Milestone: | Component: module-raop-*
Keywords: raop, denon, rtsp, airplay |
----------------------------------------+-----------------------------------
With AirPlay support on recent Denon receivers, the raop module seems
unable to initate playback.

The receiver is correctly discovered and I can select the sink, but no
playback initates.

Looking at the packet capture I can see that the raop module connects and
issues an ANNOUNCE message, but doesn't get any response. The only
response it gets is actually events from the receiver (ie: navigation,
volume changes...).

I've noticed that the 4311's Telnet interface is very very picky about
Input too, and only accepts \r as line separator - and better yet: It has
no way of detecting erroneous input and will just ignore input until
reconnect if you make a mistake. Not exactly fun.

As a test I wrote a simple gawk script and blindly copied the output that
the raop sink sent, replacing \r\n with \r -- or \n - recomputing the
content-length. Unfortunately, it had little effect.

I'm using 0.9.22 (Ubuntu). I didn't see any obvious commits since then
that looked like it affected RAOP, but I'll test patches and such if
needed.

I can attach any packet capture upon request - and I'll continue debugging
this (still new to RTSP, RAOP and all that), but I figure I might as well
post a bug in case I'm not alone.
--
Ticket URL: <http://pulseaudio.org/ticket/890>
PulseAudio <http://pulseaudio.org/>
The PulseAudio Sound Server
PulseAudio
2011-01-07 17:43:10 UTC
Permalink
#890: AirPlay (raop) unable to initiate playback on Denon 4311
-----------------------+----------------------------------------------------
Reporter: kristian | Owner: coling
Type: defect | Status: new
Milestone: | Component: module-raop-*
Resolution: | Keywords: raop, denon, rtsp, airplay
-----------------------+----------------------------------------------------

Comment(by kristian):

Err, note that the telnet interface-comment was just to emphasis that it's
not unlikely that the same applies to RTSP. The strongly suggests that a
receiver should accept and anticipate both \r, \n and \r\n, but I doubt
Denon would go out of their way to do that.
--
Ticket URL: <http://pulseaudio.org/ticket/890#comment:1>
PulseAudio <http://pulseaudio.org/>
The PulseAudio Sound Server
PulseAudio
2011-01-07 21:13:08 UTC
Permalink
#890: AirPlay (raop) unable to initiate playback on Denon 4311
-----------------------+----------------------------------------------------
Reporter: kristian | Owner: coling
Type: defect | Status: new
Milestone: | Component: module-raop-*
Resolution: | Keywords: raop, denon, rtsp, airplay
-----------------------+----------------------------------------------------

Comment(by kristian):

A little update. After quite a bit of poking and prodding and connecting
to random port, I discovered this:

{{{

***@luke:~$ telnet denon 1026
Trying 192.168.10.23...
Connected to denon.kristian.int.
Escape character is '^]'.
OPTIONS * RTSP/1.0

RTSP/1.0 400 Bad Request
Server: AirTunes/103.2

OPTIONS * RTSP/1.0
CSeq: 1

RTSP/1.0 200 OK
Public: ANNOUNCE, SETUP, RECORD, PAUSE, FLUSH, TEARDOWN, OPTIONS,
GET_PARAMETER, SET_PARAMETER, POST, GET
Server: AirTunes/103.2
CSeq: 1

}}}

Note that the 1026-port is not static. Before a restart of the receiver,
it was listening on 1028 - I presume that was the same service.
--
Ticket URL: <http://pulseaudio.org/ticket/890#comment:2>
PulseAudio <http://pulseaudio.org/>
The PulseAudio Sound Server
PulseAudio
2011-01-07 21:18:45 UTC
Permalink
#890: AirPlay (raop) unable to initiate playback on Denon 4311
-----------------------+----------------------------------------------------
Reporter: kristian | Owner: coling
Type: defect | Status: new
Milestone: | Component: module-raop-*
Resolution: | Keywords: raop, denon, rtsp, airplay
-----------------------+----------------------------------------------------

Comment(by kristian):

And while I'm talking with myself anyway: Since the port number is
hardcoded in RAOP and I'm lazy, I port-forwarded 5000 to 1026 and got a
step further. Not unsurprisngly, it still doesn't quite work, but inching
closer.

{{{

Jan 7 22:16:43 luke pulseaudio[18542]: [modules/rtp/rtsp_client.c:322
on_connection()] Established RTSP connection from local ip 192.168.10.200
Jan 7 22:16:43 luke pulseaudio[18542]: [modules/raop/raop_client.c:256
rtsp_cb()] RAOP: CONNECTED
Jan 7 22:16:43 luke pulseaudio[18542]: [modules/rtp/rtsp_client.c:409
rtsp_exec()] Sending command: ANNOUNCE
Jan 7 22:16:43 luke pulseaudio[18542]: [modules/rtp/rtsp_client.c:222
line_callback()] Full response received. Dispatching
Jan 7 22:16:43 luke pulseaudio[18542]: [modules/raop/raop_client.c:295
rtsp_cb()] RAOP: ANNOUNCED
Jan 7 22:16:43 luke pulseaudio[18542]: [modules/rtp/rtsp_client.c:409
rtsp_exec()] Sending command: SETUP
Jan 7 22:16:43 luke pulseaudio[18542]: [modules/rtp/rtsp_client.c:206
line_callback()] Unexpected response: RTSP/1.0 500 Internal Server Error
Jan 7 22:16:43 luke pulseaudio[18542]: [modules/rtp/rtsp_client.c:206
line_callback()] Unexpected response: Server: AirTunes/103.2
Jan 7 22:16:43 luke pulseaudio[18542]: [modules/rtp/rtsp_client.c:206
line_callback()] Unexpected response: CSeq: 2
Jan 7 22:16:43 luke pulseaudio[18542]: [modules/rtp/rtsp_client.c:206
line_callback()] Unexpected response:
}}}
--
Ticket URL: <http://pulseaudio.org/ticket/890#comment:3>
PulseAudio <http://pulseaudio.org/>
The PulseAudio Sound Server
PulseAudio
2011-01-08 03:53:36 UTC
Permalink
#890: AirPlay (raop) unable to initiate playback on Denon 4311
-----------------------+----------------------------------------------------
Reporter: kristian | Owner: coling
Type: defect | Status: new
Milestone: | Component: module-raop-*
Resolution: | Keywords: raop, denon, rtsp, airplay
-----------------------+----------------------------------------------------

Comment(by kristian):

An other update: The port number is announced in a broadcasted dns
response sent periodically and on startup. It's contained in a TXT record
with various other information which I've yet to decode - some easier than
other (ie: sr=44100 looks rather familiar).

The good thing is that it almost looks like the AppleChallenge is
optional.

Now if only I had something to test it with that worked, things would be
easier. I suppose I should just get some box to run iTunes on to test and
grab some working data. I've yet to decode the reason behind the 500
Internal Server Error. The whole thing is getting slightly frustrating.

Also: sorry for using the bug tracker to talk to myself instead of
collecting all this information in one go (I seem to have spent 20+ hours
on this the last two days). I hope this isn't entirely the wrong place to
bring this up...
--
Ticket URL: <http://pulseaudio.org/ticket/890#comment:4>
PulseAudio <http://pulseaudio.org/>
The PulseAudio Sound Server
PulseAudio
2011-01-10 14:50:16 UTC
Permalink
#890: AirPlay (raop) unable to initiate playback on Denon 4311
-----------------------+----------------------------------------------------
Reporter: kristian | Owner: coling
Type: defect | Status: new
Milestone: | Component: module-raop-*
Resolution: | Keywords: raop, denon, rtsp, airplay
-----------------------+----------------------------------------------------

Comment(by coling):

Hi,

Here is as good a place as any, but for discussion and general to-ing and
fro-ing, the mailing list is better. Also you can use IRC, we are usually
on #pulseaudio and there is also #airtunes2 which has a very small set of
people there but should be a good place to bounce ideas off (if you are
patient!)

Col
--
Ticket URL: <http://pulseaudio.org/ticket/890#comment:5>
PulseAudio <http://pulseaudio.org/>
The PulseAudio Sound Server
PulseAudio
2012-01-03 07:58:51 UTC
Permalink
#890: AirPlay (raop) unable to initiate playback on Denon 4311
-----------------------+----------------------------------------------------
Reporter: kristian | Owner: coling
Type: defect | Status: new
Milestone: | Component: module-raop-*
Resolution: | Keywords: raop, denon, rtsp, airplay
-----------------------+----------------------------------------------------

Comment(by miguit79):

Hi i'm affected with the same issue i have Denon avr-1912 i can play music
from apple and android devices but pulseaudio fails to communicate
i'm using uuntu 11.10 64bit and it's standard
pulseaudio 1:1.0-0ubuntu3 PulseAudio sound server
pulseaudio-mod 1:1.0-0ubuntu3 RAOP module for PulseAudio sound server
--
Ticket URL: <http://pulseaudio.org/ticket/890#comment:6>
PulseAudio <http://pulseaudio.org/>
The PulseAudio Sound Server
PulseAudio
2012-02-25 19:23:17 UTC
Permalink
#890: AirPlay (raop) unable to initiate playback on Denon 4311
-----------------------+----------------------------------------------------
Reporter: kristian | Owner: coling
Type: defect | Status: new
Milestone: | Component: module-raop-*
Resolution: | Keywords: raop, denon, rtsp, airplay
-----------------------+----------------------------------------------------

Comment(by nickbp):

I also am unable to use pulseaudio to connect to an AVR-1912. It works
fine with other methods, in my case I was able to successfully control the
device with an android client named "iMediaShare Lite", which likely rules
out the device itself as the cause.

The above attachment is the wireshark dump for the following log:

D: [pulseaudio] module-raop-discover.c: Found RAOP: AVR-1912
D: [pulseaudio] module-raop-discover.c: Found key: 'txtvers' with value:
'1'
D: [pulseaudio] module-raop-discover.c: Found key: 'ch' with value: '2'
D: [pulseaudio] module-raop-discover.c: Found key: 'cn' with value: '0,1'
D: [pulseaudio] module-raop-discover.c: Found key: 'et' with value: '0,4'
D: [pulseaudio] module-raop-discover.c: Found key: 'sv' with value:
'false'
D: [pulseaudio] module-raop-discover.c: Found key: 'da' with value: 'true'
D: [pulseaudio] module-raop-discover.c: Found key: 'sr' with value:
'44100'
D: [pulseaudio] module-raop-discover.c: Found key: 'ss' with value: '16'
D: [pulseaudio] module-raop-discover.c: Found key: 'pw' with value:
'false'
D: [pulseaudio] module-raop-discover.c: Found key: 'vn' with value:
'65537'
D: [pulseaudio] module-raop-discover.c: Found key: 'tp' with value: 'UDP'
D: [pulseaudio] module-raop-discover.c: Found key: 'md' with value:
'0,1,2'
D: [pulseaudio] module-raop-discover.c: Found key: 'vs' with value:
'103.2'
D: [pulseaudio] module-raop-discover.c: Found key: 'am' with value:
'DENON,1'
D: [pulseaudio] module-raop-discover.c: Found key: 'fv' with value:
'65.8881'
D: [pulseaudio] module-raop-discover.c: Loading module-raop-sink with
arguments 'server=[10.0.0.6]:1024 sink_name=raop.AVR-1912.local
sink_properties='device.description="AVR-1912"''

D: [pulseaudio] rtsp_client.c: Attempting to connect to server
'10.0.0.6:1024'
D: [raop-sink] module-raop-sink.c: Thread starting up
D: [pulseaudio] protocol-dbus.c: Interface org.PulseAudio.Core1.Device
added for object /org/pulseaudio/core1/source2
D: [pulseaudio] protocol-dbus.c: Interface org.PulseAudio.Core1.Source
added for object /org/pulseaudio/core1/source2
D: [pulseaudio] module-device-restore.c: Could not set format on sink
raop.AVR-1912.local
D: [pulseaudio] module-suspend-on-idle.c: Sink raop.AVR-1912.local becomes
idle, timeout in 5 seconds.
D: [pulseaudio] protocol-dbus.c: Interface org.PulseAudio.Core1.Device
added for object /org/pulseaudio/core1/sink1
D: [pulseaudio] protocol-dbus.c: Interface org.PulseAudio.Core1.Sink added
for object /org/pulseaudio/core1/sink1
I: [pulseaudio] module.c: Loaded "module-raop-sink" (index: #22; argument:
"server=[10.0.0.6]:1024 sink_name=raop.AVR-1912.local
sink_properties='device.description="AVR-1912"'").
D: [pulseaudio] protocol-dbus.c: Interface org.PulseAudio.Core1.Module
added for object /org/pulseaudio/core1/module22
D: [pulseaudio] rtsp_client.c: Established RTSP connection from local ip
10.0.0.5
D: [pulseaudio] raop_client.c: RAOP: CONNECTED
D: [pulseaudio] rtsp_client.c: Sending command: ANNOUNCE
D: [pulseaudio] rtsp_client.c: Full response received. Dispatching
D: [pulseaudio] raop_client.c: RAOP: ANNOUNCED
D: [pulseaudio] rtsp_client.c: Sending command: SETUP
W: [pulseaudio] rtsp_client.c: Unexpected response: RTSP/1.0 500 Internal
Server Error
W: [pulseaudio] rtsp_client.c: Unexpected response: Server: AirTunes/103.2
W: [pulseaudio] rtsp_client.c: Unexpected response: CSeq: 2
W: [pulseaudio] rtsp_client.c: Unexpected response:

The 1912 briefly shows a "Connecting..." message until it presumably gives
up after the failure.
--
Ticket URL: <http://pulseaudio.org/ticket/890#comment:7>
PulseAudio <http://pulseaudio.org/>
The PulseAudio Sound Server
PulseAudio
2012-02-25 19:24:44 UTC
Permalink
#890: AirPlay (raop) unable to initiate playback on Denon 4311 and 1912
-----------------------+----------------------------------------------------
Reporter: kristian | Owner: coling
Type: defect | Status: new
Milestone: | Component: module-raop-*
Resolution: | Keywords: raop, denon, rtsp, airplay
-----------------------+----------------------------------------------------

Comment(by nickbp):

Uh, I guess I'll just add that log as another attachment.
--
Ticket URL: <http://pulseaudio.org/ticket/890#comment:8>
PulseAudio <http://pulseaudio.org/>
The PulseAudio Sound Server
PulseAudio
2012-02-25 19:30:34 UTC
Permalink
#890: AirPlay (raop) unable to initiate playback on Denon 4311 and 1912
-----------------------+----------------------------------------------------
Reporter: kristian | Owner: coling
Type: defect | Status: new
Milestone: | Component: module-raop-*
Resolution: | Keywords: raop, denon, rtsp, airplay
-----------------------+----------------------------------------------------

Comment(by nickbp):

IRC says that this tracker is obsolete, so I've also added the above here:
https://bugs.freedesktop.org/show_bug.cgi?id=45228
--
Ticket URL: <http://pulseaudio.org/ticket/890#comment:9>
PulseAudio <http://pulseaudio.org/>
The PulseAudio Sound Server
Loading...