These holidays I got an observation from one of my customers. His carrier claims that PDD was variable with some 6-second peaks. Although 6 seconds I believe it is not that critical, it is in the annoying area. Usually, 3-4 seconds are acceptable.

First, I will define what is PDD. From: NICC ND 1704 V1.2.2 2009-05 End-to-End Network Performance Rules & Objectives for the Interconnection of NGNs

5.6.1 Definition of Post Dial Delay
Post Dial Delay (PDD) is experienced by the originating customer as the time from the sending of the final dialed digit to the point at which they hear ring tone or other in-band information. Where the originating network is required to play an announcement before completing the call then this definition of PDD excludes the duration of such announcements.

For SIP the PDD would be the time from Sending the INVITE to receiving the first ringing response for example: an SIP/2.0 180 Ringing response.

As a Chrismas present, I have published in OKay's RPM repository RPMs for FusionPBX 4.2.1. FusionPBX is an open source FreeSWITCH GUI. FusionPBX can be used as a high available single or domain based multi-tenant PBX, carrier-grade switch, call center server, fax server, VoIP server, voicemail server, conference server, voice application server, appliance framework and more. FreeSWITCHtm is a highly scalable, multi-threaded, multi-platform communication platform. FusionPBX license is the MPL 1.1 license.

This is a vanilla FusionPBX without any patch added from my part. I will add them later. This RPM will install MySQL (for CentOS 6) or MariaDB (for Centos 7) as the database backend, all possible information will be stored there, such as dial plans, profile information, registrations and so on. Installation is already configured as multi-tenant. Default username is superadmin (with same password), so please change it as soon as you get it installed. Database is optimized with many indexes that are not included if you install directly from the source.

As a premium add-on, installation using this RPM includes the LCR and Billing for FusionPBX in-app. You just need to activate it and start configuring.

RPM's are available for Centos 6 and 7. And you can find it if you type yum search fusionpbx.

Enjoy!

It is very true that as a migrant, one of the first and greatest cultural shocks is having a resume that calls Human Resources attention. You will find as I did that they are like divas, even if you are over-qualified and asking for much less money than expected, you may be ignored if your resume does not fit the criteria. HR people are lazy, they will not read long resumes instead, they just scan for the keywords someone told them. Another thing you will find odd is that in Canada, at least, you will need to do a specific resume for each position you want to apply. A general resume will not give you the results you are looking for.

Fortunately for me and for many of you (if you follow my blog), I have found two books that I couldn't help it when I read the title. The one I will talk about is the third edition of the Best Canadian Résués from Sharon Graham. I will put here some notes and texts from the book.

Today I have published in OKay's RPM repository RPMs for FreeSWITCH 1.6.13. FreeSWITCH is a complete VoIP switch that works on many platforms, including Centos 6 and Centos 7. This is one of the biggest packages I have ever done; there are more than 1720 hours of work behind to make it work (mainly because the CentOS 6 support). When updating, you will notice it will download many libraries, most part of them not available anywhere.

The big difference on my RPM's is there are more sub-packages, for example, you can install only freeswitch-cli if you only need fs_cli command; Centos 6 RPMS for 32 and 64 bits are available with video support; I have imported a patch that fixes mod_nibblebill, in some situations leg b won't hang up and it will produce money losses. I have been updating some other dependencies such as VLC and MPG123 with latest stable if you were using my RPM's you will notice more updates as well.

Because libyuv is now part of the core, these RPMs  are compiled with video support. Yes, you read it well, both Centos 6 and 7 with video support.

For those asking about FreeSWITCH changelog, this is the list published by them:

New features and improvements that were added:

  • FS-9367 [core] Added support to log session counts at channel state change
  • FS-9412 [core] Make MODULE_UNLOAD event report module name (key) and file (filename), similar to event MODULE_LOAD. Add key and filename for symmetry with SWITCH_EVENT_MODULE_LOAD, for api_interface, and to make it simpler to know which module is unloaded
  • FS-9665 [core] Add video_pre_call_banner feature
  • FS-9747 [core] Add channel hold/unhold verbosity
  • FS-3568 [mod_say_zh] Update Chinese phrase XML, thanks Gaofei
  • FS-9640 [verto] Allow access to Verto stream object via callback exposes Verto MediaStream objects via the onGranted() callback
  • FS-9395 [verto] Downgrade some FSRTC console.error messages Some of the console.error messages generated in FSRTC aren't really error-worthy, downgrading appropriately.
  • FS-9635 [verto] Update deprecated stream.onended, stream.onended is being removed in Chrome 54, update to stream.oninactive
  • FS-9643 [mod_opus] Log encoded stats at end of call Log count of encoded FEC frames in debug mode
  • FS-9668 [mod_sofia] Add proxy-info feature and also check for keyframe requests on INFO even when proxying for good measure
  • FS-9680 [mod_sofia] Add proxy-message param to sofia
  • FS-9629 [mod_sofia] Don't add infocus multiple times, add isfocus to replies, and add is_conference support to pre_answer
  • FS-9700 [mod_httapi] Set conference pin and flags
  • FS-9706 [mod_conference] Add loops param to file playback in conference
  • FS-9715 [mod_av] Add support for m4a add webm and mkv too
  • FS-9732 [mod_ssml] Create default configuration so ssml.conf.xml is not needed

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

  • FS-9653 [Debian] Freeswitch-meta-all-dbg should not depend on non-existent freeswitch-meta-lang-dbg
  • FS-9642 [Debian] Do not limit time for real time threads with systemd. This causes systemd to randomly restart FreeSWITCH without notice as to why.

