Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I've been very interested in Automating an IP phone, currently I am automating phone calls by using PuTTY to a Dial-Up modem through simple AT commands. However, this is a poor method because it does little beyond dialing and picking up; even worse, it can only dial certain numbers.

What I've tried:

I have a program that can somehow control my IP phone through my computer (too high level in the sense it doesn't have an API). Using Wireshark, I've been able to capture the packets it sends to the phone which I believe will make the command to call some number.

At this point, I thought I could send the hex values that I got from Wireshark through PuTTY using a Telnet connection. My first issue is that I'm unsure of the port number; I have tried 23 and 80 however, and in both cases: when I'm typing, the keystrokes will appear in PuTTY. That's got to be a good sign right? Unfortunately after about 20 seconds, the window closes out on its own. I've gone on the IP phone's local webpage through my browser and no information on a port number.

I can also ping the phone without specifying a port number.

The Question:

Can anyone explain why my PuTTY session is closing on its own and/or an alternative solution to automating an IP Phone?

share|improve this question
All the information (port numbers, etc.) should be in the packets you captured with Wireshark. Is it TCP or UDP traffic? Which ports? The fact that PuTTY displays the characters is meaningless, as it is probably doing local echo. – Ale May 1 '13 at 19:09
Now that I take a closer look, Wireshark says the destination port is 49922, which I assume would be for the phone. Also, packets to the phone are "SKINNY" protocol, whereas returning packets are TCP. – Nick Williams May 1 '13 at 19:13
I tried PuTTY again with 49922 as the port and it still crashes. – Nick Williams May 1 '13 at 19:15
Port 49922 is possibly the source port. SKINNY uses port 2000. – Ale May 1 '13 at 19:19
@Ale Ok, I reset everything and I found that SYN packet. The phone initializes the connection. – Nick Williams May 1 '13 at 19:38
up vote 3 down vote accepted

Look at the SKINNY (SCCP) protocol: It is a binary protocol (as you can see in your Wireshark captures), so you can't use PuTTY to command your phone with AT-like commands. Typing hex digits in PuTTY is useless, as the data that is transmitted in the packets is not the hexadecimal digits, but the actual binary bytes. Also, resending the packets as you capture them on Wireshark is probably not working, as they contain data such as IP addresses which might not be constant, depending on your network configuration.

share|improve this answer
Looks like I have plenty of research to do. Thank you for giving me a good foundation to continue with. – Nick Williams May 1 '13 at 19:40
You're welcome! Unfortunately I don't know anything about this SCCP protocol, so I can't help you more about its details... – Ale May 1 '13 at 19:58

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.