News from Industry

2600Hz Announces Full Integration with Innovative new “Carrier Pigeon” service.

2600hz - Fri, 04/01/2016 - 23:32

San Francisco, CA - April 1st, 2016 - With skyrocketing demand for integrations between different services, 2600Hz is staying ahead of the competition with a unique integration named “Carrier Pigeons”.  This service allows customers to place calls to a specific number/extension where you then leave a voicemail.  2600Hz seamlessly transfers the voicemail to a thumb drive. Via automated, scalable, elastic engineering robots, the thumb drive is attached to a pigeon who is dispatched automatically to the specific location determined by the extension.  Using 2600Hz Mobile services, Carrier Pigeons are tracked via GPS until they reach their destination. Their progress is shown in an amazing user interface, the Monster Pigeon app.

2600Hz’s Co-Founder Darren Schreiber explains “We’ve seen what employing contract workers has done for the transportation industry, with services like Uber and Lyft. We see no reason why this can’t be adopted in the communications industry. The challenge in our industry is that people want their voicemail messages quickly - faster than a person or a car can deliver the message. We realized that Carrier Pigeons were a natural choice.“

Co-Founder Patrick Sullivan expanded on the project further: "We are always on the bleeding edge.  Now that we have integration with Voice, Video and SMS/MMS we had to think outside the box.  When sitting in our conference room talking about the future of business communication, we noticed a vast amount of resources sitting outside our window – Pigeons.  Most see dirty animals with wings. We see a way to deliver secure messages to places that might not have fiber or any other transit to get information to.  We also believe everyone has a crazy uncle or aunt ‘living off the grid’ and you might want to communicate with them.  We now have a way to do just that. This gives us a huge advantage over the typical CLEC/ILEC infrastructure.  The opportunities are endless.”

The program is in Beta and is invite only. Project “Carrier Pigeon” will launch publicly in the next couple months.  2600hz has already received multiple Silicon Valley investment offers and hopes to display the technology live, on stage, at TechCrunch, with other successful projects such as Pied Piper.

For questions and information requests please contact:

Captain Crunch
CaptainCrunch@2600Hz.com
140 Geary St.
San Francisco, CA
Ph: 415-886-7900

The FreeSWITCH 1.6.7 release is here!

FreeSWITCH - Fri, 04/01/2016 - 20:40

The FreeSWITCH 1.6.7 release is here! This is a routine maintenance release and the resources are located here:

Release files are located here:

New features that were added:

  • FS-8908 [verto communicator] Link to preview camera and microphone under settings
  • FS-7800 [verto communicator] Added support for calling extra screens with same extension as the original and place the parameter conferenceCanvasID with the desired canvas id into the call parameters in the same place bandwidth preferences are added
  • FS-8972 [verto_communicator] Fixed mute video translation and added i18n using angular-translate and static file loader
  • FS-8989 [verto_communicator] Adding Portuguese i18n translations
  • FS-8991 [verto_communicator]Adding translations for French and added French Canadian. Thanks Tristan Mahé
  • FS-8998 [verto_communicator] Adding German, Catalan, Polish, Russian, Swedish, Chinese, and Indonesian translations.
  • FS-8990 [mod_verto] Adding verto_login header to verto::client_disconnect event
  • FS-8735 [mod_sofia] Display update support for Panasonic devices
  • FS-6833 [mod_sofia] Allow FreeSWITCH to initiate late offer calls
  • FS-8879 [mod_sofia] Work on SIP UPDATE and attended transfer for IPv6
  • FS-8964 [mod_sofia] Make it possible to disable picture_fast_update INFO requests to de-clutter trace and logs
  • FS-7125 [mod_sofia] Added an event “wrong_calls_state”. This is for fail2ban logging
  • FS-8864 [core][mod_av] Improve video file playback
  • FS-8977 [mod_av][core] Add functionality to support the NVENC hardware encoded h264 in codec and files and  set default to enable hardware encoder on conference too
  • FS-8862 [core] Auto adjust on passthru
  • FS-8876 [core] Add CPU affinity to each video thread in a round robin fashion.
  • FS-8909 [core] Add feature to play background video while recording inbound video. This feature is suitable to provide some kind of feedback like an animation of a glowing record light etc.
  • FS-8870 [core] Add human-readable call quality statistics logs on call hangup
  • FS-7776 [mod_kazoo] Integrate the module into build system
  • FS-8737 [mod_kazoo] Add required variables to default filter
  • FS-8595 [mod_conference] Improve auto bitrate in personal canvas mode and do not let auto bitrate exceed native picture size
  • FS-8921 [mod_conference] Re-designed the banner code
  • FS-8685 [mod_conference] Multiple member arguments for conference related API command. The new format is: ‘conference foo relate 1 2,3,4 nohear’ or ‘conference foo relate 1,2 3 nospeak
  • FS-9000 [mod_conference] Set conference flags or conference member flags with individual variables per flag
  • FS-8822 [mod_callcenter] Added a real-time counter for calls in a queue.
  • FS-8903 [mod_local_stream] Add a logo image and some parameters to control its behavior
  • FS-8932 [mod_managed] Add in process load in-process plugins
  • FS-8688 [mod_vpx] Add more detailed logs and tweak some parameters for the coming libvpx 1.5.0 and implement vp9 processing to avoid chrome hang
  • FS-8728 [mod_amqp] Adding logging profile and functionality and added default configurations
  • FS-8971 [mod_amqp] There are two different status variables with two different meanings. This splits them back apart.
  • FS-8983 [mod_avmd] Enable avmd on outbound channel to make debugging easier
  • FS-8875 [mod_avmd] Enable faster beep detection

Improvements in build system, cross platform support, and packaging:

  • FS-8111 [mod_sofia] ‘sofia’ API command auto-complete cleanup
  • FS-8763 [mod_sofia] Changed to set is_auth only after the results for switch_ivr_set_user
  • FS-8782 [mod_verto] Fixed build error for missing __bswap_64 on Solaris
  • FS-8778 [mod_verto] Define __bswap_64 for FreeBSD as well
  • FS-8195 [src] Allow Solaris privileges to work on both Solaris and derivatives
  • FS-8776 [build] Support GNU make parallel builds
  • FS-8942 [build] Pass compiler to libvpx configure to account for environments without gcc
  • FS-8871 [configuration] Fixed encoding “&” and “<” symbols in vanilla configuration
  • FS-8808 [core] Fixed ^D in fs_cli with editline to delete char under cursor, not just backspace
  • FS-8818 [core] Refactor X-PRE include to not toss error if there are no files that match the include.
  • FS-8992 [core] Indicate end of candidates in SDP to aid in the resolution of an interop issue with Mozilla
  • FS-8788 [Debian] Enabling stacksize limits for Debian packaging
  • FS-8933 [Debian] Basic FreeSWITCH from source installer that works on Raspian and Debian. Also installs VertoCommunicator and LetsEncrypt SSL Certs. LetsEncrypt requires the machine to have a public IP and DNS for the FDQN functioning properly in public DNS
  • FS-8948 [Debian] Handle non-existent configuration in Debian postinst causing failure to copy vanilla configuration on installation
  • FS-8841 [Debian] Prevent hanging by pushing events to another queue to be processed in a different sofia thread.
  • FS-7389 [CentOS] Correct the location of the freeswitch users homedir in the specfile
  • FS-8186 [Windows] Fixed build with –disable-libyuv to ensure projects don’t incorrectly depend on libapr directly
  • FS-8952 [Windows] Fixed an issue with unreachable code preventing build and simplify conditions
  • FS-8779 [mod_shout] Properly detect lame/lame.h for FreeBSD
  • FS-8808 [mod_avmd] Code refactor to fix indentation and conditional loops
  • FS-8961 [mod_avmd] Add optional requirement of consecutive streak of estimations in SMA buffer to avoid false positives, fix definitions, and add options to control debugging/printing
  • FS-8988 [mod_avmd] Rename files to include avmd in their name.
  • FS-8878 [mod_amr] Fixed compiling without the library installed
  • FS-8756[mod_say_nl] Improve dutch localisation
  • FS-8933 [scripts] WIP Fixed some breakage on Raspbian as we don’t want the FS repos there yet as we don’t have armhf packages at this time

