Showing results for 
Search instead for 
Did you mean: 
Walkthrough Wednesdays

URL to send remote control commands to a DMP

Hello. Could anyone tell me what commands you should send over port 7777 to a stand alone DMP to emulate someone pressing buttons on a remote control in front of the DMP?


Hmm ok - not able to get any of them (except reboot) to function on the 4310. I know it isn't a network issue because the reboot command works, no response from any other command though including SHOW_IP (which would assume it would work because it's not a fake command but an issued command like reboot).

I'm running some custom flash locally, on startup loading file:///tmp/ftproot/usb_1/flash.swf which plays fine. Do I need to include the CiscoCraft MediaPlayer API in order to re-map and use the commands?

My get_param?p=irasrv.key* is as follows:

irasrv.key_INFO     T_STRING     ira add 1 ciscocraft 1 INFO dispatchKey{value=16777235}
irasrv.key_SKIP_FORWARD     T_STRING     ira add 1 ciscocraft 1 SKIP_FORWARD dispatchKey{value=16777228}
irasrv.key_LAST     T_STRING     ira add 1 ciscocraft 1 LAST dispatchKey{value=16777233}
irasrv.key_ZERO     T_STRING     ira add 1 ciscocraft 1 ZERO dispatchKey{value=58}
irasrv.key_NINE     T_STRING     ira add 1 ciscocraft 1 NINE dispatchKey{value=57}
irasrv.key_EIGHT     T_STRING     ira add 1 ciscocraft 1 EIGHT dispatchKey{value=56}
irasrv.key_SEVEN     T_STRING     ira add 1 ciscocraft 1 SEVEN dispatchKey{value=55}
irasrv.key_SIX     T_STRING     ira add 1 ciscocraft 1 SIX dispatchKey{value=54}
irasrv.key_FIVE     T_STRING     ira add 1 ciscocraft 1 FIVE dispatchKey{value=53}
irasrv.key_FOUR     T_STRING     ira add 1 ciscocraft 1 FOUR dispatchKey{value=52}
irasrv.key_THREE     T_STRING     ira add 1 ciscocraft 1 THREE dispatchKey{value=51}
irasrv.key_TWO     T_STRING     ira add 1 ciscocraft 1 TWO dispatchKey{value=50}
irasrv.key_ONE     T_STRING     ira add 1 ciscocraft 1 ONE dispatchKey{value=49}
irasrv.key_HELP     T_STRING     ira add 1 ciscocraft 1 HELP showIP{}
irasrv.key_SHOW_IP     T_STRING     ira add 1 ciscocraft    1 SHOW_IP      showIP{}
irasrv.key_RIGHT     T_STRING     ira add 1 ciscocraft 1 RIGHT dispatchKey{value=4194343}
irasrv.key_LEFT     T_STRING     ira add 1 ciscocraft 1 LEFT dispatchKey{value=4194341}
irasrv.key_DOWN     T_STRING     ira add 1 ciscocraft 1 DOWN dispatchKey{value=4194344}
irasrv.key_UP     T_STRING     ira add 1 ciscocraft 1 UP dispatchKey{value=4194342}
irasrv.key_PAGE_DOWN     T_STRING     ira add 1 ciscocraft 1 PAGE_DOWN dispatchKey{value=4194338}
irasrv.key_PAGE_UP     T_STRING     ira add 1 ciscocraft 1 PAGE_UP dispatchKey{value=4194337}
irasrv.key_VOLUME_DOWN     T_STRING     ira add 1 ciscocraft    1 VOLUME_DOWN  decVolume{}
irasrv.key_VOLUME_UP     T_STRING     ira add 1 ciscocraft    1 VOLUME_UP    incVolume{}
irasrv.key_CHAN_DOWN     T_STRING     ira add 1 ciscocraft 1 CHAN_DOWN dispatchKey{value=16777221}
irasrv.key_CHAN_UP     T_STRING     ira add 1 ciscocraft 1 CHAN_UP dispatchKey{value=16777220}
irasrv.key_ENTER     T_STRING     ira add 1 ciscocraft 1 ENTER dispatchKey{value=4194317}
irasrv.key_BLUE     T_STRING     ira add 1 ciscocraft 1 BLUE dispatchKey{value=6777250}
irasrv.key_YELLOW     T_STRING     ira add 1 ciscocraft 1 YELLOW dispatchKey{value=16777249}
irasrv.key_GREEN     T_STRING     ira add 1 ciscocraft 1 GREEN dispatchKey{value=16777248}
irasrv.key_RED     T_STRING     ira add 1 ciscocraft 1 RED dispatchKey{value=16777247}
irasrv.key_GUIDE     T_STRING     ira add 1 ciscocraft 1 GUIDE dispatchKey{value=16777236}
irasrv.key_MENU     T_STRING     ira add 1 ciscocraft 1 MENU dispatchKey{value=16777234}
irasrv.key_EXIT     T_STRING     ira add 1 ciscocraft 1 EXIT dispatchKey{value=16777237}
irasrv.key_INPUT     T_STRING     ira add 1 ciscocraft 1 INPUT dispatchKey{value=16777243}
irasrv.key_REWIND     T_STRING     ira add 1 ciscocraft 1 REWIND dispatchKey{value=16777227}
irasrv.key_FAST_FORWARD     T_STRING     ira add 1 ciscocraft 1 FAST_FORWARD dispatchKey{value=16777226}
irasrv.key_STOP     T_STRING     ira add 1 ciscocraft 1 STOP dispatchKey{value=16777225}
irasrv.key_PAUSE     T_STRING     ira add 1 ciscocraft 1 PAUSE dispatchKey{value=16777224}
irasrv.key_PLAY     T_STRING     ira add 1 ciscocraft 1 PLAY dispatchKey{value=16777223}
irasrv.key_MUTE     T_STRING     ira add 1 ciscocraft  1 MUTE         setMute{}
irasrv.key_POWER     T_STRING     ira add 1 shell    1 POWER       mng exit

