unable to send URL out of Radioboss

Notifications are designed to send information from RadioBOSS to your web sites or services. If you need to handle some very special case, like imitating browser or something else, you can use a proxy script, that is - RadioBOSS sends notification to your own script, on your web site, and your script then relays this request to some other script that requires special treatment.

I just thought you should now what ISP are now doing they say its a security hole that they are now stopping this
It's an extremely rare case.

Apparently its being implemented on Cop Cisco routers as we speak so it was mainly a heads up if this http _request no longer functions this will be why .
I don't think this affects RadioBOSS. Requirement to process Java and Cookies is untypical. And it's odd to have it for technical notifications, like nowplaying requests that RadioBOSS sends.

As this nowplaying.txt file is the only way to go can we have more data in it like %genre,%bpm,%len,%album,%listeners,%comment etc
If you use FTP approach, it can send you an XML file with all the data it has on the tracks. If you make a HTTP request, you can use the variables listed here: https://manual.djsoft.net/radioboss/en/title-format-variables.htm
 
Dmitri I added the user purchase key to use email sending of RadioBoss server and suddenly got a lot of errors come into the log principally these are Unable to play! Error code 2 (unable to open the file/invalid server address).
 
Dmitri I added the user purchase key to use email sending of RadioBoss server and suddenly got a lot of errors come into the log principally these are Unable to play! Error code 2 (unable to open the file/invalid server address).
Email configuration and playback errors are not related. It's a coincidence, something else happened that lead to playlist being unplayable.
 
Also the sound for main sound doesnt seem to control sound now turned down it still plays in radio boss
 
Also the sound for main sound doesnt seem to control sound now turned down it still plays in radio boss
RadioBOSS plays the playlist on Main and Monitor devices, check also the monitor device settings.

Hi meant exporting these data fields lie %bpm in ftp file nowplaying.txt as infinity wont resolve my problem with their filter n HTML
It uploads the nowplaying.txt file to FTP server. You should switch nowplaying format to "XML" to make it contain all the data about the track. Then make your script parse those XML values to extract the data you need.
 
I only have WASIO selected and no monitors on all set no sound it is still playing music :) I also found out why some tracks was louder . something i did to change their color , I had not noticed it was pre-amping lol . I wonder if its the Realtek drivers I have been fighting Microsoft version which it is trying to install . I will have a go with XML it may be a way to do this.
Oh hohoho father Christmas says thankyou Dimtri i just need some Javascript to pass it now :)
 
Last edited:
Oh I am sharing my source in case anyone has this problem with sending out the codes via URL its not perfect solution but it works and is good at picking up data into the SQL if it doesn't work for you don't blame me its provided as is and I have for liability for its use in any capacity.

$servername = "localhost";
$username = "***********";
$password = "*********";
$dbname = "DB NAME";
$filename = "images/nowplaying.txt";
$artwork_filename = "images/nowplaying.txt";
$textXML = "";
$title="";
$artist="";
$album="";
$length="";
$bpm="";
$genre="";
$listeners = "";
$comment = "";
$artwork = "";
function ReturnError($code, $text) {
$protocol = isset($_SERVER['SERVER_PROTOCOL']) ? $_SERVER['SERVER_PROTOCOL'] : 'HTTP/1.0';
//header($protocol . ' ' . $code . ' ' . $text);
echo "<HTML>";
echo "<img src ='images/favpng_construction-worker-architectural-engineering-cartoon-royalty-free.png' width='200' height='240'></img><br><br>";
echo "SERVER_PROTOCOL ERROR<BR><BR>";
echo "Add data to SQL -.".$text ."<br><br>";

throw Error("EXIT CODE");
exit();
}


// Data Processing
$t = fopen("images/nowplaying_artwork_2.png", 'r');
if ($t !== false)
{
$artwork = fread($t,filesize("images/nowplaying_artwork_2.png"));
fclose($t);
} else {
fclose($t);
ReturnError(500, 'Failed to write artwork to a file.');
}
$base64artwork = base64_encode($artwork);