The following bugs were squashed:

  • FS-8719 [mod_conference] Fixed a segfault caused by building without video support, but specifying video_mute_png variable for a conference member
  • FS-8752 [mod_conference] Fixed a pixelation issue in initial seconds of recording a conference
  • FS-8354 [mod_conference] Fix for G722 audio issues
  • FS-8938 [mod_conference] Clear res_id when setting the same res_id to another member
  • FS-8951 [mod_conference] Video lockup in conference due to race condition
  • FS-8957 [mod_conference] Fix for video image blipping on personal canvas mode when 1 participant is watching video on hold
  • FS-8750 [mod_conference] Fixed a set but not used variable warning
  • FS-8749 [mod_conference] Fixed an issue when loading a video (mp4) for a conference using the “conference play” command “conference pause_play”
  • FS-7915 [mod_sofia] Parse and store multiple path fields
  • FS-8663 [mod_sofia] Added saftey checks for ;fs_path= command
  • FS-8759 [mod_sofia] Fixed a segfault caused by device or provider timing interactions
  • FS-8879 [mod_sofia] Fixed SIP UPDATE and attended transfer for ipv6
  • FS-8898 [mod_sofia] Log setVariable at debug to easier tell what variables are being set from scripts
  • FS-8913 [mod_sofia] Fixed a transfer issue when using bypass_media + SRTP + Inbound late negotiation
  • FS-8796 [mod_verto] Fixed and cleaned up the mcast code
  • FS-7132 [mod_verto] Fixed an issue with multiple websockets overwriting the jsock hash entry for a given sessionid causing a disconnection with the verto javascript application.
  • FS-8842 [verto] Fixed an issue where calls created using the originate command lose audio when left on hold for 45 seconds
  • FS-8877 [verto] Fixed an issue caused by Chrome Canary removing some audio mandatory constraints that break Verto
  • FS-8805 [verto] Added a sanity check on array
  • FS-8945 [verto_communicator] Don’t show preview_settings window during a video conference call or you will lose conference video stream until you refresh the page
  • FS-8842 [verto] Fixed an issue where calls created using the originate command lose audio when left on hold for 45 seconds
  • FS-8877 [verto] Fixed an issue caused by Chrome Canary removing some audio mandatory constraints that break Verto
  • FS-8839 [verto_communicator] Fixed screenshare not displaying in the proper conference when caller is transferred to another conference.
  • FS-8963 [verto_communicator] Fixed the status call label
  • FS-8966 [verto_communicator] Fixed the ability to cancel dialing while doing speed test
  • FS-8970 [verto_communicator] Set useSpeak/useMic/useCamera to ‘none’ when calling a secondary canvas
  • FS-8765 [verto_communicator] Make the preview button work properly
  • FS-7800 [verto_communicator] Disable video floor changes on multi-canvas
  • FS-8995 [verto_communicator] Added missing toastr in settings controller
  • FS-8990 [verto communicator] Added verto_client_address to verto and presence events
  • FS-8996 [verto_communicator] Fixed a typo in CAMERA_SETTINGS id and added some Italian translation
  • FS-8997 [verto_communicator] Fixed fallbackLanguage
  • FS-9012 [verto_communicator] Fixing sidebar in narrow resolutions clipping the video
  • FS-8720 [core] Fixed a segmentation fault when switch_channel_str2cause is called
  • FS-8960 [core] Reset the buffer position to zero to ensure correct calculation of average
  • FS-8975 [core] Fixed the dtmf_type and sofia profile parameter dtmf-type variables
  • FS-8731 [core] Fixed a crash when leg-b invite video in voice call
  • FS-8734 [core] Cleaned up video jitter buffer by adding some formatting to the debugging logs so the text jumps around less and fixing sequence number rollover code to handle rollover better.
  • FS-8713 [core] Fixed a crash on bad video rtp stream by pushing a patch to make the sizes match. This was the original intention since we want to preserve the packet as-is while in the jitter buffer
  • FS-8721 [core] Fixed an eavesdrop memory leak caused by moving bug_remove_all after destroy where it’s more than safe to kill bugs indiscriminately
  • FS-8673 [core] Fixed a core dump on playback after “Decode Codec is not initialized!” log message
  • FS-8571 [core] Add missing ENABLE_SRTP ifdef to allow building without SRTP
  • FS-8770 [core] Fixed media_bug_answer_req=true creating a file for unanswered calls
  • FS-8786 [core] Fixed a fax hangup problem when testing long faxes over T.38 and rtp-timeout-sec is set to 300
  • FS-8802 [core] Fixed an issue caused by the sent timestamp of RTP rolling over to 0 and hitting an error condition causing it to stop sending audio
  • FS-8726 [core] Fixed a spurious case of a thread stuck and saturating CPU
  • FS-8812 [core] Respect in_thread_only parameter in switch_channel_check_signal()
  • FS-8809 [core] Fixed an undeclared MAP_POPULATE causing compliation failure
  • FS-8816 [core] Fixed switch_core_hash_insert_destructor not checking switch_hashtable_insert_destructor() returns
  • FS-8830 [core] Added SDP line separator fix for SDP generated by the core. Sofia when giving an SDP through SOA was parsing the SDP and rewriting it. For endpoints that use the core SDP as is will have more accurate SDP now.
  • FS-8806 [core] Change group_confirm_cancel_timeout to apply only to the legs that answer the call to prevent the remaining legs ringing indefinitely if the answered leg hangs up while executing the group confirm script.
  • FS-8821 [core] Fixed switch_core_hash_insert_locked and switch_core_hash_insert_wrlock to make sure they check the status of the operation before returning a switch_status.
  • FS-8862 [core] Auto adjust on passthru
  • FS-8811 [core] Fixed an intermittent crash
  • FS-8851 [core] Fix for codec for recording negotiated before call answered
  • FS-8904 [core] Fix memory leak in img_write_text
  • FS-8905 [core] Fixed for a heap buffer overflow detected by ASAN in the img patch/img overlay and it may show up as a rare segfault when using video with banners
  • FS-8864 [core] Set video ready on first push to avoid catch 22 on some video files and improve video file playback
  • FS-8910 [core] Properly negotiate SDES when receiving an SDP with a=crypto:0 with the wanted crypto suite, we should maintain that crypto tag in the local SDP in order for SDES setup to succeed.
  • FS-8914 [core] Fixed mp4 recording cutting off the end in some cases by adding code to mitigate the sync of the end of the file encoding to add some padding to the end
  • FS-8761 [core] Fixed a memory leak
  • FS-8855 [core] Fixed the calculation of variance of tone’s frequency estimator to prevent flawed audio
  • FS-8928 [core] Flag a binding error when using EventConsumer::bind with invalid event name instead of blindly using custom
  • FS-8168 [core] Use copy image functions from libyuv instead of our home rolled versions as the libyuv versions have optimizations
  • FS-8982 [core] Fixed an issue with play_fsv and play_yuv writing blank_img in parallel
  • FS-8918 [core] Fixed an issue with a 10 Second timeout after Notify during Proxy refer
  • FS-9002 [core] Fixed an issue with rtp timeout code parsing on video but its designed for audio
  • FS-8847 [core] When a call ends sometimes the RTP stack complains of a bad poll. This is normal caused by shutting down the rtp on hangup. Add some code to catch the condition that is ok and still print the error otherwise
  • FS-8789 [mod_conference][mod_av] Fix warning thats printed when it shouldn’t be and remove ability to swap to personal canvas while recording and prevent recording while personal canvas is on.
  • FS-8864 [mod_av] Fixed regression to recording to improve file playback
  • FS-8868 [mod_av] Set recording app to respect bandwidth set in SDP
  • FS-8916 [mod_av] Fixed an issue with newer x264 library returning Encoding Error -1 for newer x264 libraries
  • FS-8836 [mod_av] Fixed a deprecated warning on newer ffmpeg to support ffmpeg 2.8 and 3.0 in addition to 2.6
  • FS-8914 [mod_av] Adding code to mitigate the sync of the end of the file encoding to add some padding to the end
  • FS-8973 [mod_av] Enable libavcodec experimental native implementation features (such as AAC) by default
  • FS-8959 [mod_av] Refactor to improve memory processing and prevent leaks in encoding h264
  • FS-8993 [mod_av][mod_conference] Fixed a sync issue on conference playback for a video that is faster frame rate than the conference
  • FS-8656 [src] Fix switch_event_channel_broadcast identifier redeclared
  • FS-8777 [mod_redis] Add the missing netinet/in.h include required to build mod_redis/credis.c for FreeBSD
  • FS-8768 [mod_callcenter] Releasing database handle after reserving agent
  • FS-8856 [mod_callcenter] Updating a member fails because the agent_dispatch_thread removed the member just before it tried to update it.
  • FS-8838 [mod_rayo] Improve logging and error handling when executing API on output component. Attempt to make output component stop a little more robust and do a better job of detecting when output component completed because of hangup and preventing operations on output component when call has ended.
  • FS-8811 [mod_local_stream] Fixed an intermittent segfault and a crash caused by dividing by 0
  • FS-8866 [mod_erlang_event] Fixed memory leaks caused by not destroying session event_hash and events in queue
  • FS-8999 [mod_erlang_event] Fixed broken outbound connection
  • FS-8871 [configuration] Fixed encoding “&” and “<” symbols in vanilla configuration
  • FS-8943 [configuration] Fixed misspellings in two comments
  • FS-8884 [build] Add –disable-libyuv and –disable-libvpx configure arguments to disable building these libraries on FreeBSD and smartos
  • FS-8915 [mod_smpp] Shortened event header name
  • FS-8950 [mod_skinny] Fixed a few memory leaks
  • FS-8946 [mod_xml_cdr] Fixed a segfault on call after loading with no config file or event bind failure causing the module load to fail
  • FS-8937 [mod_easyroute] Handle a segfault when using bad customer query or on query error
  • FS-8775 [mod_say_de] Add function SST_SHORT_DATE_TIME to mod_say_de.c and some language tweaks
  • FS-8406 [mod_rtmp] Add options to scale down cavas size, fps, and bandwidth
  • FS-8736 [spandsp] Fixed missing MEMMOVE macro in spandsp autoconf
  • FS-8891 [RTP] Fix for T38 fax failing between 2 freeswitch boxes with high cpu usage
  • FS-8312 [mod_sangoma_codec] Some maintenance clean-up and reset the whole trans-coding session memory on destroy to make debugging easier
  • FS-8971 [mod_amqp] Resolve global structure handling issue causing a core dump. Thanks to Ben Hood for reporting the issue.

