Page 1 of 1

MiniSAPServer announcements - not seen by Exterity receiver

Posted: 17 Sep 2010 16:55
by gerardsweeney
Hello, all..

I appreciate this is likely unfixable, but here goes..

I have a Ubuntu PC streaming most of the freeview channels using DVBlast. It also runs miniSAPserver to announce the channels.

On a PC running Win32/Ubuntu, I can see these SAP announcements in VLC and watch the channels - everything is peachy.

However - we have several Exterity IPTV receivers which support SAP Announcments (the Ubuntu PC is replacing the very expensive and very broken Exterity server which streamed channels and broadcast SAP).

These receivers don't see the SAP Announcements from my Ubuntu PC.

If I remote onto the receiver, and manually enter the UDP address for a particular channel, then it works. So it appears it's just that the receiver doesn't know how to listen for SAP announcements from MiniSAPServer.

Here is a sample of my miniSAPserver cfg file, if it helps. I've trimmed out a lot of the channels.

Code: Select all

# sap.cfg - Configuration file of the mini SAP server # Global miniSAPserver options [global] # Number of seconds between announces. 5 is default. Internet announces better use 30. sap_delay=5 # The network interface on which to stream. #interface=eth0 [program] type=udp name=4Music user=freeview machine=wswwhfview-01.erc.education site=http://wswwhfview-01.erc.education address=239.192.10.154 port=5000 playlist_group=0-9 [program] type=udp name=Absolute Radio user=freeview machine=wswwhfview-01.erc.education site=http://wswwhfview-01.erc.education address=239.192.10.151 port=5000 playlist_group=A [program] type=udp name=BBC 6 Music user=freeview machine=wswwhfview-01.erc.education site=http://wswwhfview-01.erc.education address=239.192.10.135 port=5000 playlist_group=B
On the receiver's SAP section "Channel Learning", it says:
The device listens to SAP announcements to discover channels on the network. It always listens on the address used by Exterity servers (239.255.255.255). To configure the device to listen on additional multicast addresses, enter them in the table below.


I can then add a further address if I know it.

Is there a particular address I need to add for it to hear the MiniSAPServer announcements?