$r = fopen("images/nowplaying.xml", 'r');
if ($r !== false)
{
$textXML = fread($r,filesize("images/nowplaying.xml"));
fclose($r);
} else {
fclose($r);
ReturnError(500, 'Failed to write artwork to a file.');
}
$artist = substr($textXML,strpos($textXML,"ARTIST=")+8,(strpos($textXML," TITLE=")-strpos($textXML,"ARTIST="))-9);
$title = substr($textXML,strpos($textXML," TITLE=")+8,(strpos($textXML," ALBUM=")-strpos($textXML," TITLE="))-9);
$album = substr($textXML,strpos($textXML," ALBUM=")+8,(strpos($textXML," YEAR=")-strpos($textXML," ALBUM="))-9);
$year = substr($textXML,strpos($textXML," YEAR=")+7,(strpos($textXML," GENRE=")-strpos($textXML," YEAR="))-8);
$genre = substr($textXML,strpos($textXML," GENRE=")+8,(strpos($textXML," COMMENT=")-strpos($textXML," GENRE="))-9);
$comment = substr($textXML,strpos($textXML," COMMENT=")+10,(strpos($textXML,"FILENAME=")-strpos($textXML," COMMENT="))-12);
$length = substr($textXML,strpos($textXML," DURATION=")+12,(strpos($textXML," STARTED=")-strpos($textXML," DURATION="))-13);
$rating = substr($textXML,strpos($textXML," RATING=")+9,(strpos($textXML," BPM=")-strpos($textXML," RATING="))-10);
$bpm = substr($textXML,strpos($textXML," BPM=")+6,(strpos($textXML," TAGS=")-strpos($textXML," BPM="))-7);
$listeners = substr($textXML,strpos($textXML," LISTENERS=")+12,(strpos($textXML," />")-strpos($textXML," LISTENERS="))-13);
$exit_old=false;

// note there is now num_rows in PDO so we have to calculate a new one to get record number.
try {
$n = 0;
$conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sql = "SELECT COUNT(`datetime`) FROM `played_songs` ORDER BY `datetime` ASC";
$result = $conn->query($sql); // Use query as we are returning records.
$row=$result->fetch();
$n = $row["COUNT(`datetime`)"] - 150;
if( $n >1) {
$sql = "SELECT `datetime` FROM `played_songs` ORDER BY `datetime` ASC";
$q = $conn->query($sql);
while ($n) {
$r= $q->fetch();
$id = $r['datetime'] ;
$conn->prepare("DELETE FROM `played_songs` WHERE `datetime`=?")->execute([$id]);

$n--;
}

}

} catch(PDOException $e) {
ReturnError(500, "Failed to write /read from SQL.".$e->getMessage());
}
$conn = null;
try {
$n = 0;
$conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sql = "SELECT * FROM `played_songs` ORDER BY `datetime` DESC LIMIT 1";
$result = $conn->query($sql); // Use query as we are returning records.
$row=$result->fetch();
if($artist == $row['artist'] ) {
$con=null;
$exit_old=true;
}

} catch(PDOException $e) {
ReturnError(500, "Failed to write /read from SQL.".$e->getMessage());
}
$conn = null;
// Add record to database.
if($exit_old == false) {
try {
$conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sql = "INSERT INTO `played_songs` (`song`, `artist`, `album`, `length`, `bpm`,`genre`, `listeners`,`track_user_rating`,`track_user_num`,`comment`,`ImageBase64`) VALUES ('$title','$artist', '$album', '$length', '$bpm', '$genre','$listeners','0','0', '$comment','$base64artwork')";
$conn->exec($sql);
//echo "New record created successfully";
} catch(PDOException $e) {
//echo $sql . "<br>" . $e->getMessage();
ReturnError(500, "Failed to write record to SQL.".$e->getMessage());
}
$conn = null;
}


?>
 
Ok I am back new o/s system windows 11 and new website different host server . I can use the URL data from report copied in radio boss reports directly pasted in the url window of a browser this creates new record correctly in SQL. Your reports don't get sent out reaching website from local machine .

I have added radio boss to all windows 11 firewall zones. The email system is also not working . There is no message in the log . Is there any other testing i can do for you on this problem so that we might get to the bottom of it please ?
 
Your reports don't get sent out reaching website from local machine .
Do you mean HTTP requests doesn't work? If it was unable to send a request, it will show an error message. If there's no error, the request was sent successfully.

The email system is also not working
It either sends an email, or shows an error. Do you use djsoft.net email service or you entered SMTP details manually?
 
Hi Dimitri
no I get no error i am wondering if URL path is too long, Can I do this ?
http://website.com/Xpump.php?xml =nowplaying.xml&artwork=%artwork&key=TB2jgjh
will this put XML in XML variable i.e. like what it uploads in ftp?