Kamailio v4.4.0 Released

miconda - Wed, 03/30/2016 - 21:50
March 30, 2016Kamailio v4.4.0 is out –  a new major release, bringing out new features and improvements added during about seven months of development and one and a half month of testing.In short, this major release brings 9 new modules and enhancements to more than 60 existing modules, plus components of the core and internal libraries. Detailed release notes are available at:The release series 4.4.x is expected to be the last starting with number 4, next major release is planned to be 5.0.0, which should get Kamailio to a new era — there are already ongoing discussions on users mailing list about the changes to be done as well as a wiki page was created to collect the relevant ideas for 5.0.x. Join us to design and develop v5.0.0!Enjoy SIP routing in a secure, flexible and easier way with Kamailio v4.4.0!Thank you for flying Kamailio and looking forward to meeting you at Kamailio World Conference 2016!

FreeSWITCH Week in Review (Master Branch) March 19th – March 26th

FreeSWITCH - Tue, 03/29/2016 - 20:00

This week we have added functionality to support the NVENC hardware encoded h264 codec, files, and default on conference.

Join us Wednesdays at 12:00 CT for some more FreeSWITCH fun! And, head over to freeswitch.com to learn more about FreeSWITCH support.

New features that were added:

  • FS-8964 [mod_sofia] Make it possible to disable picture_fast_update INFO requests to de-clutter trace and logs
  • FS-8977 [mod_av][core] Add functionality to support the NVENC hardware encoded h264 in codec and files and  set default to enable hardware encoder on conference too

Improvements in build system, cross platform support, and packaging:

  • FS-8186 [Windows] Fixed build with –disable-libyuv to ensure projects don’t incorrectly depend on libapr directly
  • FS-8961 [mod_avmd] Add optional requirement of consecutive streak of estimations in SMA buffer to avoid false positives, fix definitions, and add options to control debugging/printing

The following bugs were squashed:

  • FS-8960 [core] Reset the buffer position to zero to ensure correct calculation of average
  • FS-8975 [core] Fixed the dtmf_type and sofia profile parameter dtmf-type variables
  • FS-8312 [mod_sangoma_codec] Some maintenance clean-up and reset the whole trans-coding session memory on destroy to make debugging easier
  • FS-8963 [verto_communicator] Fixed the status call label
  • FS-8966 [verto_communicator] Fixed the ability to cancel dialing while doing speed test
  • FS-8970 [verto_communicator] Set useSpeak/useMic/useCamera to ‘none’ when calling a secondary canvas
  • FS-8765 [verto_communicator] Make the preview button work properly
  • FS-7800 [verto_communicator] Disable video floor changes on multi-canvas
  • FS-8914 [mod_av] Adding code to mitigate the sync of the end of the file encoding to add some padding to the end
  • FS-8973 [mod_av] Enable libavcodec experimental native implementation features (such as AAC) by default
  • FS-8959 [mod_av] Refactor to improve memory processing and prevent leaks in encoding h264
  • FS-8836 [mod_av] Fixed a deprecated warning on newer ffmpeg to support ffmpeg 2.8 and 3.0 in addition to 2.6
  • FS-8750 [mod_conference] Fixed a set but not used variable warning
  • FS-8971 [mod_amqp] Resolve global structure handling issue causing a core dump. Thanks to Ben Hood for reporting the issue.

DIY or SaaS for Your In-App Messaging?

bloggeek - Tue, 03/29/2016 - 12:00

No easy answer.

What route should your messaging implementation take?

If there’s something I like is to write code. I haven’t done so in years, but it still is my passion. A year or two ago, I’ve done a small coding project for something I needed. After a whole day of coding it dawned on me that I haven’t checked my email, social networks or notifications the whole time – and didn’t even miss it. The only thing these days that can focus me on a single task at a time is programming.

When I did develop, and manage developers, there was always that tension of NIH in the air – the Not Invented Here syndrome that we developers are so good at. We want to develop stuff on our own and not “outsource” it to others. Hell – if I wrote a piece of code a year ago it was crap the next year and had to be rewritten.

I had the chance to listen in to Apigee’s recent webcast on Build vs Buy API Management. See it here:

This webcast goes over a lot of reasoning I see going on in any development project when the decision needs to be building build and buy.

The funny thing is that I don’t hear this kind of a discussion enough when it comes to messaging. Somehow, people think it is trivial.

I took a few of the concepts in this webcast, and “translated” them into the realm of build vs but for messaging.

Limited view of the scope

When a project starts, it seems that adding messaging isn’t that hard. You have a bunch of people. Maybe some presence indication. Run around a few Websocket messages for the text involved in the conversation and you’re done.

But is it really true, or is there more to messaging? It is far from trivial. Even simple things like delivering messages while disconnected or handling push notifications are notoriously hard to get right – even for those who should be the experts in it.

When you define what it is you need to build for your messaging, most often than not, you’ll be doing it with the following “mistakes”:

  • You will have a narrow scope of what is really needed
  • You will focus on the functional part of messaging, but probably a lot less of the other requirements (such as a good backend to understand what your system is doing and how people end up using it)

With limited scope comes the challenge of not comparing the right things when deciding between build or buy.

RISK

Every development project is risky. Purchasing an off the shelf solution usually mitigates the risk by having it done by someone else where the payment and deliverables are known in advance.

Developers tend to ignore risk – especially if the project is interesting enough to build. And yes. A distributed, low latency, high efficiency, large scale messaging backend written in Lua or Go is highly interesting.