(Apologies if this is horribly simplistic - I'm happy to provide more information should someone ask)

Re: MiniSAPServer announcements - not seen by Exterity recei

Posted: 18 Sep 2010 14:29
by cfarquhar
The address used for the SAP from VLC is 239.195.255.255. IN some cases, depending on the multicast address of the stream, it uses 224.2.127.254 instead. I'd assume MiniSAPServer will be the same.

On the Exterity server front, I'd be interested to know why the unit's not working, we don't see many failures in the field. If you can, you can contact me at colin.farquhar@exterity.com.

Re: MiniSAPServer announcements - not seen by Exterity recei

Posted: 19 Sep 2010 02:20
by Rémi Denis-Courmont
The rules for VLC, and IIRC minisap too:

ffXY::/8 => ff0Y:2:7ffe
other IPv6 address => ff0e::2:7ffe

224.0.0.0/24 => 224.0.0.255
239.255.0.0/16 => 239.255.255.255
239.192.0.0/14 => 239.195.255.255
other IPv4 addresses => 224.2.127.254

Re: MiniSAPServer announcements - not seen by Exterity recei

Posted: 15 Oct 2010 13:12
by gerardsweeney
Apologies for the delay in replying - things have been a bit mad lately, so this project was put on the back-burner for a little while..
The rules for VLC, and IIRC minisap too:

224.0.0.255
239.255.255.255
239.195.255.255
224.2.127.254
Thank you for those.

Unfortunately, after adding the 4 multicast addresses above, I am still unable to get my Exterity receiver to see the channels.

The only one it can see is our Exterity broadcast "brick" (a unit which converts a SCART connected device to a multicast stream).

udp://239.192.10.56:49408
group = all

Any suggestions gratefully received!

Regards,
Gerard

Re: MiniSAPServer announcements - not seen by Exterity recei

Posted: 30 Jun 2011 16:36
by akg
I am running into the same problem....VLC can see the announcements from the minisap server, but the Exterity receiver can not. I think it has to do with some of the session attributes that the Exterity encoder is sending. This is the SDP as sent from the encoder

Code: Select all

o=- 1 1 IN IP4 172.16.187.243 s=e3522 0239BD - HE t=0 0 a=exterityDeviceType:Encoder a=exterityLocation:A341BD a=exterityChannelNo:0 a=exterityOriginalNetworkId:65536 a=exterityTransportStreamId:-67 a=exterityServiceId:1 a=exterityGroups:monitoring a=exterityVideoPid:4113 a=exterityAudioPid:4352 a=x-plgroup:monitoring m=video 5000 udp 33 c=IN IP4 239.192.187.243/4
I'm guessing that the receiver is looking for specific attributes (a=) in order to populate its channel list.

Is there any way for minisap server to transmit these?

Thanks.

Re: MiniSAPServer announcements - not seen by Exterity recei

Posted: 04 Aug 2011 16:43
by gerardsweeney
Hi, akg..

I don't know if this is what you're looking for??

https://gist.github.com/96295

It's apparently "A patch against VideoLAN's miniSAPServer to allow custom SDP announcements"

For what it's worth, I'm still having the same issues... At least I'm not alone :)

Regards,
Gerard

Re: MiniSAPServer announcements - not seen by Exterity recei

Posted: 04 Aug 2011 16:47
by akg
Thanks for the suggestion. I just sent back our Exterity eval gear, so I wont be able to try it. But I'll keep this bookmarked.

Thanks!

Re: MiniSAPServer announcements - not seen by Exterity recei

Posted: 04 Aug 2011 16:53
by gerardsweeney
For what it's worth, I see that the latest version 0.3.7 has a section in its sap.cfg which reads

# If you wish to send custom SDP to clients, specify the full path to the
# SDP file
#customsdp=/path/to/broadcast.sdp

I've not found an example sdp file yet :)

Regards,
Gerard

Re: MiniSAPServer announcements - not seen by Exterity recei

Posted: 04 Aug 2011 17:33
by gerardsweeney
OK.. Time to sound stupid!!

I'm using Ubuntu and the PackageManager won't authenticate with our ISA proxy, so I have to download .deb packages.

http://packages.debian.org/squeeze/i386 ... r/download seems to be where Package Manager gets the download for MiniSapServer, but it's at 0.3.6 - which is the same version as I currently have and doesn't support the custom announcement details.

Is there any chance some kind soul would be able to walk me through updating to 0.3.7? (Did I mention I'm a complete noob at any OS other than Windows?)

Regards,
Gerard

Re: MiniSAPServer announcements - not seen by Exterity receiver

Posted: 06 Mar 2015 17:09
by Manu
Hi,

Better late than never but I think I am running into a similar issue although I have no Exterity devices in my setup.

My minisap server works fine but any program using an IP address starting with 239.x.x.x is not taken into account...and it seems to be your case too.

Did anyone manage to fix this issue?

Regards,

Re: MiniSAPServer announcements - not seen by Exterity receiver

Posted: 06 Mar 2015 17:39
by Manu
Me again.

I just commented lines 237 to 239 in broadcast.cpp to skip that test:

236 // 239.192.0.0/14 => 239.195.255.255
237 //if ((ip & 0xfffc0000) == 0xefc00000)
238 // ip = 0xefc3ffff;
239 //else

works fine now.

Regards,
Manu

Re: MiniSAPServer announcements - not seen by Exterity receiver

Posted: 19 Mar 2015 21:40
by xenon84
Managed to crack this one.

Exterity receivers state they only listen to SAP announcement sent to 239.255.255.255.
With the help of wireshark it’s easy to see that mini-sap server isn’t always using this destination address. So we can edit broadcast.cpp to force this.

Extract mini-sap server and edit lines 238 and 242 of broadcast.cpp

change HEX value of IP to 0xefffffff;

save that ./configure , make and install

This will force the correct destination address for any multicast range you want to use.
You will also want to use a custom broadcast.sdp for some extra exterity configuration options, edit as necessary

v=0
o=- 258 1 IN IP4 localhost
s=MyChannelName
t=0 0
a=exterityDeviceType:Gateway
a=exterityLocation:DVB
a=exterityChannelNo:0
a=exterityOriginalNetworkId:1
a=exterityTransportStreamId:48
a=exterityServiceId:258
a=exterityGroups:all
a=exterityVideoPid:261
a=exterityAudioPid:262
a=x-plgroup:all
m=video 5000 udp 33
c=IN IP4 224.2.17.12/127

More info on SDP
http://www.ietf.org/rfc/rfc4566.txt

xenon84