Remote reboot IP Phones by URL (Cisco & Snom)

Hello,

I have a Dual Gateway failover in place, and I’d like to do the following:

Whenever the route switches from WAN1 to WAN2 (and the other way around). I’d like to reset my SIP phones remotely.

this can be done by browsing to the following URL: http://192.168.xxx.xxx/admin/reboot for Cisco and http://phoneIP/advanced_update.htm?reboot=Reboot (Snom)

How can this be achieved?

You can not achieve that, because you must authenticate on the phone/ATA before launching that URL.

Well, apparently it works without authenticating. Just browsing to that URL would do the trick, since they’re not protected with a password.

Cisco & Snom are really so IDIOTS? :open_mouth:


Have you tried wit one device never used for access internal setings?

When I browse on my PC to that link of the phone, it just reboots.
So I’d like to know if there’s a way I can implement this in somesort of a script.

Disbale -active URL- in configuration of phones. This is popular way to hack IP phone and do fraud trafic.

Very buggy programmers…

It’s not BUG :slight_smile: It’s feature :slight_smile:
Its using in closed network with local IP PBX.

For me is one excuse (the feature) for buggy programmers.

The right way to do that?

deviceip/reset?superuser=supername&superpassword=nowisbetter

or

http://username:password@ipphone/reset

No ! RESET-no ! Reboot-yes for provising services, and feature “direct call” using active URL, using by some PBX.

Ok, on example I put reset, but I really want write reboot…

nothing happen … only 2-3 command allowed by active url …
it’s using usually for first remote configuration.
As routers ,after set configuration necessary to close all the holes :slight_smile:

(remove extra “[” on your signature… :unamused: )

Senx :slight_smile:

So, is there a way to script this into an RB2011?

I’d like to send these commands to internal IP phones

Use “fetch” command, search on th wiki for syntax

So, I got this to work for the Cisco phones with:

/tool fetch mode=http port=80 url=http://192.168.88.xxx/admin/reboot

But I cannot seem to get the Snomphones working, because I cannot type a “?” into the command line as URL…
I should use this:

/tool fetch mode=http port=80 url=http://192.168.88.xxx/advanced_update.htm?reboot=Reboot

But the “?” isn’t working. I cannot type it…

How can I fix this?

FAST REPLY:

put \ before ? on command line, but on saved script do not put the \

And in case you have plenty of phones, you might want to add them to an address list (which might come in handy for other stuff as well) and embrace the fetch command in this statement:
:foreach i in=[/ip firewall address-list find list=ipPhones] do={
#your fetch statement here - replace the address with $[/ip firewall address-list get $i address]
}-Chris

:foreach i in=[/ip firewall address-list find where list="ipPhones"] do={
 :local ip value=[/ip firewall address-list get $i value-name=address];
 /tool fetch keep-result=no mode=http port=80 url=("http://".$ip."/admin/reboot");
 /tool fetch keep-result=no mode=http port=80 url=("http://".$ip."/advanced_update.htm?reboot=Reboot");
};