GITEX (Gulf Information Technology Exhibition) Technology Week is one of the most recognized and annually held ICT trade event in the Middle East, Africa and South Asia. It is an annual consumer computer and electronics trade show, exhibition and conference which takes place in Dubai, UAE at the Dubai World Trade Centre (DWTC). The show was launched in 1981 as GITE and later in 1988 changed to GITEX with inclusion of exhibitions along with trade show and conference. For some years it has now filled the entire DWTC complex with over 10 different exhibition halls during the whole week.
GITEX 2014 ended last month, attracts over 135,000 trade visitors from over 140 countries to explore technology solutions represented by more than 3,500 companies as mentioned on their website. This is huge number considering the region and that no other technology conference and exhibition is as big or even near as this one. Impact this exhibition is making on the advancements in ICT in this region is also huge. You can feel from the satisfaction among all participants.
GITEX showed a number of new trends this year. One of the most widely visible change that it had made is the ICT development in the Middle East is not merely happening passively as in the past. Now ICT advancements and developments are strongly connected with optimization. More and more focus is made on the latest and optimized solutions. For example, audiovisual products that vary from high-definition slim bezel signage monitors to a range of intelligent, interactive LED displays. Another important change GITEX and similar efforts has made is that the Middle East countries are now focusing more on education and health sectors and maximum budgets are allocated to these two sectors. It clearly shows their inclination for the knowledge economy it is strongly motivated and connected with such exhibitions.
Apart from other highlights of the event, a large range of new smart phone applications for Android and iOS devices were presented in the exhibition including applications related to interactive maps with directions, smart browsing, photo sharing apps, and apps showing UAE historical and re-creational spots.
In Top 500 supercomputer list was compiled in June 1993, Linux was already the top choice of the world's top 500 supercomputers with almost running on 476 out of the top 500 fastest supercomputers in the world. But when 2014 Top 500 supercomputer list was published, it looks like that Linux is completely driving its competitors out of the competition. Linux sets a new high with 485 supercomputers out of the top 500 running Linux in the world now. In other words 97 percent of the fastest computers in the world are based on Linux.
TOP500 List November 2014 from top500
First Unix ruled the supercomputer untill 1999 and now Linux for the last few years has ruled supercomputers. When the first Top 500 supercomputer list was compiled in June 1993, Linux was just getting momentum. But now after 21 years, as reported in The Linux Foundation's report that, "after first appearing on the list in 1998, Linux has consistently dominated the top 10 over the past decade and has comprised more than 90 percent of the list since June 2010."
This success of Linux is driven by two main factors. First, is that with lots of most of the supercomputers in the world are used for conducting high-performance research. Thus, Linux is the number one choice since its open source and research teams can easily modify and optimize its kernel according to their requirements. The scientists have the full leverage to use it for whatever purpose they want.
The second important factor is the cost. No matter how many Linux nodes you are using. It doesn't cost a single penny for your operating system. All you have to do is to bear cost of the hardware resources. Linux support is also very cheap and developer resources are easily available to help with very low costs as compared to other operating systems.
The result seems to be very promising for Linux in near future. At least the current decade till 2020, all belongs to Linux as a first choice supercomputer operating system.
In a recent post, I pointed out that the official definition of “communication” means interacting and exchanging information between LIVE people. However, I believe that the term “collaboration” deserves that definition instead of “communications.” Why? Because people are now interacting with online automated business processes, both from mobile devices and desktops, and thus business communications are no longer just about live person-to-person contacts (phone calls, messages).
We saw this shift with the way “UC” became “UC&C,” so now we have to understand what the difference is between “communications” and “collaboration.” I suggest that the difference really is that “collaboration” is interaction only between living people, because who “collaborates” with an automated process? They interact, not collaborate, but, either way, they both need the flexibility of different modes of interaction, i.e., voice, text, real-time, asynchronous, etc.).
When it comes to “collaboration” with live people, there is a more important reason to exploit the flexibility of UC, and that is the need for real-time conversational contacts when asynchronous messaging is not adequate. The problem, though, is that people are just not always “available” in real-time, unlike automated online applications are (almost) always available. So, time and accessibility become obstacles to any real-time collaboration.
That’s where “federated presence” service comes into play, where step one in initiating a real-time contact attempt is to know the status of the person you want to chat with or talk to. Presence status provides that kind of information to a contact initiator, providing they have an established relationship with the recipient. For end users within an organization that has an internal Instant Messaging system or service, that is not a big problem. However, in dealing with IM contacts with people outside of the organization, there has to be federation between the IM technologies used within each organization. We don’t yet have the equivalent of the PSTN that supports direct telephone calls from anyone to anyone (but doesn’t let you know anything about the recipient’s availability ahead of making the call).
Clearly, federated presence will prove most useful, in conjunction with the flexibility of UC, when users need to talk with specific people who are not in he same location or in the same organization. IM has become the practical real-time starting point for real-time voice or video conversations, because it is less disruptive and can be more easily multi-tasked than voice. With UC flexibility, an IM contact can also be easily escalated to a voice/video connection, or to other users, as desired by the communicating parties. When contact recipients are not available to talk (already on the phone, can’t talk now for a variety of reasons), the contact initiator has other choices such as contacting someone else, just send a message, etc.
The need for increased communications flexibility that UC and IM federated presence support stems from the increased role of mobile devices by all types of end users. Mobile accessibility, coupled with flexible communication interfaces, has increased the possibilities for making person-to-person contacts, which is key to business “collaboration.” For this reason, federated presence information is a critical need for end users, especially when mobile and when “collaborating” with people outside of an organization.
The Skype and Internet Explorer teams at Microsoft are working on developing the ORTC API for WebRTC. ORTC API will be a key enabler to make Real-Time Communications on the Web. In this connection, Skype has already released beta version of Skype for Web last week. The news at Skype.com says that, "Skype for Web makes it quicker and easier than ever before to connect with friends, family and colleagues around the world, for free – directly from Skype.com". Skype for Web will allows users to send and receive messages and make voice and video calls directly from any Web browser without downloading and installing Skype software.
On the other hand, WebRTC is an open project that allows Internet users to communicate in real time via voice and video by using any browser compatible with WebRTC. It enables Web application developers to include real-time video calling and data sharing capabilities. This capability can range from multi-player games to video conferencing tools. Over 80 participants from different continent and from different interest groups, are actively collaborating with the W3C. Microsoft is also an active participant and looking to contribute and influence standards of ORTC API for WebRTC.
Jonathan Watson, a senior product marketing manager at Skype said in a blog last week that It's perfect if you are sitting at a computer connected to internet and you doesn't already have Skype downloaded or may be you are travelling and using an internet café or hotel computer whatever the reason may be. He said now with Skype for Web on Skype.com, you'll need to simply sign-in and you'll be able to connect and start instant messaging directly from your browser.
At the moment, Skype for Web is in beta and for the time being this version will require a browser plug-in before it will work. However, Microsoft has already started working to integrate it with the Web real-time communications (WebRTC) standard. Then, perhaps in near future, the next major release of Skype might not even require any browser plug-in to connect and making voice and video calls.
Watson further said, "With WebRTC, there won't be any downloads or installs – you can just get straight to your conversation".
Microsoft, at one time biggest opponents of open source, is now not just supporting it but in fact, is jumping directly into it. Most of the people from open source community still remember Bill Gates remarks in an interview comparing open source developers with communist. Even the Steve Ballmer, the successor of Bill Gate at Microsoft, has similar thoughts during his whole tenure as CEO. In 2011, Steve Ballmer said that "Linux is a cancer". But Satya Nadella, the current CEO, has taken a 180 degree turn and not just says that "Microsoft loves Linux" but now Microsoft is keenly working to bring its own products as open source.
Last week, Microsoft has announced that it will provide now open source the very foundation of .NET including ASP.NET, the .NET compiler, the .NET Core Runtime, Framework and Libraries, enabling developers to build with .NET across Windows, Mac or Linux.
This will not only allow millions of developers to build websites and other large online applications in free code but it also allow them to run on computer servers that use its own Windows operating system or any other machine equipped with Linux or Apple’s Mac OS.
However, this doesn't just happen suddenly. This change has been coming for years despite the disliking for Microsoft CEO's. They foresee that open source is a big threat to Microsoft and Windows. They know that Microsoft should not just oppose open source and Linux. They need to accept this reality and it is because of that realization in 2008 Microsoft platform technology strategy director said that Microsoft is focused on helping customers and partners be successful in today's heterogeneous technology world through open source. In 2011, Microsoft also saw that Cloud technology was going to be built around Linux.
Today, developers who use .NET platform have to use a server environment that does not have what Linux have. They are stuck with a generation-behind technology.
Microsoft Corporate Vice President at Developer Division, Mr. S. Somasegar, says that “With these releases, we are broadly opening up access to our industry-leading platform and tools to every developer building any application in today’s mobile-first, cloud-first world. No matter if you are a startup, a student, a hobbyist, an open source developer or a commercial developer, and no matter the platform you are targeting or the app you are creating, Visual Studio, Visual Studio Online, .NET and Azure will help you be successful.”
Interactive Voice Response or simple IVR refers to the interaction of an automated voice communication system with a caller through telephone or mobile DTMF keys. There are plenty of graphical and visual IVR designers commercially available. Some are desktop applications while most recently, web based IVR designers have been introduced by many communication service and solution providers.
In telecommunication industry, there has always been great demand of such light weight powerful tools that can provide clients with a desktop like response. ICTDialer is an open source outbound autodialer software. With IVR designer module in ICTDialer, users can dynamically create their own call flows based on their own requirements.
Does this IVR designer handle Inbound calls? At the moment, it only supports outbound calls. However, with few modifications, it can be used for inbound call handling also. Now its up to the open source community to explore it and to use it for that purpose. IVR Designer Tools contains applications such as Call answer, Play audio, Play TTS, Get Digit, Options menu, Call Record, Call Transfer and Hangup.
OpenSIPS is an open source software that suits well for medium and large businesses to handle all the above mentioned scenarios. It supports common database access like mysql and postgres but still very well supports the carrier grade deployments. OpenSIPS is multi-purpose signaling SIP server. It can act as SIP Router, SIP Switch, SIP Registrar, Application Server, Redirect Server, Load Balancer, Dispatcher, Back-to-Back User Agent, Session Border Controller, SIP Front-End, NAT traversal Server, IP Gateway (SMS, XMPP) among others.
Installing and Configuring OpenSIPS in Fedora
1. Install OpenSIPS
1. Download OpenSIPS source file from http://opensips.org
2. Extract it and place it in /usr/src
3. Then compile the source file with the option of dbmodule for the support of database handling in opensips
2. Change the configurations file to install opensips database
1. First of all go to the /usr/local/etc/opensips
2. Then open opensipsctlr and find the sip domain option and change it as per your need , find db engine option and uncomment it to tell opensips to use database engine.
3. When these changes are done , save the configuration file and go to the terminal and run the command opensipsdbctl create and answered the qusetions by pressing y.
4. Go to the opensips folder and open the opensips.cfg file in gedit. Then remove the comments to the module db and also uncomment the parameters related to the db module.
5. Start the opensips by run the command opensipsctl start
3. Add Users to check Opensips working
1. create the aliases by using this command opensipsctl add "alias name" password
2. After that register users to your softphone and made the call between users.
4. Asterisk Installation
1. Download Asterisk from asterisk.org.
2. Compile the asterisk in src directory.
3. Run the asterisk.
5. ODBC Configuration
1. Install ODBC Support.
2. change the Odbc.ini file to have connect to asterisk.
3. test the changes by running this command on terminal isql odbc parameter name
4. Go to the Asterisk folder.
5. Change the res_odbc configuration file and extconfig configutration files as per your needs to connect opensips and asterisk.
6. To check the configuration in asterisk Cli run this command show odbc
7. If odbc not show then install the asterisk-odbc from terminal.
6. Opensips.cfg for asterisk Integration
1. To Connect opensips to asterisk when user call from one destination to anothe destination. We should change the code where opensips route the call after authentication.
2. change the code in route with the asterisk ip and port where opensips transfer the calls to asterisk
3. rewritehostport("asterisk ip:asterisk port")
7. Test the integration
1. add two aliases on the same domain name.
2. register one alias in zoiper and remain unregistered the second alias and made the call from one alias to another alias which is unregistered .
3. If the call made successfully then you are done with your asterisk and opensips configuration.
8. Call forward by using AVPOPS module
1. To call forwarding from avp we need first to load the avpops module.
2. After that define the parameters of avops module in parameters define avp table as avp prefrences where you can pick the alternate alias with the attribute.
3. For call blind you need to set the alias in avp prefrences module by using this commands on terminal ./opensipsctl avp add -T usr_preferences client name callfwd 0 clientname
4. after that use the function and forward it to route.
5. For busy and unanswered call you need to need to call the avp attribute for busy and unanswered call and call the function rewritehostport("asterisk ip:asterisk port") to forward the call to asterisk and play the busy and unanswered call messages.
9. Nat Traversing
1. First Install the rtpproxy server to support the sdp in nat traversing.
2. To install rtpproxy download the source code and compile it.
3. After that set the rtpproxy by using this command in terminal ./rtpproxy -l yourip -s udp:yourip:7890 -F
4. After that load the nathelper module and set the appropriate parameters according to you nedd.
5. After that go to the opensips.cfg file and change the routing logic.
First check that if the request is register and put the code
After that go to the route 1 context and put the code
After that handled the onreply route by put the code
append_hf("P-hint: onreply_route|rtpproxy_answer \r\n");
append_hf("P-hint: Onreply-route - fixcontact \r\n");
After that in route 6 put the following code.
else if (is_method("INVITE"))
Got to the failure route and put the following code.
OpenStack, an open source cloud operating system, is getting popular day by day. OpenStack controls large pools of compute, storage, and networking resources throughout a data center. It provides a very simple and easy to use web interface for administrator to manage resources, manage users and assign resources to users. It's popularity can be measured through the famous companies who are using it such as BMW, GoDaddy, Wells-Fargo, Time-Warner Cable, PayPal and many more.
How to use OpenStack?
OpenStack can be used by administrators on hypervisors in a virtual machine environment. Most popular hypervisors with OpenStack are KVM and XenServer. In addition to different hypervisors, OpenStack also supports ARM and alternative hardware architectures.
OpenStack can be used as a service providers offering an IaaS platform or services. Other possible use is by IT department acting as cloud service providers for business units and project teams. Big data processing with tools like Hadoop can be done using OpenStack as well as scaling compute up and down to meet demand for web resources and applications.
Some of the benefits of OpenStack are given below:
Manage virtualized commodity server resources
Manage Local Area Networks (LAN)
API with rate limiting and authentication
Distributed and asynchronous architecture
Virtual Machine (VM) image management
Live VM management
Floating IP addresses
Role Based Access Control (RBAC)
Projects & Quotas
VNC Proxy through web browser
Store and Manage files programmatically via API
Least privileged access design
Dashboard with fully integrated support for self-service provisioning
VM Image Caching on compute nodes
Google has released Android 5.0 Lollipop last week and made its source code available to the developers and distributors. It's official launch will be tomorrow on November 12, 2014 for select devices that run distributions of Android and that are serviced by Google, including Nexus and Google Play edition devices. The major focus of Android Lollipop is the user interface and design experience across multiple screens. However, It will require developers to deliver that promise. Google also dropped Android emulators and a series of tools for developers to focus more on the actual devices rather than emulators.
Material Design - A responsive design language
One of the most significant changes in the Lollipop release is a redesigned user interface built in a responsive design language referred to as material design. The notable differences in the design are tactile surface, fluid motion and bold graphics. An important aspect of the mobile when its in your hand is how it feels in your hand i.e. the sense of touch. Touch is one of the main elements of material design which is inspired by real life materials like paper and ink. An other important change in the design is good graphic design, using strong colors and bold typography to create clear hierarchy and focus attention on content.
Motion brings the material and the graphic together, explaining how the system works, and adding moments of delight that move you through the system, easily and fluidly.
News about Device Manufacturers
Here's where and when you can probably begin to expect to see Lollipop on your device:
HTC has said that they'll release it within three months of Google's release. That means around mid of February 2015. Motorola has announced about the devices that will get Lollipop such as Moto X and Moto G, Moto E, Droid Ultra, Droid Maxx, and Droid Mini but no information about when it will be available. LG also has not announced any plans yet. Sony's plans are to start the upgrade at beginning of 2015 for the core Xperia series and then bring it to the rest of the family. Samsung has remained silent, but as has been in the past, they will announce sooner about the devices (such as Galaxy series) that will get Lollipop hopefully before the new year.
Just saw a cute post by my colleague, Jon Arnold, about Woody Allen’s humorous perspective of automated devices that behaved like people. You can see it at:
It reminded me of the first computer joke I had ever heard when I was being trained by the Rand Corporation at MIT for my first computer job on the SAGE Air Defense System.
The story goes like this!
The world’s greatest computer scientists had built a new computer that had infinite storage and could do everything a human could do with that information and could also control its own functionally, like a person. The scientists loaded all the information that existed in the world on to the computer and decided to power it up and test it by asking it a question and seeing how the new computer coudl provide an answer.
So, the first question they typed (they didn’t have speech recognition yet!) into the computer was, “Is there a God?”
After a few seconds of computing, the response on the computer screen popped up. It said, “Now there is!”
This response scared the scientists, because they feared they had a created an uncontrollable new force. So, they quickly decided they better shut the computer off before it caused any problems to them. However, before they could shut the power switch off, a bolt of lighting came from the computer and fused the electrical connections shut. So, the scientists could no longer turn it off!
This anecdotal story simply suggests that automating any real-world function can end up in unexpected and uncontrollable actions generated by a computer software error. In today’s world of malware and hacking, it is even worse, because it is no longer about “accidental” errors, but deliberate acts by evildoers taking control of software that can affect day-to-day activities.
Not really funny any more!
We are pleased to announce that ICTFAX Version 3.0 is released. New release completely removes Plivo Framework from ICTFAX. Now ICTFAX no longer depends on Plivo for communication with FreeSWITCH. Instead, ICTCore has been introduced as a new lightweight communication library. ICTFAX uses ICTCore to communicate with FreeSWITCH. Apart from this major change, other features that are included in this release includes GUI based trunk provider configuration, multiple trunks allowed, documentation converted to markdown syntax, attachement file name with spaces issue has been fixed, error on retry issue fixed along with other minor bugs.
ICTCore Communication Library
ICTFAX now uses ICTCore for communication with FreeSWITCH. ICTCore is specifically built to provide reliable communication between ICTFAX and FreeSWITCH. It is developed using the object-oriented principles. Previously, Plivo framework was unable to cope with communication issues and unable to provide a reliable connection between ICTFAX and FreeSWITCH.
Main reason to abandon Plivo framework from ICTFAX was that Plivo was not specifically built for faxing and we were using it with adhoc modification to work it for ICTFAX. That solution worked initially but later, due to no real intention from the open source community of Plivo to include fax support in it, we realized that there sould be a communication library with built-in fax support along with voice communication for FreeSWITCH. Hence, ICTCore is the solution with voice and fax communication support for FreeSWITCH. It provides easy to use API for developers to build complex fax and voice applications.
Other ICTFAX features that includes in this release is GUI based trunk provider configuration. In older versions, trunk configuration was done in two steps. First, an xml file was created in FreeSWTICH profiles directory manually. Then in second step, a new Trunk provider entry was created for this xml file in the GUI. Now, only one step is enough to configure trunk. No xml file is created. Just enter the trunk settings in GUI and xml file is created automatically.
Documentation has also been converted to markdown syntax that is easy to manage. Attachement file name with spaces issue has also been fixed. An old issue with retry is also fixed along with other minor bugs in new release.
Download Link (Github): https://github.com/ictinnovations/ictfax
Download Link (Sourceforge): https://sourceforge.net/projects/ictfax/