You are not WhatsApp. Or Netflix

Building your own messaging system is hard. It takes a lot of effort. WhatsApp seems so easy, but getting there is hard.

This shift towards in-app messaging that is occurring means that in most cases, messaging is becoming part of an IT project and not exactly an R&D project. As a company, this means the focus is elsewhere and that messaging is considered a commodity or a non-core technology.

In such cases, there is no real funding for ongoing development, support and maintenance of an in-house DIY messaging framework.

Can open source help?

Sure, but is it at the right level of maturity?

There are a few dozen open source messaging frameworks out there. They probably do the work, but barely.

And the main challenge is that messaging is rapidly changing, which means that whatever is out there today is probably somewhat obsoleted or out of sync with what you need anyway – and getting it to where you need it means more investment on your end. Probably.

To top it all, with most of these open source initiatives, what you’ll find out that they have one main contributor behind them. That contributor is most probably a vendor who is offering support and proprietary modules to take care of commercializing the open source offering. Things like reporting, scaling, maintenance, etc. – all these will fall in the domain of proprietary and payment.

So if the idea from the start was to use open source to refrain from having to negotiate and work with a vendor, where does that lead you down the road? Isn’t it better to acknowledge the fact from the onset and find a suitable solution out of a larger set of available vendors?

Time To Market

I know. I know.

If you write your own messaging system, it will take you the better part of a weekend. Adding a bit of code and stability around it clocks it at a month. Nothing can beat that.

But what is it you are comparing here? Are you concerned about your prototype implementation or is that like production grade we’re talking about?

Getting something to production requires a lot more time.

Why are you even going DIY?

Is it because it will be cheaper?

Because you’ll have more control over your future and destiny?

DIY is going to cost you in time and effort which you don’t necessarily have.

If and when this project of yours going to succeed, you’ll find out that with it more requirements and maintenance work is necessary. But what you’ll also find out is that the budget might not be there for you to handle that extra load in development. You promised the organization a working messaging system, and now that it is working – why are you asking for more funding exactly?

 

 

Easy? Hard? Core? Commodity?

I guess in most cases, deciding to develop your own messaging system requires a very good reason.

At testRTC we had that same need, though slightly different. We needed a way to communicate with the browser machines we’re running. It was all fine and well when the number of machines was rather small and their locations were simple. It became a real headache when we grew bigger and when customers started connecting machines in locations with flaky internet connections. We ended up using integrating one of the realtime messaging players for that purpose – and haven’t looked back at it since.

Messaging might seem easy, but it is pretty hard once you get to the details.

So why not outsource it and be done with it?

The post DIY or SaaS for Your In-App Messaging? appeared first on BlogGeek.me.

Kamailio 2015 Awards

miconda - Mon, 03/28/2016 - 23:30
Here we are, the 9th edition of Kamailio Awards granted for the activity related to Kamailio and Real Time Communications during the previous year, respectively 2015. Continuing the tradition, there are two winners for each category.

During 2015, Kamailio v4.3 was released and most of the development for upcoming v4.4 was done  (to be released on March 30, 2016). The 3rd edition of Kamailio World Conference was organized, gathering the community of developers and enterprises relying on Kamailio and its ecosystem.

The 2016 is going to be a reference year in the evolution of the project. It marks 15 years of the development for Kamailio project, maybe not a smooth path always, but with amazing results after all these years. We will celebrate it at the 4th Kamailio World Conference, during May 18-20, 2016, in Berlin, Germany.

More of 2016 - after the release of v4.4, the resources will be allocated to design and bring Kamailio to the next level of flexibility and scalability, a project already code-named Kamailio 5.0.

To cut it short here, expect an amazing evolution of Kamailio in the near future. Now back to the awards.