You are right, the 4310 has the CiscoCraft and not Xfake.

Here is neat trcik to figure things out.

Install Firefox with the Plugin "LiveHTTP Header" or "FireBug". Launch the Plugin. A console type window will occur.

Now Open a Web session to the DMP and Click on "Show IP".

You will notice an output similar to :


So your SHOW IP command will be "https://X.X.X.X/set_param?mng.command=write%20ciscocraft%20showIP%7B%7D" (without the quotes), This way you can figure out whatever function that is possible from the Web interface in a URL format.

As you must have observed the URL is in URI encoded format , In the sense :

Dollar ("$")
  Ampersand ("&")
  Plus ("+")
  Comma (",")
  Forward slash/Virgule ("/")
  Colon (":")
  Semi-colon (";")
  Equals ("=")
  Question mark ("?")
  'At' symbol ("@")

Very useful - thank you sdhanral, I am able to issue SHOW_IP and Stop commands to the video playing in my Flash file.

Unfortunately there is no "Pause" button in the DMP web interface for LiveHTTP Header to sniff.

I pulled the "Stop" command:


Tried replacing the 'stop' with 'pause' yet no luck - I guess for pause to work I would have to implement found in the DMP 4310 API? Or is there no possibility of pausing the video or even my Flash (with video included) so when Play is submitted, it begins again where it was paused?

End goal is to be able to press the Pause button or issue Pause via HTTP so that the current video inside of my Flash pauses, until Play is pressed.

Can you verify that Pause is implemented on the DMP? Videos can be paused correct?

Ask because irasrv.key for Pause shows:

PAUSE  Mib: irasrv.key_PAUSE T_STRING ira add 1  ciscocraft 1 PAUSE dispatchKey{value=16777224}
“sendcmd dispatchKey{value=16777224}”

But issuing dispatchKey with any value does nothing, when issuing showIP{} or setMute{} for example both work fine.

Hi Chris,

Not sure, if you still need this, but creating "Advanced Tasks > System Tasks" works fine in the following examples towards DMP-4310:

  1. Emulate pressing "Enter":
    • mng.command=write%20ciscocraft%20dispatchKey%7Bvalue%3D4194317%7D
  2. Emulate pressing "0" (zero):
    • mng.command=write%20ciscocraft%20dispatchKey%7Bvalue%3D48%7D
  3. Emulate pressing "Show IP":
    • mng.command=write%20ciscocraft%20showIP%7B%7D

Together with the list you posted on 18 May, you should be able compile the correct command for any button now, also knowing that:

Space (' ') becomes %20
{ becomes %7B
} becomes %7D
= becomes %3D

Same strings as above should work in the "set_param" URL as well.



how would you simulate a remote keypress of say 16

Bill Ruhnke

