<![CDATA[SIP Spectrum - SIP * VoIP * UC * Consulting - Blog]]>Tue, 24 Nov 2015 14:05:07 -0500Weebly<![CDATA[reSIProcate on Windows 10 IOT Core / Raspberry Pi 2]]>Tue, 24 Nov 2015 17:31:09 GMThttp://www.sipspectrum.com/blog/resiprocate-on-windows-10-iot-core-raspberry-pi-2The other day I was successfully able to get reSIProcate and the basicClient example program to run on my Raspberry Pi 2 under Windows 10 IOT Core!  Very few changes were required to the stack in order to get it to compile as an ARM target.  I will be moving these changes into the public GIT repository soon.

Raspberry Pi and Windows 10 IOT support USB speakers and microphones and the board itself has an audio jack, but it would be nice if Microsoft / Cirrus Logic would support the Cirrus Logic Audio Card daughter board for the Raspberry Pi 2 under Windows 10 IOT.  This should prove to be a pretty good platform for embedded VoIP / windows based development.

Scott Godin
President & CEO
SIP Spectrum, Inc.
<![CDATA[Configuring repro for WebRTC]]>Mon, 15 Jul 2013 15:14:40 GMThttp://www.sipspectrum.com/blog/configuring-repro-for-webrtcNeed a web-sockets capable SIP proxy for WebRTC?  repro from the resiprocate project is an excellent candidate.

You will need to configure repro to use record-routing so that all SIP requests are routed via the proxy for a particular dialog session.  The following are steps you should use to configure repro and represent changes to the default repro configuration for web-socket use.

1.  Configure transports.  I like to configure one web-sockets transport and one UDP transport on the proxy (to allow communication with legacy VoIP equipment).  In this example I will focus on non-secure web-sockets protocol, however secure web-sockets (WSS) can also be configured with additional effort.  Here is an example of configuration where repro is behind a NAT.  The address is the private IP of the machine running repro and X.X.X.X address is the public IP address to reach this machine.  Note:  If you are not using a NAT'd machine then you can use the auto keyword for the RecordRouteUri instead.

          Transport1Interface =
          Transport1Type = WS
          Transport1RecordRouteUri = sip:X.X.X.X;transport=ws

          Transport2Interface =
          Transport2Type = UDP
          Transport2RecordRouteUri = auto

2. Enable Flow Token use for WebRTC SIP clients that don't properly advertise
RFC5626 (Outbound) support:
          EnableFlowTokens = true

3.  Add a domain and users (with passwords) using the HTTP admin GUI.  Navigate to after starting repro.  Note:  Remember to restart repro after adding a domain.

Settings for tryit.jssip.net:
Name = <whatever you like>
SIP URI = sip:<a user from step 3 above>@<domain from step 3 above>
SIP Password = <users password from step 3 above>
WS URI = ws://X.X.X.X:6060      (IP address and port configured in Step 1 above)

Happy Web-RTCing!

<![CDATA[SIPit 30, Raleigh NC]]>Mon, 25 Feb 2013 17:24:12 GMThttp://www.sipspectrum.com/blog/sipit-30-raleigh-ncPicture
SIPit 30 was hosted by Cisco and held in Raleigh, NC from February 11-15, 2013.  As usual the event proved invaluable for all attendees, with a total number of reported defects nearing 100 (I'm sure there were many more unreported defects).  As well as traditional SIP audio endpoints, the trend of vendors with video enabled endpoints continued, as this event provides huge value to those seeking to improve their video interoperability.  The official event summary can be found here:  SIPit 30 Event Summary.

A new comer to the SIPit events this year was Web-RTC interoperability.  A number of vendors tested interoperability with each other and the new Web-RTC technology in the Mozilla/Firefox and Chrome browsers.

If you have a SIP implementation and haven't attended these events, I highly recommend you look into the value that this event provides.  http://www.sipit.net
The SIPit, or Session Initiation Protocol Interoperability Test, is a weeklong event where people bring their SIP implementations to ensure they work together. 

Each SIPit is open to anyone with a working SIP implementation. The goal of the events is to refine both the protocol and its implementations. SIPit is a driving force shaping SIP into a globally interoperable protocol for real time Internet communication services.
<![CDATA[SIP Use in the Hand-held Radio Industry]]>Tue, 30 Oct 2012 17:26:18 GMThttp://www.sipspectrum.com/blog/sip-use-in-the-hand-held-radio-industrySIP is very prominent in the telephony world, and has long established itself as the VoIP protocol of choice for telephony service providers, IVR vendors and PBX manufacturers.   What some people don't realize is that SIP has also moved it's way into other industries as well.  Of particular interest is the radio industry.

One of the first consulting projects I did within this industry was a SIP based connection from the digital radio world to the telephony world as an access mechanism to bridge a PBX with 2-way radios.  This project was based on vanilla SIP use (using IETF RFC specifications only), and involved the exact same implementation one would do for any standards based SIP/VoIP endpoint.  SIP use in the radio industry doesn't stop there though.  Radio vendor's need mechanisms to interoperate with each other and third party application vendors, such as console operators.   Picture
Radio vendors are designing new TCP/IP based protocols that utilize SIP as the base application level protocol to carry this specialized information.  Public protocols such as Project 25 ISSI (a TIA specification) and DMR extend the base SIP capabilities and layer radio functionality on top.  On top of these two standards there are also a number of vendor specific proprietary specifications encompassing very similar functionality.  This collection of multiple standards may hinder operability in the short-term.   However, I expect as SIP use matures more in the radio world we will see more convergence on a single customized use of SIP that will allow it reach the interoperability level we see today in the telecommunications space.