Overview
YP (Yellow Pages) directories are public listings where internet radio streams can be discovered by listeners.
Mcaster1DNAS v2.5.1-rc1 can automatically register your streams with compatible directory services, making
your broadcasts discoverable to a worldwide audience.
Enhanced YP Logging in v2.5.1-rc1: This release includes detailed YP directory logging
to help troubleshoot registration issues. All registration attempts, successes, and failures are logged
for analysis.
Requirements
To use YP directory listing, ensure:
- libcurl Support: Mcaster1DNAS must be compiled with libcurl (automatic if libcurl is installed)
- Public Stream: Your stream must be publicly accessible (not behind NAT without port forwarding)
- Required Metadata: Stream name, description, genre, and URL must be configured
- Source Client Support: Source client must send
ice-public:1 header
Configuring YP in Mcaster1DNAS (YAML)
Global YP Configuration
# Server-wide YP settings (mcaster1.yaml)
yp:
directories:
- url: http://dir.xiph.org/cgi-bin/yp-cgi
timeout: 15
- url: http://dir2.xiph.org/cgi-bin/yp-cgi
timeout: 15
Mountpoint YP Configuration
# Mountpoint with YP listing (mcaster1.yaml)
mount:
- path: /stream
stream_name: "My Amazing Radio Station"
stream_description: "The best music 24/7"
stream_url: https://example.com
genre: Rock
bitrate: 128
public: true # Enable YP listing
max_listeners: 100
Configuration Parameters
- public: Set to
true to enable YP listing (default: false)
- stream_name: Name of your station (required for YP)
- stream_description: Description of your content (required for YP)
- stream_url: Website URL (required for YP)
- genre: Stream category/genre (required for YP)
- bitrate: Stream bitrate in kbps (required for YP)
Multiple Directories: You can configure multiple YP directory servers for redundancy.
Mcaster1DNAS will attempt registration with all configured directories.
Source Client Configuration
Your source client must be configured to enable YP listing. Most modern source clients support this:
Common Source Clients
- Butt: Enable "Make stream public" in settings
- Liquidsoap: Set
public = true in output configuration
- SAM Broadcaster: Check "List in Directory" in encoder settings
- FFmpeg: Add
-ice_public 1 to command line
The source client sends the HTTP header ice-public:1 when connecting to indicate
the stream should be listed publicly.
Monitoring YP Status
Check if your stream is successfully listed in YP directories:
Via Statistics XML
http://yourserver:8000/admin/stats.xml
Look for YP-specific fields in the mountpoint section:
- <public>1</public> - Indicates YP listing is enabled
- <yp-currently-playing> - Current song from YP perspective
- <yp-last-touch> - Last successful YP update timestamp
YP Logging (v2.5.1-rc1)
Enhanced logging provides detailed information about YP operations:
tail -f /var/log/mcaster1/error.log | grep YP
Log entries include:
- Registration attempts and responses
- Update intervals and heartbeats
- Error messages with specific failure reasons
- Directory server response codes
Finding Your Stream
Once successfully registered, listeners can find your stream through:
- Directory Websites: Browse categories at YP directory sites
- Search: Search by station name, genre, or description
- Media Players: Many players include directory browsing (TuneIn, RadioDroid)
- Aggregators: Third-party services that aggregate multiple directories
Troubleshooting YP Issues
Stream Not Appearing in Directory
- Check
public: true is set in mountpoint configuration
- Verify all required metadata fields are populated
- Confirm source client is sending
ice-public:1 header
- Check YP logs in error.log for registration failures
- Ensure server is publicly accessible (test from external network)
- Verify libcurl is installed:
mcaster1 -v should show curl support
Registration Fails
- Check YP directory URL is correct and reachable
- Increase timeout value if network is slow
- Review error.log for specific error messages
- Test directory server manually with curl
Outdated Information in Directory
- YP directories cache information and update periodically
- Updates typically propagate within 5-15 minutes
- Check YP logs to verify updates are being sent
- Metadata changes require source client reconnection
Privacy Considerations
When listing in public directories, be aware:
- Public Access: Anyone can discover and listen to your stream
- Server Information: Your server IP and port are publicly visible
- Metadata Exposure: All metadata (song titles, descriptions) is public
- Listener Privacy: Consider privacy implications for listeners
For private streams, set public: false and distribute stream URLs directly to authorized listeners.