This disclosure relates generally to telecommunication systems management.
Mobile and wireless networks are increasingly being utilized by business enterprises to facilitate communication and productivity. Telecom expenses associated with wireless networks can consume a significant portion of an enterprise's revenue. Telecom expense management (TEM) systems help enterprises gain control, understanding and insight into their telecom expenses, so efficient decisions can be made regarding telecom expenditures. For example, a TEM solution can include telecom billing management, auditing, charge-back management, telecom services inventory management, procurement and vendor contract management.
Due to the increasing use of mobile devices, Mobile Expense Management (MEM) and Mobile Device Management (MDM) have become increasingly difficult for enterprises. There are issues of mobile security, high international roaming charges and the management of a large number of different platforms with different configurations, features and subscriber plans.
Many modern mobile devices include processors and operating systems for running various applications. Additionally, many modern mobile devices include one or more positioning technologies that allow the geographic locations of the mobile devices to be tracked in real time. These powerful mobile device capabilities provide additional mechanisms that can be leveraged to improve upon MEM and MDM solutions.
The disclosed Telecom Information Management System (TIMS) integrates MEM and MDM solutions with TEM solutions in a single software platform, which can be delivered to enterprises as software-as-a-service (SaaS). TIMS can initiate over-the-air (OTA) enrollment of mobile devices, including installing provisioning profiles, applications, email server settings, feature restrictions, communication settings (e.g., WiFi settings) and other parameters.
The software applications delivered to a mobile device can facilitate MEM and MDM by leveraging device capabilities, such as data from onboard sensors. Configuration parameters can be added into software applications before they are sent to the mobile device. The configurations can be updated after the applications are installed on the mobile device. TIMS can remotely disable, fully or partially, applications installed on the mobile device. In some implementations, an enterprise administrator can initiate a full or selective remote wipe or remote lock of the mobile device, including determining which applications to be deleted during a remote wipe.
In some implementations, software applications installed on a mobile device can redirect calls initiated on the mobile device to other telephone numbers, including directory assistance calls (e.g., “411” calls), toll calls, international calls and custom redirect calls to other telephone numbers (e.g., less expensive lines) designated by an enterprise administrator.
In some implementations, software applications installed on the mobile device can provide alerts to TIMS upon determining certain trigger events, including international usage for voice, data, text messaging (e.g., SMS), Subscriber Identification Module (SIM) card changes and other trigger events. The frequency of the alerts can be designated by the enterprise administrator. In some implementations, subscriber plan information for the mobile device can be stored on the mobile device, and the mobile device can be configured to send alerts to the enterprise administrator or directly to a carrier or mobile device vendor to take actions based on the subscriber plan information. Actions can include updating the subscriber plan to allow international calling, international roaming, international text messaging or disabling certain capabilities on the mobile device to stop certain usage, such as international usage.
In some implementations, a software application installed on the mobile device can perform real time usage monitoring, which allows the enterprise administrator to select which parameters on the mobile device to be tracked and reported back to TIMS, including the frequency of the reports. These parameters can include calling minutes, data usage, text messaging and other such mobile usage. In some implementations, an enterprise administrator can configure a mobile device to send location information to TIMS to facilitate tracking of the mobile device. The enterprise administrator can also determine the frequency of location capture and sending.
In some implementations, reports are generated for display on a web page that describe or show (e.g., show using graphs) the savings provided by the software applications installed on the mobile device against data in actual telecom bills. These reports can confirm the accuracy of the telecom bills and provide information to the enterprise administrator to better facilitate MEM and MDM. For example, reports can be generated that show savings for call redirecting and alerts. The reports can be displayed by widgets in a customizable dashboard presented on a Web page served by TIMS. The dashboard page can work in real time, pulling updated information and letting enterprise administrators choose what information to see, and in what order, by dragging the widgets around the dashboard.
In some implementations, MDM applications can be configured by the enterprise before being provided to mobile devices. The enterprise also can provide restrictions on the downloading and installing of third party applications from, for example, an online application store.
In some implementations, a recording application can be installed on a mobile device that allows a user to initiate recording of an ongoing telephone call to local storage (e.g., flash memory) of the mobile device or to a network storage device managed by TIMS or the enterprise. Recording to a network storage device can be accomplished by initiating a three-way call to a telephone number associated with the network storage device.
Particular implementations of TIMS provide one or more of the following advantages. TIMS is single, multi-tenant software platform that facilitates global TEM optimization between mobile and fixed-line telecommunication carriers, mobile device management, mobile policy implementation, hierarchical procurement management, integration with financial and human resource systems, personal/corporate split billing and role-based reporting.
The details of one or more disclosed implementations are set forth in the accompanying drawings and the description below. Other features, aspects, and advantages will become apparent from the description, the drawings and the claims.
In some implementations, TIMS 114 is a multi-tenant platform that uses common resources to support multiple customers simultaneously. The platform can include a technology stack comprising servers, switches, bandwidth, storage, etc. Each customer can have one or more dedicated databases separate from other customer databases. Interactive applications (e.g., MDM applications) provided to customers can be developed using Asynchronous JavaScript and eXtensive Markup Language (XML) or AJAX, or other suitable known technologies. Enterprise data can be kept secure using symmetric-key and public-key encryption and Transport Layer Security (TLS), including Hypertext Transfer Protocol over Secure Socket Layer (HTTPS) and File Transfer Protocol (FTP). In some implementations, SaaS applications can be integrated with back-office systems to achieve automation. For example, SaaS applications can integrate data or functionality from other applications through use of mashups, where widgets or small subsets of data/functionality are incorporated into a single viewable screen, such as the dashboard shown in
Inventory/asset management 202 manages inventory and assets for enterprises 112. Assets can include but are not limited to: mobile and landline handsets; data circuits; Multiprotocol Label Switching (MPLS); Voice-Over-Internet Protocol (VoIP); calling cards; conferencing; pagers; eFax; long distance calls; and Web hosting. TIMS 114 can maintain and update inventory as mobile devices 102 are acquired by enterprises 112. For example, TIMS 114 can track the number and types of mobile devices 102 (e.g., smart phone, ordinary phone, electronic tablet, pager, e-mail device) operated by an enterprise, including the capabilities of those devices (e.g., GPS capability), the applications installed on those devices (e.g., call redirectors) and the carriers (e.g., AT&T®, Verizon®) supporting those devices. Enterprises 112 can receive an overview of its inventory through a Web interface, such as the customizable dashboard described in reference to
In some implementations, inventory/asset management 202 integrates invoice plans and MDM information for each line present in a customer's mobile network, including but not limited to: carrier invoice account number; mobile device type; mobile subscriber plans associated with the device; MDM features installed on the device; device network statistics; logs; mobile third party applications installed on the device; enterprise applications installed on the device; device health monitoring statistics; active processes running on the device; activity associated with the device, and the like.
Invoice management 204 includes but is not limited to: managing monthly invoice entries in a variety of formats (e.g., EDI, XML, paper); hierarchical invoice approval workflow; General Ledger (GL) Codes integration; and cost center allocations according to cost allocation rules. In some implementations, invoice management 204 also includes electronic invoice approval and electronic statement viewing and reporting.
Auditing/contract management 206 includes but is not limited to: managing detailed invoice auditing; billing and recovery tickets for credits from carriers; contract rates/Tariffs compliance; and auto notifications of term expirations.
Procurement/ordering portal 208 includes but is not limited to: facilitating corporate hierarchical order management workflow; managing moves, adds, changes and disconnects (MACDs); automated order routing to carriers; centralized procurement controls; and distributed site administration configurations for multi-locations.
In some implementations, procurement/ordering portal 208 includes initializing orders to install an MDM application on a device based on active lines in an enterprise's mobile invoice and inventory. Orders can be placed based on carrier type, subscriber plans, spend allowed, profile type and the like. MDM applications can be installed on individual devices to allow the enterprise to control the devices which employees may be using for company purposes and may or may not contain company related information.
Mobile management/policy 212 implements mobile usage policy, including but not limited to: setting up corporate policies, such as limits on plan types and device types based on profiles; marking personal calls; segregating personal calls from corporate calls; mobile applications or third party software charges identification for each mobile subscriber; 411 charges, ring tones and international roaming charges separation; automated reports of non-approved usage to end-mobile subscribers or managers; and split charges reporting to accounts payable.
In some implementations, mobile management/policy 212 allows set up of different limits on mobile usage based on time of day, usage charges, call types, profile types, and implements these functions in real time using software applications (also referred to as MDM applications) installed on the mobile device.
Reporting 214 includes but is not limited to: generating business intelligence reports; role based hierarchical reporting (e.g., mobile subscriber, manager, administrator); administrative level reports; end mobile subscriber reports; ad-hoc reports, customized reports, budgeting and forecasting; and automated scheduling of reports. The administrative level reports can be displayed in a customized dashboard, as described in reference to
In some implementations, reporting 214 generates reports showing the savings realized by MDM versus actual mobile invoices for 411, international call and custom redirects and international roaming alerts, as described in reference to
Financial and human resources (HR) integration 218 includes but is not limited to: integration with financial systems of the enterprise, feeds from an HR system regarding hierarchy changes, terminations, new hires and other HR functions; and administrator and mobile subscriber level logins.
Mobile device management 216 includes a number of mobile device and expense management services/applications, as described in reference to
Directory assistance and toll calls can be expensive. To reduce costs TIMS 114 can download directory assistance call redirector application 302 onto mobile devices 102, which is configured to redirect directory assistance calls to free or reduced cost directory assistance lines and services. The application monitors input on the mobile device (e.g., a smart phone) for known directory assistance numbers, such as “411” or “1-(xxx)-555-1212,” and replaces these number with a free service number, such as “1-800-Free411.”
TIMS 114 can also download toll free call redirector application 304 to mobile devices 102 to redirect toll calls to a toll free or lower cost service. For example, when a mobile subscriber inputs a telephone number with an area code, the number can be compared to a list of alternative toll free numbers (e.g., “1-800-xxx-xxxx”) for the entity being called and then redirected to the toll free number. In some implementations, toll free numbers (e.g., “1-800-xxx-xxxx”) can be redirected to a toll number. For example, when a mobile subscriber inputs a toll free telephone number to their enterprise, the number can be redirected to the toll number to save incoming toll free charges to an enterprise. In some implementations, international calls from a mobile device can be redirected to a virtual Private Branch Exchange (PBX) or enterprise phone system or virtual calling card to complete the call and avoid high international carrier rates.
TIMS 114 can also download custom call redirector application 306, which allows an enterprise administrator to provide an alternative numbers for call redirection. For example, when a mobile subscriber enters a certain number sequence (e.g., “121”), the call can be redirected to a telephone number for a Global IT Helpdesk operated by the enterprise.
In some implementations, TIMS 114 can download remote monitoring application 308 to mobile devices 102, including current subscriber plan information. An enterprise administrator can select the parameters of a given mobile device to be monitored by application 308. Various alerts related to the subscriber plan information can be sent to TIMS 114. For example, alerts can occur when a mobile subscriber travels to a country not covered by the current subscriber plan and attempts to make a call. The location of the mobile device can be determined by device tracker application 310 (e.g., GPS receiver). When device tracker application 310 indicates that a call has been initiated outside the mobile subscriber's home country, application 308 can review the subscriber plan information stored on the mobile device, or accessed through a back link to TIMS 114, to determine if the subscriber plan allows for international roaming. If the subscriber plan information indicates that the mobile subscriber does not allow for international roaming, then application 308 can send an alert to the mobile subscriber and/or TIMS 114 indicating the deficiency. Responsive to the alert, TIMS 114 can initiate an action, such as creating an order to the carrier to add an international roaming plan on the mobile device or creating an order to the carrier requesting that carrier services for the mobile device be suspended. The orders can be created manually by an enterprise administrator or automatically by TIMS 114 in response to an alert. Application 308 can also take direct action like stopping the mobile subscriber from making international calls on the mobile device by remotely disabling one or more calling parameters on the mobile device.
In some implementations, voice and data usage can also be monitored by application 308. For example, a mobile subscriber may have a 450 minutes voice plan, and has used 400 minutes in a month. Application 308 can track and compare the used minutes with the available minutes indicated by the subscriber plan information stored on the mobile device or accessible through a back link to TIMS 114. Application 308 can alert the mobile subscriber and/or TIMS 114 that the mobile subscriber has reached a percentage threshold of the maximum allowed minutes (e.g., 80%). Further action can then be taken such as creating an order to the carrier to increase the voice plan or suspend (e.g., a temporary suspension) voice service on the mobile device. Alternatively, TIMS 114 can remotely disable the calling capability of the mobile device.
In another example, a mobile subscriber may have a 2 GB data plan. In this case, application 308 can track the data usage on the mobile device and compare the usage with subscriber plan information stored on the mobile device. Application 308 can alert the mobile subscriber and/or TIMS 114 that the mobile subscriber has reached a percentage threshold of maximum allowed data usage (e.g., 80%). Further action can then be taken such as creating an order to the carrier to increase the data plan or suspend data service on the mobile device. Application 308 can also monitor usage of other services and provide alerts when limits on those services have been met, including but not limited to monitoring text messaging usage, international voice and data plan usage, Walkie Talkie, etc.
In some implementations, device tracker application 310 can be installed on mobile devices 102 by TIMS 114. Application 310 can hook into a location services Application Programming Interface (API) for the mobile device to collect position coordinates determined by a positioning system, such as Global Positioning System (GPS) or WiFi positioning. An enterprise administrator can select time intervals for location capture and reporting to TIMS 114 using a Web-based service provided by TIMS 114. The position coordinates can be used to plot locations of the mobile device at specified time intervals on a map display, which can be served to enterprise administrators through the Web-based service.
In some implementations, security password/enforcement 312 allows enterprise administrators to configure remotely mobile devices 102 through TIMS 114 Web interfaces to implement password policies, restrict access to certain mobile device features and to send alerts when SIM cards have been changed on the mobile device.
In some implementations, email configuration and settings application 314 allows TIMS 114 to configure remotely email and settings applications of a mobile device. For example, application 314 can allow TIMS 114 to set up, change and remove email accounts, reset passwords, change access rules and the like. TIMS 114 can also facilitate remote changing of communication settings (e.g., WiFi or VPN settings) or directory service settings (e.g., LDAP directory service settings) on a mobile device, or any other settings that would be normally accessible by the mobile subscriber through a settings page (e.g., language, voice control, region format, calendar, accessibility, notifications, location services, personal hotspot, data roaming)
In some implementations, full/selective remote wipe/remote lock application 316 allows TIMS 114 to perform a remote wipe or lock of mobile devices 102. Many smart phones include an API that allows for remote wiping and locking from over a network. Application 316 hooks into this API to enable remote wipe or lock. In some implementations, an enterprise administrator can initiate a selective partial remote wipe or lock where only specific applications or features are wiped or locked out. In other implementations, full/selective remote wiping can be performed by software without using an API of the mobile device operating system.
In some implementations, application security 318 can provide a list of approved MDM applications that can be installed on the mobile devices and impose restrictions on those applications. For example, when a user attempts to download or install an application from an online application store (e.g., iTunes™), a list of allowed applications is reviewed. The list can be stored on the mobile device or accessible through a link to TIMS 114. If the application to be installed on the mobile device is not on the approved list, the application is prevented from being installed. Likewise, if a restricted feature of an installed application is invoked, the feature can be blocked from being invoked.
In some implementations, the administrator can provide a list of in-house enterprise applications that need to be installed on the mobile device 102 through TIMS 114 (e.g., in-house sales tracking system). These applications can be enterprise applications, which are not made available to the general public. The list can be stored on mobile device 102 or accessible through a link to TIMS 114. A list of installed applications are known to TIMS 114, and each time a new application is installed or an existing application is removed from mobile device 102, application security 318 notifies TIMS 114 so the list can be updated.
Mobile device management 216 described above is integrated with TEM functions of TIMS 114. For example, decision making can be based on subscriber plans activated for the mobile device in the customer's mobile network, and mobile policy instituted by the customer for each user, which in turn is based on mobile invoice spend, including, usage type, calling times, US/International data, text and Short Message Service (SMS) limits.
Configuration of a mobile device can be based on a profile of the user, which in turn is based on country, region, carrier type, subscriber plans, other data variables in telecom invoices like GL charge codes, etc.
Configuration of an MDM profile can be based on data in calling cards for an international call re-director, such as application 304 described above. Reporting can be based on carrier invoice data in TIMS 114 compared to MDM savings realized by MDM applications on the mobile device by call redirectors, call logs, etc.
Process 400 can begin by aggregating MDM information for mobile devices associated with an enterprise (402). For example, an MDM application running on the mobile device can be configured to monitor certain parameters or activities of the mobile device and provide reports to TIMS 114. MDM information can include any information related to the mobile device, including but not limited to: the number and types of applications installed on the device, attempts to make certain types of calls on the device (e.g., international roaming, toll calls, directory assistance), call logs, mobile policy violations, location information, SIM card changes, security violations, etc.
Process 400 can continue by aggregating expense information related to the mobile devices (404). For example, various sources of TEM information can be received by TIMS 114, such as carrier invoice data (e.g., monthly charges), carrier plan data, etc.
Process 400 can continue by generating expense and mobile management reports for the enterprise (406), and delivering the reports to the enterprise through a network-based service (408). For example, the MDM information can be combined with TEM information to support: 1) management decisions made based on carrier plans activated for the mobile device in the mobile network of the enterprise; 2) management decisions made based on mobile policy instituted by the enterprise for each user which is in turn based on mobile invoice spend, usage type, calling times, US versus international data and text or SMS limits; 3) device configuration based on user profiles which in turn is based on country, region, carrier type, carrier plans and other data variables in carrier invoices (e.g., GL charge codes); 4) device configuration of an MDM profile for a mobile device based on data in calling cards for international call redirectors; and 5) reporting based on carrier invoice data in TIMS 114 compared to the MDM savings realized by an MDM application on the mobile device by call redirectors, call logs, etc. Once the reports are generated, they can be made available to the enterprise through a Web service.
Process 500 can continue by receiving an alert generated by a mobile device based on detection of a trigger event and subscriber plan information and/or mobile policy information stored on the mobile device (504). Based on the alert, an action can be initiated relating to the subscriber plan (506). For example, a trigger event can be a user's attempt to make an international roaming call. When the attempt is made, the subscriber plan information stored on the mobile device is reviewed to determine if the device has an international roaming plan. If not, an alert can be sent to TIMS 114 indicating the problem.
Responsive to the alert, an order can be manually or automatically generated and sent to the carrier for a subscriber plan upgrade or for suspending the subscriber account. Another example is an alert that is generated when the user attempts to change the SIM card on the mobile device. This action causes the alert to be sent to TIMS 114 so that an action can be taken, such as disabling certain calling parameters on the mobile device. Other alerts are also possible.
Process 600 can begin by receiving an input (e.g., telephone number) through a user interface of a mobile device associated with an enterprise (602). For example, the mobile device can be a smart phone running a telephony application that presents a virtual keyboard for entering a telephone number to make a voice call or send a text message or other data (e.g., digital images).
Process 600 can continue by determining that an action associated with the input (e.g., make a call, send text message or other data) cannot be performed based on subscriber plan information stored on the mobile device (604). For example, the area or country code of the telephone number can be compared with the subscriber plan information to determine if the telephone call requires international roaming. Likewise, if the user attempts to send a text message or other data (e.g., digital images) with the telephone number or an SMS short code, the subscriber plan information can be checked to determine that the mobile subscriber has a data plan that allows text messaging.
Process 600 can continue by sending an alert to TIMS 114 that the requested action cannot be performed (606). TIMS 114 can then take action as described in reference to
Process 600 can also apply to remote monitoring of other calling parameters or features of the mobile device and sending alerts when certain trigger events occur. For example, if the user makes many toll calls but does not have toll free call redirector application 304 installed, an alert can be sent to TIMS 114. TIMS 114 can then take action such as downloading toll free call redirector application 304 to the mobile device.
Referring to
In the example shown, ten widgets 804-822 are displayed in dashboard page 800 in a grid format. The user, however, can arrange the widgets in dashboard 800 by touching or clicking on the widgets and dragging the widgets to a desired location in dashboard page 800. In some implementations, widgets can include but are not limited to: order management widget 804, telecom/mobile invoice management widget 806, auditing & contract management widget 808, telecom/mobile cost trending (user level) widget 810, telecom/mobile cost trending (enterprise level) widget 812, telecom/mobile invoice exceptions widget 814, MDM device inventory widget 816, MDM usage savings widget 818, MDM device statistics widget 820 and MDM exceptions widget 822.
Order management widget 802 can display status of various orders placed in the enterprise for different telecom services. The orders can also be sorted in a variety of ways by service type, carrier, user, order status, etc. In some implementations, orders can be exported into different file formats.
Telecom/mobile invoice management widget 806 can display listings of various telecom/mobile invoices for an enterprise and the invoices trending in terms of costs, carriers, services, etc.
Auditing & contract management widget 808 can display various auditing and contract related issues and their resolution with the carriers for different telecom/mobile services in the enterprise, including but not limited to billing tickets opened and credits received.
Telecom/mobile cost trending (user level) widget 810 can display various sorting of telecom usages made by the users in the enterprise including highest usage users, zero usage users, etc.
Telecom/mobile cost trending (enterprise level) widget 812 can display trending of various parameters of costs associated with different telecom services in the enterprise related to actual invoices from the carriers.
Telecom/mobile invoice exceptions widget 814 can display exceptions for various parameters of costs associated with different telecom services invoices in the enterprise from the carriers.
MDM devices inventory widget 816 can display various mobile devices enrolled for MDM at the enterprise.
MDM usage savings widget 818 can display various types of savings realized with MDM, including but not limited to “411” usage redirection, international usage redirection, international roaming alerts, etc., compared against actual invoices.
MDM device statistics widget 820 can display various real time statistics of mobile device like minutes used, data usage, international usage, text messages, features, etc.
MDM exceptions widget 822 can display various exceptions arising on various mobile devices. Some implementations include comparing actual subscriber plans with real time usage.
Widgets 802-822 described above, and other widgets, are feasible because of the integration of TEM and MDM in a single multi-tenant, platform that aggregates raw MDM and TEM information from various sources, including MDM applications residing on mobile devices and existing systems of the enterprise. Using dashboard page 800, an enterprise administrator can get a comprehensive view of both the management and expenses of enterprise mobile network through a network-based service without requiring the enterprise to add hardware or software to its existing infrastructure.
In some implementations, page selector 802 can be used to select an inventory page that allows users to view various details about inventory, including monthly charges for each device. The inventory page view can be managed by various user-selected filters. The user can select filters for displaying, for example, all locations and all users. In response to the selection, a table can be displayed listing all mobile devices at all locations of Company Inc. In some implementations, the table can include columns for service type, vendor, account #, reference#, monthly charges and status. Note that expense data can be merged with inventory data in the table. This merging of data is made possible by the integration of TEM and MDM in TIMS 114.
In some implementations, the inventory page can be displayed in a grid view, where additional information can be displayed, including a first column for listing the MDM features installed on the mobile device, device network statistics, logs, mobile third party applications installed on the device, enterprise applications installed on the device, device health monitoring statistics, active processes running on the device, activity associated with the device, and the like. A second column can be used for placing orders. A third column can be used to display monthly charges.
In some implementations, page selector 802 can be used to select an MDM reports page that includes a numerical listing of available MDM reports that can be selected by the user for display. One MDM inventory report can provide MDM information for devices on the mobile network, which can then be filtered by the user. Another MDM report can allow a user to specify a time interval for tracking a mobile device location using, for example, GPS. Other reports provide summaries and details of call redirectors installed on the mobile device, including directory assistance redirector, international call redirector and toll-free redirector. Each of these reports can be filtered by date range, mobile vendor, mobile operating system, MDM applications installed, company allocations, phone status and MDM activation status. The international call redirector details report can also be filtered by telephone number.
In some implementations, page selector 802 can be used to select an MDM settings page that allows a user to configure MDM application parameters using a configuration panel, such as parameters for device tracker 310, directory assistance call redirector application 302 and custom call redirector application 306. For device tracker 310, the user can select a capture and send interval, and restrict capturing data during certain hours. For the directory assistance and customer redirector applications, the user can select alternative telephone numbers.
In some implementations, page selector 802 can be used to select an MDM orders page that allows a user to check the status of pending orders with mobile device vendors or carriers and select new orders. For example, the user can request orders for installing MDM applications via text messaging or enterprise servers, manage or change MDM applications, including enabling or disabling modules with the MDM applications, manage phone configuration and provisioning profiles, query the phone, perform remote wipe or lock and disable MDM applications.
In some implementations, page selector 802 can be used to select a reports page that allows a user to display invoice reports for mobile services, landline services and total telecom services.
Some examples of invoice reports for mobile services can include but are not limited to: mobile policy audit, mobile cost center allocation (various groupings), mobile usage and charges detail (customer report), mobile service-type charges break-up (graphical), update users to unassigned mobile lines, invoice exception report (mobile invoices), audit mobile device charges, mobile charges trending, mobile device charges trending and mobile average cost per line trending.
Some examples of invoice reports for landline services can include but are not limited to: cost center allocations (landline-various groupings), landline service-type charges break-up (graphical), invoice exception report (landline invoices), update allocations to unassigned landline services, conference call charges, calling card charges, toll free charges, data and Internet charges, dial-up and WiFi charges, efax and Web Fax charges and pager charges.
Some examples of invoice reports for total telecom services can include but are not limited to: GL allocations (mobile and landline invoices), invoice exception report (mobile and landline invoices), invoices accrual report (mobile and landline invoices), invoices pending approval (mobile and landline invoices), invoices pending payment (mobile and landline invoices), audit savings detail (mobile and landline invoices), billing tickets details (mobile and landline), invoice discrepancy details (mobile and landline invoices), total telecom charges trend (graphical), total telecom service charges trend (drill-through report), budget variance report and total telecom users report.
In some implementations, page selector 802 can be used to select a mobile policy configuration page that provides a user with a various mobile policies, including voice policy, data policy, text/SMS/Picture/Video policy and MDM features policy.
The voice policy is a framework for voice usage for various profiles of users in the enterprise. Parameters can include restricting, allowing or partially allowing various voice usages like billable peak minutes, non-billable minutes, mobile-to-mobile usage, international usage, international roaming usage, time of the day usage, etc. Some implementations may include voice policy based on charges for various voice usages.
The data policy is a framework for data usage for various profiles of users in the enterprise. Parameters include restricting, allowing or partially allowing various data usages, international usages, international roaming usage, time of the day usage, etc. Some implementations may include data policy based on charges for various data usages.
The text/SMS/picture/video policy is a framework for text messaging, SMS, pictures and video, mobile TV, E-wallet, mobile applications and ringtone usage for various profiles of users in the enterprise. Parameters can include restricting, allowing or partially allowing various usages, international usages, international roaming usage, time of the day usage, etc. Some implementations may include text messaging, SMS, picture, video, mobile TV, E-wallet, mobile applications and ringtone policy based on charges for those services.
In some implementations, page selector 802 can be used to select a subscriber settings page that provides a grid view of user profiles. The grid view can include name, title, employee ID, title, email, executive status, manager name, finance manager name, site administrator name, company hierarchy, user group and login username. The user can use the grid view to modify user profiles information. Some of this information can be used for role based reporting.
Sensors, devices, and subsystems can be coupled to peripherals interface 906 to facilitate multiple functionalities. For example, motion sensor 910, light sensor 912, and proximity sensor 914 can be coupled to peripherals interface 906 to facilitate orientation, lighting, and proximity functions of the mobile device. For example, in some implementations, light sensor 912 can be utilized to facilitate adjusting the brightness of touch screen 946. In some implementations, motion sensor 910 (e.g., an accelerometer, gyros) can be utilized to detect movement and orientation of the device 900. Accordingly, display objects or media can be presented according to a detected orientation, e.g., portrait or landscape.
Other sensors can also be connected to peripherals interface 906, such as a temperature sensor, a biometric sensor, or other sensing device, to facilitate related functionalities.
Location processor 915 (e.g., GPS receiver) can be connected to peripherals interface 906 to provide geo-positioning. Electronic magnetometer 916 (e.g., an integrated circuit chip) can also be connected to peripherals interface 906 to provide data that can be used to determine the direction of magnetic North. Thus, electronic magnetometer 916 can be used as an electronic compass.
Camera subsystem 920 and an optical sensor 922, e.g., a charged coupled device (CCD) or a complementary metal-oxide semiconductor (CMOS) optical sensor, can be utilized to facilitate camera functions, such as recording photographs and video clips.
Communication functions can be facilitated through one or more communication subsystems 924. Communication subsystem(s) 924 can include one or more wireless communication subsystems. Wireless communication subsystems 924 can include radio frequency receivers and transmitters and/or optical (e.g., infrared) receivers and transmitters. Wired communication system can include a port device, e.g., a Universal Serial Bus (USB) port or some other wired port connection that can be used to establish a wired connection to other computing devices, such as other communication devices, network access devices, a personal computer, a printer, a display screen, or other processing devices capable of receiving or transmitting data. The specific design and implementation of the communication subsystem 924 can depend on the communication network(s) or medium(s) over which device 900 is intended to operate. For example, a mobile device can include communication subsystems 924 designed to operate over a GSM network, a GPRS network, an EDGE network, a WiFi or WiMax network, and a Bluetooth network. For example, device 900 may include wireless communication subsystems designed to operate over a global system for mobile communications (GSM) network, a GPRS network, an enhanced data GSM environment (EDGE) network, 802.x communication networks (e.g., WiFi, WiMax, or 3G networks), code division multiple access (CDMA) networks, and a Bluetooth™ network. Communication subsystems 924 may include hosting protocols such that the mobile device may be configured as a base station for other wireless devices. As another example, the communication subsystems can allow the device to synchronize with a host device using one or more protocols, such as, for example, the TCP/IP protocol, HTTP protocol, UDP protocol, and any other known protocol.
Audio subsystem 926 can be coupled to a speaker 928 and one or more microphones 930 to facilitate voice-enabled functions, such as voice recognition, voice replication, digital recording, and telephony functions.
I/O subsystem 940 can include touch screen controller 942 and/or other input controller(s) 944. Touch-screen controller 942 can be coupled to a touch screen/pad 946. Touch screen/pad 946 and touch screen controller 942 can, for example, detect contact and movement or break thereof using any of a number of touch sensitivity technologies, including but not limited to capacitive, resistive, infrared, and surface acoustic wave technologies, as well as other proximity sensor arrays or other elements for determining one or more points of contact with touch screen/pad 946.
Other input controller(s) 944 can be coupled to other input/control devices 948, such as one or more buttons, rocker switches, thumb-wheel, infrared port, USB port, and/or a pointer device such as a stylus. The one or more buttons (not shown) can include an up/down button for volume control of speaker 928 and/or microphone 930.
In one implementation, the user may be able to customize a functionality of one or more of the buttons. The touch screen/pad 946 can also be used to implement virtual or soft buttons and/or a keyboard.
In some implementations, device 900 can present recorded audio and/or video files, such as MP3, AAC, and MPEG files. In some implementations, device 900 can include the functionality of an MP3 player and may include a pin connector for tethering to other devices. Other input/output and control devices can be used.
Memory interface 902 can be coupled to memory 950. Memory 950 can include high-speed random access memory or non-volatile memory, such as one or more magnetic disk storage devices, one or more optical storage devices, or flash memory (e.g., NAND, NOR). Memory 950 can store operating system 952, such as Darwin, RTXC, LINUX, UNIX, OS X, WINDOWS, or an embedded operating system such as VxWorks. Operating system 952 may include instructions for handling basic system services and for performing hardware dependent tasks. In some implementations, operating system 952 can include a kernel (e.g., UNIX kernel).
Memory 950 may also store communication instructions 954 to facilitate communicating with one or more additional devices, one or more computers or one or more servers. Communication instructions 954 can also be used to select an operational mode or communication medium for use by the device, based on a geographic location (obtained by the GPS/Navigation instructions 968) of the device. Memory 950 may include graphical user interface instructions 956 to facilitate graphical user interface processing; sensor processing instructions 958 to facilitate sensor-related processing and functions; phone instructions 960 to facilitate phone-related processes and functions; electronic messaging instructions 962 to facilitate electronic-messaging related processes and functions; web browsing instructions 964 to facilitate web browsing-related processes and functions; media processing instructions 966 to facilitate media processing-related processes and functions; GPS/Navigation instructions 968 to facilitate GPS and navigation-related processes and instructions; camera instructions 970 to facilitate camera-related processes and functions; MDM instructions 972 and configuration data 974 (including subscriber plan and mobile policy information), for the processes and features described with reference to
Each of the above identified instructions and applications can correspond to a set of instructions for performing one or more functions described above. These instructions need not be implemented as separate software programs, procedures, or modules. Memory 950 can include additional instructions or fewer instructions. Furthermore, various functions of the mobile device may be implemented in hardware and/or in software, including in one or more signal processing and/or application specific integrated circuits.
The described features can be implemented advantageously in one or more computer programs that are executable on a programmable system including at least one programmable processor coupled to receive data and instructions from, and to transmit data and instructions to, a data storage system, at least one input device, and at least one output device. A computer program is a set of instructions that can be used, directly or indirectly, in a computer to perform a certain activity or bring about a certain result. A computer program can be written in any form of programming language (e.g., Objective-C, Java), including compiled or interpreted languages, and it can be deployed in any form, including as a stand-alone program or as a module, component, subroutine, or other unit suitable for use in a computing environment.
Suitable processors for the execution of a program of instructions include, by way of example, both general and special purpose microprocessors, and the sole processor or one of multiple processors or cores, of any kind of computer. Generally, a processor will receive instructions and data from a read-only memory or a random access memory or both. The essential elements of a computer are a processor for executing instructions and one or more memories for storing instructions and data. Generally, a computer will also include, or be operatively coupled to, communicate with, one or more mass storage devices for storing data files; such devices include magnetic disks, such as internal hard disks and removable disks; magneto-optical disks; and optical disks.
Storage devices suitable for tangibly embodying computer program instructions and data include all forms of non-volatile memory, including by way of semiconductor memory devices, such as EPROM, EEPROM, and flash memory devices; magnetic disks such as internal hard disks and removable disks; magneto-optical disks; and CD-ROM and DVD-ROM disks. The processor and the memory can be supplemented by, or incorporated in, ASICs (application-specific integrated circuits).
To provide for interaction with a player, the features can be implemented on a computer having a display device, such as a CRT (cathode ray tube) or LCD (liquid crystal display) monitor for displaying information to the player. The computer can also have a keyboard and a pointing device such as a game controller, mouse or a trackball by which the player can provide input to the computer.
The features can be implemented in a computer system that includes a back-end component, such as a data server, that includes a middleware component, such as an application server or an Internet server, or that includes a front-end component, such as a client computer having a graphical mobile subscriber interface or an Internet browser, or any combination of them. The components of the system can be connected by any form or medium of digital data communication such as a communication network. Some examples of communication networks include LAN, WAN and the computers and networks forming the Internet.
The computer system can include clients and servers. A client and server are generally remote from each other and typically interact through a network. The relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other.
One or more features or steps of the disclosed embodiments can be implemented using an API. An API can define on or more parameters that are passed between a calling application and other software code (e.g., an operating system, library routine, function) that provides a service, that provides data, or that performs an operation or a computation. The API can be implemented as one or more calls in program code that send or receive one or more parameters through a parameter list or other structure based on a call convention defined in an API specification document. A parameter can be a constant, a key, a data structure, an object, an object class, a variable, a data type, a pointer, an array, a list, or another call. API calls and parameters can be implemented in any programming language. The programming language can define the vocabulary and calling convention that a programmer will employ to access functions supporting the API. In some implementations, an API call can report to an application the capabilities of a device running the application, such as input capability, output capability, processing capability, power capability, communications capability, etc.
A number of implementations have been described. Nevertheless, it will be understood that various modifications may be made. For example, other steps may be provided, or steps may be eliminated, from the described flows, and other components may be added to, or removed from, the described systems. Accordingly, other implementations are within the scope of the following claims.