Next are the categories and the winners!
    New Contributions
    • http client modules - http_client and http_async_client - split development between Olle E. Johansson, Hugh Waite, Federico Cabiddu and Camille Oudout - the two modules were developed separately and by that it shows that interactions with external applications via HTTP API are very important for building modern telephony systems.
    • tlsf (two-level segregate fit) memory manager - a core component developed by Camille Oudout (from Libon, Orange, France), bringing in an alternative to the existing memory managers, which relies on a modern management algorithm for memory operations (alloc, free and join) that is more suitable for handling various special cases of SIP server deployments with large number of TLS connections. This contribution "forced" another important enhancement: the addition of the command line option to select the desired memory manager at Kamailio startup.
    Developer Remarks
    • Hugh Waite (Xura, UK) - a long term developer of Kamailio, besides the contributions to HTTP client implementation already mentioned above, he was very active on adding new features or tracking issues to many other modules, such as websocket (adding support for SIP fragmentation), pv, tm, utils, app_lua, json, sdpops, a.s.o.
    • Stefan Mititelu (1&1 Germany) - he had a consistent amount of commits to various components, including support for database management of a RTPEngine farm, enhancements to debugger module to print the new SIP message after the config changes, refactoring of tm statistics, per module memory usage summary, a.s.o.
    Advocating
    • Dragos Vingarzan - the initial author of IMS module in Kamailio (developed via OpenIMSCore), Dragos helped the project to organize many developer and community meetings at FhG Fokus and continue to promote the project via Core Network Dynamics company.
    • Simon Woodhead - a long time player in the VoIP and SMS businesses with Simwood eSMS Ltd, Simon has been a promoter of Kamailio, presenting at various events and publishing articles about interesting topics such as VoIP fraud or building mobile services.
    Technical Support
    • Emmanuel Schmidbauer - besides several patches and activity on the mailing lists, Emmanuel was very active on #Kamailio's IRC channel, answering to and guiding the participats to solve their issues in real time.
    • Mikko Lehto - active in Kamailio community for several years, answering on mailing lists, Mikko had also a consistent contribution by compiling Kamailio on different operating systems, pushing patches that cleaned up a lot of specific warnings.
    Blogging
    • Gholamreza Sabery - for publishing the Ansible playbooks and related files for an Active-Passive Kamailio auto-deployment using Pacemaker and Corosync.
    • blog.irontec.com - for publishing an ample tutorial about horizontal scaling of VoIP platforms using Kamailio and Asterisk with Docker (in Spanish, but configs and commands can be taken directly, text can be easily translated with web tools).
    Related Projects
    • matrix.org - an admirable effort led by Matthew Hodgson to specify a protocol and build an open source platform to connect heterogeneous RTC systems, with a connector for SIP and Kamailio. Given the trend of big companies to build walled garden RTC services, Matrix is aiming to provide the framework that will make it easier to interconnect, relying on extensible technologies such as WebRTC and HTTP/JSON APIs.
    • sngrep - the swiss army knife of sniffing and analyzing the SIP traffic on a terminal (e.g., when connected via ssh). It can draw diagrams of SIP dialogs (VoIP calls) with updates in real time, it also provides advanced match, search and sort criteria. If you haven't used so far, think of it like a wireshark for SIP traffic in the terminal.
    Business Initiatives
    • Pascom, Germany - the vendor of Mobydick - an Asterisk-based PBX system - with a cloud service leveraging Kamailio for security and scalability
    • VoiceTel, USA - an IP telephony operator in North America, using Kamailio to take care of filtering bad and good traffic and load balance across media servers farms
    Events
    • IIT RTC Conference - one of the few events out there that still tries to cover a broad range of RTC topics, with a tight relation to research and academic environments, and a particular focus on future needs of communications.
    • TAD Hack - Telecom Application Developer Hackaton - started and mainly organized by Alan Quayle, it is a series of events along year long taking place in different locations across the world, even allowing remote participants. The events try to promote innovation in telecom space by getting together developers of different applications, platforms and services. Developers and friends of Kamailio are often participating, among them Carsten Bock, Federico Cabiddu, Giacomo Vacca, James Body, Randy Resnick.
    Friends of Kamailio
    • Carol Davids - Professor at Illinois Institute of Technology, Chicago, USA - under her supervision, many students of the Master program at IIT are designing and developing new concepts for RTC using open source applications, involving Kamailio in many cases. Actually IIT has been awarded in the past as an academic entity, due to a number of research papers that were published by their members, where Kamailio has been used during the proceedings.
    • Markus Monka - Head of Infrastructure IT/Telco at sipgate, Germany - an early adopter of SER, continuing with OpenSER and Kamailio, sipgate is known as one of the companies pioneering the VoIP services for residential and business customers, serving several hundred thousands of active connections. Markus has been with the company for more than 10 years, supporting and assisting Kamailio to organize many of its events during the past years. He coordinates the team that contributed many patches and documentations back to the projects.
    This is it for 2014. If you want to check the previous turn of awards, visit:
      Looking forward to meeting many of you soon in Berlin, during May 18-20, 2016, at the 4th edition of Kamailio World Conference & Exhibition, to celebrate 15 years of development for Kamailio Project.
      Note: I am solely selecting the winners, with no involvement of Kamailio project members, based on what I observed and has risen my interest during 2015.  Also, a rule that I try to enforce is that a winner of a category in the past will not be awarded again same category (a winner one time is a winner for ever).

      Everyone and His Dog is Fixing WebRTC

      bloggeek - Mon, 03/28/2016 - 12:00

      Enhanced. Fixing. Solving. Enterprise grade. Improving. Completing.

      I’ve been seeing this too much lately.

      Companies decide to market their product as a way to “fix” WebRTC. The gall.

      I understand where this comes from. Marketing is a lot about FUD. How to put fear in your potential customer until the only thing left for him to do is buy.

      If you look closely, though, none of them really “fixes” WebRTC. The only thing they are doing is using WebRTC in a way that may fit you as a customer.

      An example?

      Companies who “fix” WebRTC by adding signalling to it. Or adding authorization. Or having it connect to PSTN.

      This isn’t about “fixing”. This is about supporting a specific scenario or feature in a product – not even related to WebRTC itself.

      Others “fix” WebRTC by having it work on IE (forcing a plugin on the user or using Flash). Again, less about WebRTC, and more about the use case.

      And you know what? WebRTC doesn’t offer notifications either – I am sure you can go ahead and “fix” WebRTC by adding push notifications to your app on top of WebRTC!

      WebRTC is a very powerful building block, but that’s about all it is – a building block. You’ll need to add additional building blocks to create a solution with it, so no – you aren’t fixing it – you are just implementing your use case with it.

      Please.

      Stop fixing WebRTC. It isn’t broken.

      Just focus on solving a real world problem for a real customer and be done with it.

      The post Everyone and His Dog is Fixing WebRTC appeared first on BlogGeek.me.

      Is Slack’s WebRTC Really Slacking? (Yoshimasa Iwase)

      webrtchacks - Thu, 03/24/2016 - 13:25

      Earlier this month Fippo published a post analyzing Slack’s new WebRTC implementation. He did not have direct access or a team account to do a thorough deep dive – not to mention he is supposed to be taking some off this month. That left many with some open questions? Is there more to the TURN network? […]

      The post Is Slack’s WebRTC Really Slacking? (Yoshimasa Iwase) appeared first on webrtcHacks.

      Introducing the Next Generation of 2600Hz

      2600hz - Tue, 03/22/2016 - 23:44

      You may have noticed our shiny new website, featuring our new 2600Hz brand.

      This is the new generation of 2600Hz, and we are so excited to share it with you.

      First, let’s talk about the new 2600Hz branding. This new modern symbol represents the transmission of signals and data. It symbolizes the connection from point A to point B, which is what we do every single day. Our goal has always been to provide an elegant and powerful format for communications services. 2600Hz strives to be a leader and innovator in the telecom industry, while connecting and empowering businesses through our software.

      Now, let’s talk about the next phase of 2600Hz. The new branding represents the growth we have experienced together and is of our plans moving forward. In the beginning, we put the majority of our focus into distributed architecture. We spent years building up our software with heavy emphasis on back-end engineering. While we continue to do so, this next chapter is all about you – our clients – and your customers.

      Throughout the next few months you will see a stronger focus on providing tools to help you be successful. These tools range from tight integrations with other services to better developer documentation, allowing people to easily build on the platform. Our goal is to equip you with an arsenal to win more deals quickly and expand your current accounts. We believe that the best way to do this it to foster innovation from not only 2600Hz but from the community as well.

      We hope you are as excited as we are! Take a look at our new website and services. There are more exciting announcements coming soon, so stay tuned!

      Kamailio World 2016 – Student Grants

      miconda - Tue, 03/22/2016 - 23:08
      Continuing the program from last years, based on the roots and the tight relation of Kamailio project with the academic environment, we are offering three seats at Kamailio World Conference, May 18-20, 2016, in Berlin, to students enrolled in universities or research institutes (both bachelor and PhD programs qualify). Last year we had students participating from Austria, Slovakia and Netherlands.If you are a student and want to participate, write an email to registration@kamailio.org . Participation to all the content of the event (workshops, conference and social event) is free, but you will have to take care of expenses for traveling and accommodation. Write a short description about your interest in real time communications and what is the university or the research institute you are affiliate to.Also, if you are not a student, but you are in touch with some or have access to students forums/mailing lists, it will be very appreciated if you forward these details.More information about Kamailio World is available on the web site:Looking forward to meeting many of you at Kamailio World 2016!

      FreeSWITCH Week in Review (Master Branch) March 12th – March 19th

      FreeSWITCH - Mon, 03/21/2016 - 19:43

      The biggest news this week is the edition of a Raspberry Pi installation script adding by Ken Rice. Grab yourself a Raspberry Pi and go try it out!

      Join us Wednesdays at 12:00 CT for some more FreeSWITCH fun! This week we are talking about Raspberry Pi and the Internet of Things! And, head over to freeswitch.com to learn more about FreeSWITCH support.

      New features that were added:

      • FS-8932 [mod_managed] Add in process load in-process plugins
      • FS-8933 [Debian] Basic FreeSWITCH from source installer that works on Raspbian and Debian. Also installs VertoCommunicator and LetsEncrypt SSL Certs. LetsEncrypt requires the machine to have a public IP and DNS for the FDQN functioning properly in public DNS
      • FS-8870 [core] Add human-readable call quality statistics logs on call hangup
      • FS-7800 [verto communicator] Added support for calling extra screens with same extension as the original and place the parameter conferenceCanvasID with the desired canvas id into the call parameters in the same place bandwidth preferences are added

      Improvements in build system, cross platform support, and packaging:

      • FS-8948 [Debian] Handle non-existent configuration in Debian postinst causing failure to copy vanilla configuration on installation
      • FS-8841 [Debian] Prevent hanging by pushing events to another queue to be processed in a different sofia thread.
      • FS-8942 [build] Pass compiler to libvpx configure to account for environments without gcc
      • FS-8952 [Windows] Fixed an issue with unreachable code preventing build and simplify conditions

      The following bugs were squashed:

      • FS-8938 [mod_conference] Clear res_id when setting the same res_id to another member
      • FS-8951 [mod_conference] Video lockup in conference due to race condition
      • FS-8957 [mod_conference] Fix for video image blipping on personal canvas mode when 1 participant is watching video on hold
      • FS-8943 [configure] Fixed misspellings in two comments
      • FS-8950 [mod_skinny] Fixed a few memory leaks
      • FS-8946 [mod_xml_cdr] Fixed a segfault on call after loading with no config file or event bind failure causing the module load to fail
      • FS-8937 [mod_easyroute] Handle a segfault when using bad customer query or on query error
      • FS-8855 [core] Fixed the calculation of variance of tone’s frequency estimator to prevent flawed audio
      • FS-8928 [core] Flag a binding error when using EventConsumer::bind with invalid event name instead of blindly using custom
      • FS-8168 [core] Use copy image functions from libyuv instead of our home rolled versions as the libyuv versions have optimizations
      • FS-8406 [mod_rtmp] Add options to scale down cavas size, fps, and bandwidth
      • FS-7915 [mod_sofia] Parse and store multiple path fields
      • FS-8663 [mod_sofia] Added saftey checks for ;fs_path= command
      • FS-8945 [verto_communicator] Don’t show preview_settings window during a video conference call or you will lose conference video stream until you refresh the page

      Standards are for Losers

      bloggeek - Mon, 03/21/2016 - 12:00

      They really truly are.

      Whenever someone whines to me that WebRTC isn’t a standard yet so it isn’t ready it makes me laugh. Who the hell cares about such a thing anymore?

      The standard is whoever’s got the clout and strength in the market. Ask any marketer – would they want to be able to interact with the carrier’s standardized, federated (and almost non-existent) RCS client to send a message – or would they rather be able to interact with WhatsApp users. The answer, for countries where WhatsApp is popular will be WhatsApp. Marketers don’t care about the standard. The users don’t care about the standard. And most developers don’t care either – as long as the interface is adequately documented.

      Enter WebRTC.

      No. The IETF hasn’t gone through the motions and finalized the spec yet.

      Yes. It might change.

      No. I couldn’t care less.

      You see, there are already billions of users available to me via WebRTC. There’s source code I can take, compile and run anywhere I want. There’s a vibrant ecosystem of developers and vendors ready to assist. There’s a large and growing number of companies and use cases that make use of WebRTC.

      Who am I to say that WebRTC doesn’t exist because someone didn’t put their “standard” stamp on it?

      For the last 3 years I’ve been using WebRTC almost daily to communicate with others using various services. I didn’t think for once that this isn’t working because there’s no standard.

      Whenever companies band together to create a standard, I begin to question their motive. These days, it usually comes from a point of weakness – a place where there is one (or more) vendors who are strong in a domain and the only way the smaller kids can have a go at it is by specifying a standard to rally all small players to fight the dominant force.

      Whenever you see a standard being announced – ask who isn’t there – that’s the one with the power.

      In the case of codecs, the MPEG-LA asserts its power and dominance over H.264 and H.265/HEVC for video codecs. Which is why the aomedia was created and announced – to find an alternative codec and win the market back.

      The examples are countless.

      In the domain of real time communications, everyone were using H.323 or SIP. Then Skype came out, ignoring standards altogether. The industry tried its best to explain that Skype isn’t federated. There’s no standard there. To no avail. So companies (the same ones) tried connecting to Skype, to offer that as part of their service.

      The same is happening today with WhatsApp and other social networks. They are so big, that they are the standard.

      WebRTC is making the same distinction. It is taking away the hegemony on VoIP from VoIP vendors and putting the weight of this industry on the browser vendors. And now, these vendors are complaining that WebRTC isn’t interoperable. Doesn’t fit their needs. They don’t understand that they are neither in control here nor influencers. They lost control over that part of technology.

      This isn’t to say that WebRTC won’t stabilize or get standardized – it is just that it doesn’t matter when it comes to adoption.

      Standards? They are for the losers to run after to make sure they get to play the game. The winners don’t really need them.

      Planning on introducing WebRTC to your existing service? Schedule your free strategy session with me now.

      The post Standards are for Losers appeared first on BlogGeek.me.

      Releasing Kamailio v4.4.0

      miconda - Fri, 03/18/2016 - 23:06
      With no major issues reported, Kamailio is on a good track for releasing stable v4.4.0. Next week a lot of people prepare for Easter, therefore I propose to do the release on Wednesday, March 30, 2016. If new things pop up, the exact date can be adjusted a bit before or after the current proposal.Any new discovered issue should be reported to bug trucker:Help to complete the upgrade guide would be very appreciated:A draft list of what is new in 4.4 is already available at:Enjoy upcoming v4.4.0 and thank you for flying Kamailio!

      FreeSWITCH Install Script for RaspberryPi

      FreeSWITCH - Tue, 03/15/2016 - 18:36

      An install script for Raspbian and Debian 8 is now available.

      This script makes it easy to deploy FreeSWITCH from source on your Raspberry Pi running Raspbian or on a standard machine running Debian Jessie.

      Along with installing FreeSWITCH, Verto Communicator and LetsEncrypt are installed and configured. (Note: For LetsEncrypt to be configured you must have a valid public IP and hostname in DNS pointed at the machine.)

      To use this script:

      wget -O FreeSWITCH-debian-raspbian-installer.sh "https://freeswitch.org/stash/projects/FS/repos/freeswitch/browse/scripts/FreeSWITCH-debian-raspbian-installer.sh?raw"
      chmod +x ./FreeSWITCH-debian-raspbian-installer.sh
      ./FreeSWITCH-debian-raspbian-installer.sh

      Once the script completes, you will have FreeSWITCH installed to /usr/local/freeswitch, Verto Communicator in /var/www/html/vc, and if you set up the public IP and DNS name, LetsEncrypt SSL certificates installed.

      Kamailio World 2016 – The Speakers

      miconda - Tue, 03/15/2016 - 14:12
      Most of the accepted speakers at Kamailio World 2016 are now listed on the event website. There are many new speakers, several involved in the early stage of SER-Kamailio development, ready to reveal insides about project evolution. See more details at:The range of topics is again very broad, approaching scalability and security of VoIP platforms, WebRTC and VoLTE, various use case for Kamailio as well as integration with related projects such as Asterisk, FreeSwitch or SEMS.The majority of the speakers cover more than a decade of experience for each in real time communication services, being involved in building the past and shaping the future of this field. Another important reason to not miss the event!Join us for celebrating 15 years of development for Kamailio project!

      FreeSWITCH Week in Review (Master Branch) March 5th – March 12th

      FreeSWITCH - Mon, 03/14/2016 - 19:45

      This week the verto communicator link to previewing the camera and microphone in the settings, the ability to play background video while recording inbound video, and a re-design of the banner code in mod_conference.

      Join us Wednesdays at 12:00 CT for some more FreeSWITCH fun! This week we have Doug Waller from Flowroute! And, head over to freeswitch.com to learn more about FreeSWITCH support.

      New features that were added:

      • FS-8908 [verto_communicator] Link to preview camera and microphone under settings
      • FS-8909 [core] Add feature to play background video while recording inbound video. This feature is suitable to provide some kind of feedback like an animation of a glowing record light etc.
      • FS-8921 [mod_conference] Re-designed the banner code

      Improvements in build system, cross platform support, and packaging:

      • FS-8878 [mod_amr] Fixed compiling without the library installed
      • FS-7389 [CentOS] Correct the location of the freeswitch users homedir in the specfile

      The following bugs were squashed:

      • FS-8811 [mod_local_stream] Fixed a crash caused by dividing by 0
      • FS-8905 [core] Fixed a heap buffer overflow issue
      • FS-8910 [core] Properly negotiate SDES when receiving an SDP with a=crypto:0 with the wanted crypto suite, we should maintain that crypto tag in the local SDP in order for SDES setup to succeed.
      • FS-8914 [core] Fixed mp4 recording cutting off the end in some cases by adding code to mitigate the sync of the end of the file encoding to add some padding to the end
      • FS-8761 [core] Fixed a memory leak
      • FS-8866 [mod_erlang_event] Fixed memory leaks caused by not destroying session event_hash and events in queue
      • FS-8864 [mod_av] Fixed regression to recording to improve file playback
      • FS-8868 [mod_av] Set recording app to respect bandwidth set in SDP
      • FS-8916 [mod_av] Fixed an issue with newer x264 library returning Encoding Error -1 for newer x264 libraries
      • FS-8836 [mod_av] Fixed to support ffmpeg 2.8 and 3.0 in addition to 2.6
      • FS-8911 [mod_conference] Fixed a typo in conference_member
      • FS-8752 [mod_conference] Fixed a pixelation issue in initial seconds of recording a conference
      • FS-8898 [mod_sofia] Log setVariable at debug to easier tell what variables are being set from scripts
      • FS-8915 [mod_smpp] Shortened event header name

      Upcoming Events

      miconda - Mon, 03/14/2016 - 14:11
      This year started full engine with members of Kamailio community being present at various events world wide during January and February 2016 – among them:
      • ITExpo and Digium Asterisk World in USA, where Fred Posner had a presentation about integration of Asterisk and Kamailio
      • Fosdem in Brussels, Belgium, with presentations from Daniel-Constantin Mierla and Olle E. Johansson in the RTC Dev Room and an ad-hoc Kamailio developers meeting to discuss about version 5.0 with Camille Oudout, Federico Cabiddu, Daniel-Constantin Mierla, Giacomo Vacca, Henning Westerholt, Olle E. Johansson, Torey Searle
      • Kamailio Development Workshop, Alicante, Spain, coordinated by Daniel-Constantin Mierla
      • Call Center World, in Berlin, Germany, with Asipto participating to the event
      • Mobile World Congress, in Barcelona, Spain, with our friends from Quobis and Voztelecom around at the show
      • WebRTC Barcelona Meetup, co-organized by Quobis and Victor Pascual Avila at University of Barcelona
      For the rest of the spring, couple of events will have some of the Kamailio friends engaged:Expect more to be added in the list very soon! Even if you don’t participate to the events, if you are in the area it may be a good opportunity to meet with other Kamailio community members for a chat and few drinks! Announce your availability via Kamailio mailing lists.Also, should you participate to an event related to VoIP, SIP, WebRTC, VoLTE and Kamailio is involved in a way or another, do not hesitate to contact us in order to be listed on the project website.Thank you for flying Kamailio!Looking forward to meeting many of you at Kamailio World in Berlin and other events around the globe!

      WebRTC is a Distraction

      bloggeek - Mon, 03/14/2016 - 12:00

      Had to take this one out of my system.

      Just in time for Enterprise Connect, Dave Michels decided to write a post to attract readers. The title? WebRTC is a distraction. It is hard to pin point what’s wrong with the arguments in this one, but most of them are just lacking in knowledge or understanding of this market and how it operates, which is sad – especially coming from Dave who I value very much.

      The 4 main reasons why it is a distraction for Dave?

      1. Limited support
      2. Mobile is what really matters
      3. Why bother?
      4. WebRTC is dangerous

      Let’s try to dismantle each of these so called arguments one by one. Shall we?

      #1 – Limited Support

      WebRTC today runs on Chrome and Firefox. Microsoft went for ORTC (=WebRTC) and is now “considering” WebRTC as well.

      Apple isn’t there, but frankly – I almost never hear complains about Safari not having WebRTC. For some reason, Mac uses have been trained to use Chrome when needed. Furthermore, there’s work been done at Apple about WebRTC, if you care about rumors.

      Add to that the fact that no other solution runs on a browser. No other. None. Zilch. They are all getting thrown out from browsers who are stopping support for plugins, Java and probably Flash in the future. And what else have this amount of support anyway?

      Now, you can use WebRTC as a desktop app, using a plugin, through Java – or in whatever other manner people use their comms today – so that limited support is wider than any other alternative to date.

      #Doesn’t work for you? Don’t use it. But don’t complain that others are using it and are happy about it.

      #2 – Mobile is what really matters

      To whom?

      And while at it, using WebRTC inside an app makes a lot of sense. You shouldn’t care about the technology – just your customers. If they want apps, give them apps. Wrap WebRTC and be done with it.

      There’s no other serious media engine for mobile that can be considered – the price point for it will be too prohibitive as well as the investment made.

      Mobile is what really matters, which is why Facebook Messenger uses WebRTC. In both mobile and desktop. And is probably larger in deployment, users, minutes, seconds and engagement than anything else the unified communications market has to show for its huge success in its 10+ years of existence.

      You know what? I am tired of waiting for unified communications to happen. It is time we take matters into our own hands (with WebRTC) instead of waiting for these large stale companies to move at a reasonable pace and come up with a workable solution.

      #3 – Why bother?

      Dave says Google no longer cares or invests in WebRTC. I’d say this can’t be further away from the truth.

      Google are heavily invested in WebRTC today, based on the number of new features and changes they bring with every new version of Chrome (which happens every 6-8 weeks as opposed to 12-18 months of the slow vendors Dave asks us to put our trust in).

      The pace of change for WebRTC is staggering. Nothing comes close to it.

      In the span of a year, we’ve seen the echo canceler getting replaced in WebRTC, VP9 introduced, H.264 is underway, ORTC related APIs getting added and that’s just what I can remember off the top of my head (and really took place in the last couple of months only).

      Will Google continue at these breakneck speed? Who knows? For now, I’ll take what I am given – especially for free.

      #4 – WebRTC is dangerous

      Not sure where to start here.

      With Unified Communications and its current cadre of vendors, the issues raised by Dave (things you don’t understand and control coupled with hard to patch and upgrade) are a lot more dangerous.

      Do you know when your PBX was upgraded last for that critical security issue it had? Do you even know if it was upgraded at all? What about the router you have at home? This FUD about security in WebRTC wreaks of misundersanding of the technology.

      We are living in a world where we move everything to the cloud and our mobile devices. In such a world, security needs to be taken seriously. Not by introducing stupid proprietary solutions that are hard to manage or maintain, but rather by introducing cloud based solutions that can upgrade and update automatically. Ones where security is taken into account from the ground up and not as a bolt on feature to show the buyer.

      WebRTC has all that and more, so if you think WebRTC is dangerous – sure it is. To anyone who is trying to compete against the companies using it. In the long run, resistance is futile.

      The truth of it

      Google doesn’t care about the unified communication market when it comes to WebRTC.

      They just couldn’t care less if this does headaches to Cisco or Polycom or anyone else in this market. The way vendors are bitching about WebRTC shows how they view VoIP and UC as their own, as if they are entitled to what goes on there and as if someone needs to think about their business models and legacy deployments so they don’t get hurt.

      Get over it.

      WebRTC is a huge distraction to those who aren’t built to embrace it. They are going to fade away. Just a matter of time. And Dave – you won’t need to wait much longer for it to happen.

       

      [show promotion title=”strategy-session”]

      The post WebRTC is a Distraction appeared first on BlogGeek.me.

      Branch for Kamailio 4.4.x Series

      miconda - Fri, 03/11/2016 - 14:09
      The GIT branch 4.4 was created, it will host the Kamailio release series 4.4.x. To get this branch from GIT, you can use:git clone https://github.com/kamailio/kamailio.git kamailio
      cd kamailio
      git checkout -b 4.4 origin/4.4Notes about installing Kamailio from this branch are available at:Hopefully in about two weeks or so the full release of 4.4.0 will be out.From now on, any corresponding fix has to be pushed first to master branch and then cherry-picked to branch 4.4. No new features can get in branch 4.4. Enhancements to documentation or helping tools are still allowed.

      FreeSWITCH 1.7 Installed on Raspberry Pi 2

      FreeSWITCH - Fri, 03/11/2016 - 00:47

      written by 

      Original post can be found here: http://www.algissalys.com/how-to/freeswitch-1-7-raspberry-pi-2-voip-sip-server

      Installing, Compiling and running FreeSWITCH on the Pi 2

      The long and awaited for… FreeSWITCH 1.7 running on a Raspberry Pi 2 guide.

      We’ll be using the latest (at the time of this writing) Raspbian image 2015-11-21-raspbian-jessie.img on a Raspberry Pi 2.  Thanks to the awesome FreeSWITCH team at https://freeswitch.org/ especially Brian West, Ken Rice, and William King for all of their efforts with the FreeSWITCH project and helping me to get this working.

       

      Raspbian running on your Pi

      You’ll first need to have the Raspbian image running on your Raspberry Pi.
       

      Installing Dependencies

      In order to compile FreeSWITCH and it’s modules, you need to install some dependencies.

      Update your Pi packages

      sudo apt-get update && sudo apt-get upgrade

      The following packages were installed and I was able to successfully compile FreeSWITCH with the default modules in the modules.conf file, that were selected when I cloned the git master branch.  My default modules.conf of enabled modules is located at the bottom of this page for reference.  Note, If you enable/uncomment other modules in the modules.conf that gets created after running ./bootstrap.sh -j command below, you may require some additional dependencies.

      sudo apt-get install autoconf automake devscripts gawk libjpeg-dev libncurses5-dev libtool-bin python-dev libtiff5-dev \
      libperl-dev libgdbm-dev libdb-dev gettext libssl-dev libcurl4-openssl-dev libpcre3-dev libspeex-dev libspeexdsp-dev \
      libsqlite3-dev libedit-dev libldns-dev libpq-dev libsndfile-dev libopus-dev liblua5.1-0-dev

      These packages are required, but were already installed on my Raspbian (here for reference)

      sudo apt-get install g++ git-core make pkg-config

      These packages are required, but Installed by other packages. (here for reference)

      sudo apt-get install libjpeg62-turbo-dev libtool

       

      Clone git FreeSWITCH Repo

      You can clone to any directory, but we’ll use the directory /usr/local/src and need to make it r/w to our user ($USER is a system variable, which will = the current user, pi in our case)

      sudo chown $USER /usr/local/src

      change to that directory

      cd /usr/local/src

      Clone the git repo (master branch)

      git clone https://freeswitch.org/stash/scm/fs/freeswitch.git

       

      Compile FreeSWITCH on the Raspberry Pi 2

      Goto the FreeSWITCH source directory

      cd /usr/local/src/freeswitch/

      Confirm master branch

      git checkout master

      Returned: Already on ‘master’ Your branch is up-to-date with ‘origin/master’.

      Build config files

      ./bootstrap.sh -j

      Now we’re at the point where you can enable/disable custom modules to compile along with the FreeSWITCH framework.  In this build, I left all the modules in modules.conf default (My enabled modules in modules.conf file is located below for reference).  You can always compile additional modules at a later point when they are needed.  I recommend leaving the modules.conf file alone if this is your first time compiling, you can read more about it below in the section Enabling additional Modules in modules.conf

      Run configure

      ./configure -C

      Make (use jobs flag -j set to 3) in attempt to speed things up (this took ~30 minutes)

      make -j3

      Success!

      Install FreeSWITCH

      sudo make install

      The FreeSWITCH binary is now located in the /usr/local/freeswitch/bin directory.

       

      Compile sounds for FreeSWITCH

      make cd-sounds-install cd-moh-install -j3

      Goto FreeSWITCH bin directory

      cd /usr/local/freeswitch/bin

      Start FreeSWITCH

      *It is advisable to skip this step if you are configuring FreeSWITCH to start up automatically at boot, as it creates files that are needed during run-time and it will fail when you use the init script/systemd to run it automatically. 

      ./freeswitch

      check to see if it is running (just to make sure it compiled ok to this point)

      ps aux | grep "freeswitch"

      Auto Run FreeSWITCH at boot

      We’ll add FreeSWITCH as a user, change a few permission, copy the startup script and test the auto start of Freeswitch.

      Create FreeSWITCH user, add password and set permissions

      cd /usr/local/ sudo adduser --quiet --gecos "FreeSWITCH Voice Platform" --ingroup daemon freeswitch sudo chmod -R ug=rwx,o= /usr/local/freeswitch/ sudo chmod -R u=rwx,g=rx /usr/local/freeswitch/bin/* sudo chown -R freeswitch:daemon /usr/local/freeswitch

       

      Create link from source build to expected locations

      sudo ln -s /usr/local/freeswitch/bin/freeswitch /usr/bin/freeswitch sudo ln -s /usr/local/freeswitch/bin/fs_cli /usr/bin/fs_cli sudo mkdir /etc/freeswitch sudo ln -s /usr/local/freeswitch/conf/freeswitch.xml /etc/freeswitch/freeswitch.xml sudo chmod ug=rwx,o= /etc/freeswitch sudo chown freeswitch:daemon /etc/freeswitch sudo mkdir /var/lib/freeswitch sudo chmod -R ug=rwx,o= /var/lib/freeswitch sudo chown freeswitch:daemon /var/lib/freeswitch sudo cp /usr/local/src/freeswitch/debian/freeswitch-sysvinit.freeswitch.default /etc/default/freeswitch sudo chmod ug=rw,o= /etc/default/freeswitch sudo chown freeswitch:daemon /etc/default/freeswitch

      Create working log directory

      sudo mkdir /var/log/freeswitch sudo chmod -R ug=rwx,o= /var/log/freeswitch sudo chown freeswitch:daemon /var/log/freeswitch

      Copy the start-up script to /etc/init.d/ directory and change permissions

      sudo cp /usr/local/src/freeswitch/debian/freeswitch-sysvinit.freeswitch.init  /etc/init.d/freeswitch sudo chmod u=rwx,g=rx,o= /etc/init.d/freeswitch sudo chown freeswitch:daemon /etc/init.d/freeswitch sudo update-rc.d freeswitch defaults

      FreeSWITCH will now auto start when the Raspberry Pi boots up

       

      Reboot to confirm everything is working

      sudo reboot

      Check the status of FreeSWITCH

      sudo /etc/init.d/freeswitch status

      Manually start FreeSWITCH (for reference)

      sudo /etc/init.d/freeswitch start

      You may also want to confirm FreeSWITCH is listening on port 5060 (for troubleshooting)

      netstat -ln

       

      Register to Extension 1000

      FreeSWITCH has a few default extensions.  As a simple test to see if FreeSWITCH is working, we’ll register a sip client to extension 1000, with the default password is 1234.

      Change to user FreeSWITCH for editing of files or logging into fs_cli, since we have changed permissions of the directories in the above steps.

      su freeswitch

      Log into FreeSWITCH command line to assist in troubleshooting (type /exit to exit the FreeSWITCH command line)

      fs_cli

      Using your favorite SIP client on the same network as the FreeSWITCH server, register with extension 1000

      • SIP Proxy/Server = <raspberry-pi-ip-address>
      • SIP Port = 5060
      • User ID/Name = 1000
      • Password/Authentication = 1234

      While you are logged into the fs_cli, turn on sip trace debug


      // sofia global siptrace on

      Then from your SIP client, attempt to register, viewing the SIP trace can greatly assist in troubleshooting.

      Once you are registered, try to call some test extensions

      • 9198 = tetris music
      • 9197 = mw tone
      • 9196 = echo test
      • 5000 = Default IVR

       

      9198 was called from a sip client

       

      References:

      Raspberry Pi Model:

      Raspberry Pi 2 Model B

      Raspberry Pi Image:

      2015-11-21-raspbian-jessie.img

      cat /etc/*-release:

      Raspbian GNU/Linux 8 (jessie)

      Kernel (uname -ro):

      4.1.19-v7+ GNU/Linux

      FreeSWITCH Version:

      FreeSWITCH Version 1.7.0+git~20160308T015910Z~b7227465b6~32bit (git b722746 2016-03-08 01:59:10Z 32bit)

       

      Clean Git Folder (bring back to last commit state, deletes all untracked files, directories)

      git clean -d -x -f

      Get commit hash (only here for reference, on the specific commit that I used for compiling)

      git log -1 --format="%H"

         Returned: b7227465b6943588bf7d1a1e61e0fcc829d6f43e

       

      https://freeswitch.org/confluence/display/FREESWITCH/Debian+7

       

      Pages

      Subscribe to OpenTelecom.IT aggregator

      Using the greatness of Parallax

      Phosfluorescently utilize future-proof scenarios whereas timely leadership skills. Seamlessly administrate maintainable quality vectors whereas proactive mindshare.

      Dramatically plagiarize visionary internal or "organic" sources via process-centric. Compellingly exploit worldwide communities for high standards in growth strategies.

      Get free trial

      Wow, this most certainly is a great a theme.

      John Smith
      Company name

      Yet more available pages

      Responsive grid

      Donec sed odio dui. Nulla vitae elit libero, a pharetra augue. Nullam id dolor id nibh ultricies vehicula ut id elit. Integer posuere erat a ante venenatis dapibus posuere velit aliquet.

      More »

      Typography

      Donec sed odio dui. Nulla vitae elit libero, a pharetra augue. Nullam id dolor id nibh ultricies vehicula ut id elit. Integer posuere erat a ante venenatis dapibus posuere velit aliquet.

      More »

      Startup Growth Lite is a free theme, contributed to the Drupal Community by More than Themes.