I wanted to something like
$contents = isset($_REQUEST['xml']) && ($_REQUEST['xml'] !=='') ? $_REQUEST['xml'] : false; $xml = simplexml_load_string($contents); $xml=simplexml_load_file("images/nowplaying.xml"); $title = implode($xml->xpath('//PLAYER/TRACK/@TITLE')); $artist = implode($xml->xpath('//PLAYER/TRACK/@ARTIST')); $album = implode($xml->xpath('//PLAYER/TRACK/@ALBUM')); $genre = implode($xml->xpath('//PLAYER/TRACK/@GENRE')); $comment = implode($xml->xpath('//PLAYER/TRACK/@COMMENT')); $bpm = implode($xml->xpath('//PLAYER/TRACK/@BPM')); $length = implode($xml->xpath('//PLAYER/TRACK/@DURATION')); $listeners =implode($xml->xpath('//PLAYER/TRACK/@LISTENERS')); $rating = implode($xml->xpath('//PLAYER/TRACK/@RATING'));

I wanted a different alternative to the FTP transfer route. Just in case it is creating too much CPU or I/O usage :
$xml=simplexml_load_file("images/nowplaying.xml"); if( $xml != false) { $title = implode($xml->xpath('//PLAYER/TRACK/@TITLE')); artist = implode($xml->xpath('//PLAYER/TRACK/@ARTIST')); $album = implode($xml->xpath('//PLAYER/TRACK/@ALBUM')); $genre = implode($xml->xpath('//PLAYER/TRACK/@GENRE')); $comment = implode($xml->xpath('//PLAYER/TRACK/@COMMENT')); $bpm = implode($xml->xpath('//PLAYER/TRACK/@BPM')); $length = implode($xml->xpath('//PLAYER/TRACK/@DURATION')); $listeners =implode($xml->xpath('//PLAYER/TRACK/@LISTENERS')); $rating = implode($xml->xpath('//PLAYER/TRACK/@RATING')); else { ReturnError(500, "Failed to open ("."images/nowplaying.xml".") bytes of XML from file XML."); }


The email was using reg key on your server it generates no error. I am wondering if this is Windows 11 ?
 
Last edited:
By the way i just tried xml==nowplaying.xml but Radioboss didn't find it I think it lives here C:\Users\computername\AppData\Roaming\djsoft.net\RadioBOSS_626329039 could it be given a thing to make it in local path?
 
The XML won't send on URL either Dimity. So am stuck with ftp which is working if not a bit backwards
 
By the way i just tried xml==nowplaying.xml but Radioboss didn't find it I think it lives here C:\Users\computername\AppData\Roaming\djsoft.net\RadioBOSS_626329039 could it be given a thing to make it in local path?
You can change the location of the nowplaying file in Settings->Reports.

The XML won't send on URL either Dimity. So am stuck with ftp which is working if not a bit backwards
Any URL parameters need to be urlencoded, it looks like your configuration in RadioBOSS is not correct. You can post a screenshot of your HTTP request configuration to take look at. But you can't directly insert XML code to the URL, it won't work because of special symbols.
 
Dmitry . I have gone different route as this URL wont sent out at all and is being grabbed elsewhere. using the XML file however I am noticing these SID do not get artwork in XML that are set up under Filetype. The url requests I have tried are as follows http://deniserose.ezyro.com/Xa2.php...omment=%comment&artwork=%artwork&key=????????. This works if you enter it on the website, but it seems radio boss traffic is blocked without error. I have also tried http://deniserose.ezyro.com/XaPumpa3.php?xml =nowplaying.xml&key=T??????? as event lead from RadioBoss . It seems the only way I can get this to work is to run a read on the website which is not ideal at all as this should be the server based .

You should note all these worked in a web browser but not as an output in Radio Boss .
i am informed this is because of a custom filter. I was informed.

"The device is indeed a router, all of our core routers implement CoPP, the latency for the intermediate hops on your traceroute don't really mean anything. The CoPP effects CPU traffic on the routers not forwarded traffic, as you can see from 31.22.6.126 (which is Ifast's router) it's back to what you would expect.

You need to raise this with Ifastnet if you need further assistance as the traffic is transversing our network and it looks like they've got some form of filtering in place causing the timeouts on your traceroute
."
 
but it seems radio boss traffic is blocked without error
We can't do anything about it. The problem could be not blocking, but large request size when you include artwork in the request. In this case, POST request would be better.
 
Back
Top