On the DMP-4310g I use a PHP web page to send URLs to send remote control commands. The page prompts for the IP address of the DMP, then displays a table that looks like a keypad.  You can also reach the keypad by including the target DMP IP address in the URL to access this page (http://mywebserver/dmpcontrol.php?url= 


These links include the user name and password in the link to the DMP, which only works with some browsers. The response from the DMP with each command sent is to return a blank page, so I target a new window so my keypad is still visible. In Chrome the new window opens as a new tab, and that blocks the page with the keypad, so drag that tab off to make it a separate window, and move it aside (but don't close it).


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "">
<html xmlns="">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Control Cisco DMP IPTV set-top box</title>
 table {
    border-collapse: collapse;
td {
    border: 1px solid black;
    text-align: center;
    padding: 3px;
    width: 100px;
td:hover {
    background-color: #f5f5f5;
td a {
    width: 100%;
    display: block;
    padding: 3px;
body {
 font-family: Arial, Helvetica, sans-serif;
<h2>Control Cisco DMP IPTV set-top box</h2>
if (!isset($_REQUEST['url'])){
<form action="dmpcontrol.php" method="post">
Enter the IP address of the set-top box:<br>
<input name="url" type="text" size="20"><br><br>
<input name="submit" type="submit" value="submit">
You must use Chrome.<br><br>
As you send commands, it opens a blank page in a new browser tab.  Grab the new tab and drag it down to create a separate browser window for the blank page, and resize it smaller or move it aside.  Then you can continue sending commands from this page in the first window.<br>
<br>The first command you send may show a warning "Not private" (in the window intended for the blank page). Click "Advanced" then "Proceed to URL".<br><br>
Sending commands to <?php echo $url; ?><br><br>
<td><a href="https://admin:pa55w0rd@<?php echo $url;?>/set_param?mng.command=write%20ciscocraft%20dispatchKey%7Bvalue%3D49%7D" target="_iptv">1</a></td>
<td><a href="https://admin:pa55w0rd@<?php echo $url;?>/set_param?mng.command=write%20ciscocraft%20dispatchKey%7Bvalue%3D50%7D" target="_iptv">2</a></td>
<td><a href="https://admin:pa55w0rd@<?php echo $url;?>/set_param?mng.command=write%20ciscocraft%20dispatchKey%7Bvalue%3D51%7D" target="_iptv">3</a></td>
<td><a href="https://admin:pa55w0rd@<?php echo $url;?>/set_param?mng.command=write%20ciscocraft%20dispatchKey%7Bvalue%3D52%7D" target="_iptv">4</a></td>
<td><a href="https://admin:pa55w0rd@<?php echo $url;?>/set_param?mng.command=write%20ciscocraft%20dispatchKey%7Bvalue%3D53%7D" target="_iptv">5</a></td>
<td><a href="https://admin:pa55w0rd@<?php echo $url;?>/set_param?mng.command=write%20ciscocraft%20dispatchKey%7Bvalue%3D54%7D" target="_iptv">6</a></td>
<td><a href="https://admin:pa55w0rd@<?php echo $url;?>/set_param?mng.command=write%20ciscocraft%20dispatchKey%7Bvalue%3D55%7D" target="_iptv">7</a></td>
<td><a href="https://admin:pa55w0rd@<?php echo $url;?>/set_param?mng.command=write%20ciscocraft%20dispatchKey%7Bvalue%3D56%7D" target="_iptv">8</a></td>
<td><a href="https://admin:pa55w0rd@<?php echo $url;?>/set_param?mng.command=write%20ciscocraft%20dispatchKey%7Bvalue%3D57%7D" target="_iptv">9</a></td>
<td><a href="https://admin:pa55w0rd@<?php echo $url;?>/set_param?mng.command=write%20ciscocraft%20dispatchKey%7Bvalue%3D48%7D" target="_iptv">0</a></td>
<td><a href="https://admin:pa55w0rd@<?php echo $url;?>/set_param?mng.command=write%20ciscocraft%20dispatchKey%7Bvalue%3D16777220%7D" target="_iptv">Chan +</a></td>
<td rowspan="2"><a href="https://admin:pa55w0rd@<?php echo $url;?>/set_param?mng.command=write%20ciscocraft%20dispatchKey%7Bvalue%3D4194317%7D" target="_iptv">Enter</a></td>
<td><a href="https://admin:pa55w0rd@<?php echo $url;?>/set_param?mng.command=write%20ciscocraft%20incVolume%7B%7D" target="_iptv">Vol +</a></td>
<td><a href="https://admin:pa55w0rd@<?php echo $url;?>/set_param?mng.command=write%20ciscocraft%20dispatchKey%7Bvalue%3D16777221%7D" target="_iptv">Chan -</a></td>
<td><a href="https://admin:pa55w0rd@<?php echo $url;?>/set_param?mng.command=write%20ciscocraft%20decVolume%7B%7D" target="_iptv">Vol -</a></td>
<td><a href="https://admin:pa55w0rd@<?php echo $url;?>/set_param?mng.command=write%20ciscocraft%20dispatchKey%7Bvalue%3D4194342%7D" target="_iptv">up</a></td>
<td><a href="https://admin:pa55w0rd@<?php echo $url;?>/set_param?mng.command=write%20ciscocraft%20dispatchKey%7Bvalue%3D16777236%7D" target="_iptv">guide</a></td>
<td><a href="https://admin:pa55w0rd@<?php echo $url;?>/set_param?mng.command=write%20ciscocraft%20dispatchKey%7Bvalue%3D4194344%7D" target="_iptv">down</a></td>
<td><a href="https://admin:pa55w0rd@<?php echo $url;?>/set_param?mng.command=write%20ciscocraft%20dispatchKey%7Bvalue%3D16777233%7D" target="_iptv">last</a></td>
<?php } ?>




Content for Community-Ad

Spotlight Awards 2021