OnSIP gets many questions about Skype as a business solution. Customers are interested in using Skype either as their phone service or concurrently with OnSIP to try to leverage Skype's existing user base for free calling between their clients and them. As Skype Connect is advertised as a business class SIP-based service for Skype, we decided to test it out by registering a SIP phone with Skype Connect and making calls to/from SIP user agents (phones) on our network.
Skype Connect: Background Information
Skype is available as three different products.
- Skype which is just the peer-to-peer video and voice over IP service which has existed largely unchanged since 2003.
- Skype for Business which adds in Version Control and User Control to allow for easier administration of Skype accounts.
- Skype Connect which is Skype's SIP trunking Service.
Simply by implementing the SIP protocol, Skype Connect was immediately better for businesses than Skype for Business. When we looked at Skype Connect a few years ago, it was a basic SIP trunking product with a niche pricing structure. We used to get questions from customers asking about Skype Connect and if it would interop with OnSIP Hosted PBX. Previously, we had found it to not be very compatible with OnSIP Hosted PBX in a pure SIP-to-SIP capacity, though we found no major issues with it as a trunking product. As it's been almost two years since we examined Skype Connect from a technical standpoint, we thought it was worth another look.
For testing Skype Connect, we registered a Counterpath Bria 3 for OSX using our Skype Connect provided credentials to connect to the Skype network and utilized Wireshark for our packet captures. It was easy to register the device with the authentication details we were provided. It was no different from any other SIP registration.
The good news is that you can place a pure SIP call to a Skype Connect user address. Also, you can receive a pure SIP call from another Skype Connect address. The user is a 14 digit string of numbers. The domain is “sip.skype.com.” We were even able to set up set up a video call using OnSIP Hosted PBX to dial into the Skype Connect user. The call sounded great in G.722, and the video quality was decent, but not amazing, even though it was using H.264. The video was an unexpected bonus, but it’s not as clear as we’ve seen in the past.
The SIP Allow header has a fairly full complement of expected actions. This means that when you set up a call to the Skype user, you can use blind or attended transfers giving full call controls to the user. Although you can receive a direct SIP call, the bad news is that you cannot make an outbound SIP call to any old SIP address. Attempts to dial firstname.lastname@example.org received a 404 response. In the following trace, Red represents the Bria Counterpath phone, while the Blue represents the Skype Server responses.
<code> <font color="red"> INVITE sip:email@example.com;transport=udp SIP/2.0 Via: SIP/2.0/UDP 192.168.1.55:41332;branch=z9hG4bK-d8754z-46b72648c977442f-1---d8754z-;rport Max-Forwards: 70 Contact: <sip:firstname.lastname@example.org:41332;transport=udp> To: <sip:email@example.com> From: <sip:firstname.lastname@example.org>;tag=9c5ca646 Call-ID: YWZiOTQ1NGRkNTkzYjk3OWU3M2U1ZDljN2U3MDI1NjU CSeq: 1 INVITE Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY, MESSAGE, SUBSCRIBE, INFO Content-Type: application/sdp Supported: replaces User-Agent: Bria 3 release 3.5.2 stamp 70365 Content-Length: 318 v=0 o=- 1373903366621991 1 IN IP4 192.168.1.55 s=Bria 3 release 3.5.2 stamp 70365 c=IN IP4 192.168.1.55 t=0 0 m=audio 53204 RTP/AVP 122 9 8 0 18 101 a=rtpmap:122 opus/48000/2 a=fmtp:122 useinbandfec=1 a=rtpmap:18 G729/8000 a=fmtp:18 annexb=yes a=rtpmap:101 telephone-event/8000 a=fmtp:101 0-15 a=sendrecv </font color> </code>
<code> <font color="blue">SIP/2.0 100 Trying From: <sip:email@example.com>;tag=9c5ca646 To: <sip:firstname.lastname@example.org> Call-ID: YWZiOTQ1NGRkNTkzYjk3OWU3M2U1ZDljN2U3MDI1NjU CSeq: 1 INVITE Via: SIP/2.0/UDP 192.168.1.55:41332;branch=z9hG4bK-d8754z-46b72648c977442f-1---d8754z-;rport=16244;received=126.96.36.199 Contact: <sip:email@example.com:5060;transport=udp;maddr=188.8.131.52> Content-Length: 0 </font color> </code>
<code> <font color="blue">SIP/2.0 404 Not Found From: <sip:firstname.lastname@example.org>;tag=9c5ca646 To: <sip:email@example.com>;tag=c990d13f-13c4-51e41a06-d58001b3-56b50d5e Call-ID: YWZiOTQ1NGRkNTkzYjk3OWU3M2U1ZDljN2U3MDI1NjU CSeq: 1 INVITE Via: SIP/2.0/UDP 192.168.1.55:41332;branch=z9hG4bK-d8754z-46b72648c977442f-1---d8754z-;rport=16244;received=184.108.40.206 Content-Length: 0</font color> </code>
<code> <font color="red">ACK sip:firstname.lastname@example.org;transport=udp SIP/2.0 Via: SIP/2.0/UDP 192.168.1.55:41332;branch=z9hG4bK-d8754z-46b72648c977442f-1---d8754z-;rport Max-Forwards: 70 To: <sip:email@example.com>;tag=c990d13f-13c4-51e41a06-d58001b3-56b50d5e> From: <sip:firstname.lastname@example.org>;tag=9c5ca646> Call-ID: YWZiOTQ1NGRkNTkzYjk3OWU3M2U1ZDljN2U3MDI1NjU CSeq: 1 ACK Content-Length: 0 </font color> </code>
At the very least, this is more transparent than Verizon, which made the failures appear to be the fault of the far end proxy. In this instance, Skype Connect is essentially failing to complete the call. On the other hand, if you have a phone number built as a SIP URI, you can dial that phone number and have full call controls; we assigned a phone number to an OnSIP Hosted PBX user and we were able to dial that number. When our call connected, it was in G.722, and it sounded great.
We couldn’t figure out how to change the Caller ID Name. Thanks to this support article, we figured out how to set the Caller ID phone number, but we couldn’t change the Caller ID Name. No matter what we did to change the display name in the Bria, or searches through Skype, whenever we placed a call, our invite read From: "SKYPE USER". Skype currently does not support porting numbers from other carriers to Skype. I could not find a mechanism to port numbers to or from Skype. Though Skype does have a “porting department.”
This isn’t a negative so much as an oddity. Skype Connect forces your device to re-register every 45 seconds. When the Bria 3 sends a registration request, it states that it will re-register every 3600 seconds (one hour). The Skype Servers send back Expires 45 seconds, thus forcing the device to re-register every 45 seconds. This is most likely an attempt to get around any potential NAT issues, though we ourselves find that timing to be a bit extreme, recommending 5 minutes when an hour is too long. As Skype Connect does not allow you to port a number into your service and it does not allow you to set your own outbound caller ID name, we cannot recommend this service because these are two crucial features to businesses using VoIP for their phone service.
Aside from these issues, we found that Skype Connect has certainly turned itself around. But knowing Microsoft’s habit of unceremoniously leaving technologies behind when they shut down divisions, we don’t know if we could really recommend Skype for anything but personal peer-to-peer communications in which immediacy trumps quality. With the rise of Google Voice, Facebook Messenger, and smaller venues such as our GetOnSIP, Skype is looking more like a legacy product, and tying your business needs to a legacy software in Microsoft’s hands is not the best idea.