Commercial Mobile Service Provider Gateway

Interop Technologies’ solution provides a simple, cost-effective option for CMAS compliance. Implementing our hosted CMSP Gateway enables you to be compliant with Federal Emergency Management Agency (FEMA) guidelines and offer protection and security to your subscriber base. At the same time, you'll alleviate the headaches often associated with such platforms and significantly reduce the investment and staff resources needed to deploy and maintain an on-network CMSP gateway.

Essential For Customer Care

Although CMAS compliance is voluntary, it is viewed by most as a critical customer care initiative with potentially dramatic subscriber retention implications for those who opt out. As a growing number of WEA-capable handsets become available—easily recognized by the official WEAC logo on device packaging or at operators' retail outlets—and subscriber awareness grows, CMAS is a service subscribers have come to expect from their network operator.

WEAC_Logo.jpg

Interop Cloud Interop Cloud™

Interop Technologies delivers the latest Network Function Virtualization (NFV) technology from the cloud — providing communication service providers of all types with the infrastructure they need to quickly launch the services their market demands most. Our flexible cloud solutions can be deployed as fully managed from our secure cloud or deployed on-premise with systems management to suit individual operator needs. Learn More...

Ready to find a better way? Let's talk!

Contact Us
/* * jQuery Reveal Plugin 1.0 * www.ZURB.com * Copyright 2010, ZURB * Free to use under the MIT license. * http://www.opensource.org/licenses/mit-license.php */ (function ($) { $('a[data-reveal-id]').live('click', function (event) { event.preventDefault(); var modalLocation = $(this).attr('data-reveal-id'); $('#' + modalLocation).reveal($(this).data()); }); $.fn.reveal = function (options) { var defaults = { animation: 'fadeAndPop', // fade, fadeAndPop, none animationSpeed: 300, // how fast animtions are closeOnBackgroundClick: true, // if you click background will modal close? dismissModalClass: 'close-reveal-modal' // the class of a button or element that will close an open modal }; var options = $.extend({}, defaults, options); return this.each(function () { var modal = $(this), topMeasure = parseInt(modal.css('top')), topOffset = modal.height() + topMeasure, locked = false, modalBg = $('.reveal-modal-bg'); if (modalBg.length == 0) { modalBg = $('
').insertAfter(modal); modalBg.fadeTo('fast', 0.8); } function openAnimation() { modalBg.unbind('click.modalEvent'); $('.' + options.dismissModalClass).unbind('click.modalEvent'); if (!locked) { lockModal(); if (options.animation == "fadeAndPop") { modal.css({'top': $(document).scrollTop() - topOffset, 'opacity': 0, 'visibility': 'visible'}); modalBg.fadeIn(options.animationSpeed / 2); modal.delay(options.animationSpeed / 2).animate({ "top": $(document).scrollTop() + topMeasure + 'px', "opacity": 1 }, options.animationSpeed, unlockModal); } if (options.animation == "fade") { modal.css({'opacity': 0, 'visibility': 'visible', 'top': $(document).scrollTop() + topMeasure}); modalBg.fadeIn(options.animationSpeed / 2); modal.delay(options.animationSpeed / 2).animate({ "opacity": 1 }, options.animationSpeed, unlockModal); } if (options.animation == "none") { modal.css({'visibility': 'visible', 'top': $(document).scrollTop() + topMeasure}); modalBg.css({"display": "block"}); unlockModal(); } } modal.unbind('reveal:open', openAnimation); } modal.bind('reveal:open', openAnimation); function closeAnimation() { if (!locked) { lockModal(); if (options.animation == "fadeAndPop") { modalBg.delay(options.animationSpeed).fadeOut(options.animationSpeed); modal.animate({ "top": $(document).scrollTop() - topOffset + 'px', "opacity": 0 }, options.animationSpeed / 2, function () { modal.css({'top': topMeasure, 'opacity': 1, 'visibility': 'hidden'}); unlockModal(); }); } if (options.animation == "fade") { modalBg.delay(options.animationSpeed).fadeOut(options.animationSpeed); modal.animate({ "opacity" : 0 }, options.animationSpeed, function () { modal.css({'opacity': 1, 'visibility': 'hidden', 'top': topMeasure}); unlockModal(); }); } if (options.animation == "none") { modal.css({'visibility': 'hidden', 'top': topMeasure}); modalBg.css({'display': 'none'}); } } modal.unbind('reveal:close', closeAnimation); } modal.bind('reveal:close', closeAnimation); modal.trigger('reveal:open'); var closeButton = $('.' + options.dismissModalClass).bind('click.modalEvent', function () { modal.trigger('reveal:close'); }); if (options.closeOnBackgroundClick) { modalBg.css({"cursor": "pointer"}); modalBg.bind('click.modalEvent', function () { modal.trigger('reveal:close'); }); } $('body').keyup(function (event) { if (event.which === 27) { // 27 is the keycode for the Escape key modal.trigger('reveal:close'); } }); function unlockModal() { locked = false; } function lockModal() { locked = true; } }); }; })(jQuery);