The following bugs were squashed:

  • FS-9623 [core] Update .update
  • FS-9726 [core] Fix malformed PAI
  • FS-9725 [core] Disable blank img with core_video_blank_image=false.
  • FS-9739 [core] Fixed an issue where switch_rtp mistakes "ffffffff" for a new DTMF and queue's a NULL digit
  • FS-9691 [core] Don't call sql code inside hash_mutex due to circular mutex contention between hash_mutex and profile->dbh_mutex
  • FS-9719 [core] Separate gen_ts_delta between audio and video
  • FS-9709 [core] JB drops packets after hole-punching
  • FS-9714 [core] Fixed switch assert on attempted double close of a file handle
  • FS-9693 [core] Fix free issue in fulldate comparison use existing date parsing functions in fulldate comparison that take timezone into account
  • FS-9705 [core] Fixed files using prebuffer do not play properly when seeking back to the beginning once the file is done playing
  • FS-9697 [core] Video compat changes to support older clients
  • FS-9654 [core] Fix RTP packet drops
  • FS-9654 [core] fixed an issue with RTP payload negotiation
  • FS-9651 [core] Fixed incorrect expression
  • FS-9650 [core] Initialize pointer to NULL to resolve warning
  • FS-9649 [core] Fix filebug script if EDITOR env variable not set
  • FS-9632 [core] Remove SWITCH_FILE_FLAG_VIDEO flag if we fail to receive video so we fall thru and record the audio only. Previously it would just fail to function as expected.
  • FS-9660 [core] Fixed BW calculation for SDP media clause. The AS descriptor for SDP b= lines is already defined in kilobits/second. Fixes an issue with extremely low bitrate videos when a SDP media clause has its own b=AS: line specified.
  • FS-9634 [core] Fixed an issue with RTCP mux always proposed on outbound channels even if rtcp_mux chan variable is 0
  • FS-9656 [core] Coverity 1364971: resolve memory leak in new HEPv3 logging
  • FS-9733 [mod_rayo] Prevent bad tts format string from being generated when MRCP headers are not present
  • FS-5978 [mod_rayo] Attempt to fix direct media join
  • FS-9662 [mod_opal] Fix version number in old OPAL error
  • FS-9646 [verto_communicator] Fixing settings toggle
  • FS-9647 [verto communicator] Improve Spanish translations for verto communicator.
  • FS-9628 [verto] Correct return value of $.FSRTC.bestResSupported to be the largest resolution
  • FS-9728 [verto] Fix dynamic media tag on verto.newCall method
  • FS-9455 [verto] Fixed doubled posts in the chat window
  • FS-9755 [mod_conference] Added cdr for 4579 support
  • FS-9748 [mod_conference] [mod_shout] Fixed a locking contention with mod_shout playing conference moh
  • FS-9714 [mod_conference] Fix crash due to race on closing file handles when playing a file to a conference via api command as a conference is shutting down
  • FS-9648 [mod_conference] Fixed an issue with conference avatar image gets stuck enabled when it uses the same image as video mute
  • FS-9737 [mod_hiredis] Fix limit_usage when using hiredis backend
  • FS-9387 [libzrtp] Fix for hash calculation of the auxiliary secret
  • FS-9727 [mod_lua] Raise size limit on unknown size odbc column data from 256 to 16k
  • FS-9652 [mod_sofia] Improve sql sanitization
  • FS-9712 [mod_sofia] Fixed 3PCC-Proxy Missing SDP on Reinvite.
  • FS-9671 [mod_sofia] Fix wrong cseq in notify Expires 0
  • FS-9699 [mod_sofia] Fixed improper response to re-invite after using uuid_media_3p
  • FS-9685 [mod_sofia] Update broadsoft SLA to work with newer Polycom firmware
  • FS-9666 [mod_sofia] Fixed unused variable to remove legacy code when getting an XML video refresh
  • FS-9639 [mod_sofia] Fixed an issue when using "uuid_media_3p" to capture media and "uuid_media_3p off" to release media twice on the same call on the if the media ports change on the opposing end points.
  • FS-9678 [mod_sofia] Fix FreeSWITCH not shutting down when profiles fails to load and shutdown-on-fail is set to true
  • FS-9590 [mod_sofia] Check dtmf_type variable when negotiating inbound SDP
  • FS-9592 [mod_httapi] Make sure to reset one time params when starting over in httapi app
  • FS-9204 [mod_valet_parking] Complete the urls so that snom can execute the pickup, It used to probably send it to the proxy, but now needs the host in the packet or throws network error
  • FS-9704 [mod_av] Fixed seeking video files after it reaches the end does not work
  • FS-9151 FS-9631 [mod_av] Fixed playback mp4 file on a session without video not ending
  • FS-9687 [mod_opus] Fixed a segfault program terminated with signal SIGFPE, arithmetic exception.
  • FS-9594 [mod_kazoo] Fixed hostname resolving for IPv6 addresses. Has been adjusted string vars size to fit IPv6 address

RPM's are available for Centos 6 and 7. And you can find it if you type yum search freeswitch.

Enjoy!

In my last work change, I hired a Certified Immigration Consultant to do this. As I am Mexican and my profession is included in the NAFTA, I am a candidate for an LMIA (former LMO) exception. This means the employer effort is minimum.  I will put here the documents he prepared. Please not I am not a lawyer, I just sharing with you what happened to me.

Memcache has proven to be an excellent option not only for caching but sharing information. One of the best use case scenarios I can think right away is with High Availability and Load Balancing. Wit HA and LB you don't have a certitude what server is serving, there sharing information with Memcache is the best way to have session information shared.

I will discuss here how to set it up using CentOS 6 and 7. You might figure out correct paths for your own distribution.