CA2808578A1 - Systems and methods of voice call setup involving mobile devices - Google Patents
Systems and methods of voice call setup involving mobile devices Download PDFInfo
- Publication number
- CA2808578A1 CA2808578A1 CA2808578A CA2808578A CA2808578A1 CA 2808578 A1 CA2808578 A1 CA 2808578A1 CA 2808578 A CA2808578 A CA 2808578A CA 2808578 A CA2808578 A CA 2808578A CA 2808578 A1 CA2808578 A1 CA 2808578A1
- Authority
- CA
- Canada
- Prior art keywords
- mobile device
- voice channel
- call
- voice
- channel
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims description 67
- 230000011664 signaling Effects 0.000 claims abstract description 16
- 238000013475 authorization Methods 0.000 claims description 22
- 230000000977 initiatory effect Effects 0.000 claims description 12
- 238000010295 mobile communication Methods 0.000 claims description 3
- 238000010200 validation analysis Methods 0.000 abstract 1
- 238000004891 communication Methods 0.000 description 53
- 238000012545 processing Methods 0.000 description 16
- 230000006870 function Effects 0.000 description 13
- 230000015654 memory Effects 0.000 description 11
- 230000001413 cellular effect Effects 0.000 description 7
- 238000013459 approach Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 238000000926 separation method Methods 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000009434 installation Methods 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 230000010267 cellular communication Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- VJYFKVYYMZPMAB-UHFFFAOYSA-N ethoprophos Chemical compound CCCSP(=O)(OCC)SCCC VJYFKVYYMZPMAB-UHFFFAOYSA-N 0.000 description 1
- 230000005294 ferromagnetic effect Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000004043 responsiveness Effects 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Landscapes
- Telephonic Communication Services (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
A mobile device can send a notification to place a call using a PBX (e.g., using SIP signaling) or receive a notification of call availability for the mobile device at the PBX. An authentication token is provided over a data channel for use in authenticating the mobile device when calling the PBX on a voice channel. However, when the mobile device calls the PBX (e.g., on a DNIS number, where ANI information is made available to an application server), if ANI information is found to correspond to the mobile device, the PBX can send tone(s) indicating that the mobile device can respond with an abbreviated validation tone, rather than the entirety of the authentication token. If the ANI information is not obtained or not matched, then a different tone(s) is sent, indicating to provide the authentication token. If the authentication token provided does not match or if the mobile device does not respond, the voice channel is not set up.
Description
SYSTEMS AND METHODS OF VOICE CALL SETUP
INVOLVING MOBILE DEVICES
BACKGROUND
Field:
[0001] The present application relates to voice telephony, and more particularly to transport setting up and authorizing of voice calls involving mobile devices.
Related art:
INVOLVING MOBILE DEVICES
BACKGROUND
Field:
[0001] The present application relates to voice telephony, and more particularly to transport setting up and authorizing of voice calls involving mobile devices.
Related art:
[0002] Voice telephony remains a major application of interest for business and personal use.
In an example corporate setting, a telephony installation at a site can have a large number of users connected to a Private Branch Exchange (PBX) server, which can interface those users to a smaller number of outside lines (e.g., an El or T1 line) (a PBX can be implemented using a server with telephony cards for example). A PBX can interface with other servers and systems, such as one or more application servers that can provide enhanced services to devices connected to the PBX, such as mobile devices. For example, a PBX can interface with an application server over an IP connection, using SIP signaling. Services provided by an application server can include third party call control, enterprise voice mail, single number reachability, call forwarding, park, and conferencing, for example. PBX systems also can communicate with each other over trunk lines, and packet networks, depending on implementation.
In an example corporate setting, a telephony installation at a site can have a large number of users connected to a Private Branch Exchange (PBX) server, which can interface those users to a smaller number of outside lines (e.g., an El or T1 line) (a PBX can be implemented using a server with telephony cards for example). A PBX can interface with other servers and systems, such as one or more application servers that can provide enhanced services to devices connected to the PBX, such as mobile devices. For example, a PBX can interface with an application server over an IP connection, using SIP signaling. Services provided by an application server can include third party call control, enterprise voice mail, single number reachability, call forwarding, park, and conferencing, for example. PBX systems also can communicate with each other over trunk lines, and packet networks, depending on implementation.
[0003] A PBX can perform services for a voice call, based on direction from an application server. For example, a PBX can initiate an outgoing call to a number specified by an application server using SIP signaling to the PBX. A PBX also can provide information about incoming calls to an application server. For example, a PBX can provide ANI
information, to an application server, for a call incoming to the PBX, which may be provided a service by the application server. Where data communication is unavailable with a mobile device, the mobile device would not have an IP address (or more generally, where mobile device cannot acquire an IP address), authentication mechanisms available in SIP cannot be used.
information, to an application server, for a call incoming to the PBX, which may be provided a service by the application server. Where data communication is unavailable with a mobile device, the mobile device would not have an IP address (or more generally, where mobile device cannot acquire an IP address), authentication mechanisms available in SIP cannot be used.
[0004] It is desirable to provide an experience to devices being serviced from such systems that . is responsive, while also maintaining a measure of authentication to be able to use the systems, to . reduce undesirable situations such as abuse or unauthorized access.
BRIEF DESCRIPTION OF THE DRAWINGS
BRIEF DESCRIPTION OF THE DRAWINGS
[0005] Reference will now be made, by way of example, to the accompanying drawings which show example embodiments of the present application, and in which:
[0006] Figure 1 shows, in block diagram form, an example arrangement in which voice calls involving mobile devices can be setup, and which involves an enterprise communications platform;
[0007] Figure 2 depicts aspects of a logical communications flow for setting up a voice telephony call according to exemplary aspects described herein;
[0008] Figure 3 depicts aspects of an example method that can be implemented on a mobile device participating in call setup according to this disclosure;
[0009] Figure 4 depicts aspects of an example method that can be implemented on a server participating in call setup according to this disclosure;
[0010] Figure 5 depicts a signal diagram according to an example process for establishing a call according to these disclosures;
[0011] Figure 6 depicts another signal diagram according to another example process for establishing a call according to these disclosures;
[0012] Figure 7 depicts an example composition of a mobile device that can perform aspects in accordance with this disclosure;
[0013] Figure 8 depicts another view of an example of a mobile device that can perform aspects in accordance with this disclosure; and
[0014] Figure 9 depicts a functional module composition of a mobile device in accordance with this disclosure.
DESCRIPTION
DESCRIPTION
[0015] In a first aspect of the present disclosure, there is provided a method of establishing a . voice communication session, comprising: receiving at a mobile device, over a data channel, an authentication token that can be used to authenticate the mobile device on a voice channel;
initiating establishment of the voice channel between a telephony system and the mobile device, the telephony system communicatively coupled with a server; receiving at the mobile device, from the server, on the voice channel, at least one DTMF tone indicating that information about the mobile device was obtained during the establishment of the voice channel and was matched with a database of authorized devices, and responsively sending, from the calling device, on the voice channel, an acknowledgement DTMF tone; and proceeding with the voice communication session over the voice channel.
initiating establishment of the voice channel between a telephony system and the mobile device, the telephony system communicatively coupled with a server; receiving at the mobile device, from the server, on the voice channel, at least one DTMF tone indicating that information about the mobile device was obtained during the establishment of the voice channel and was matched with a database of authorized devices, and responsively sending, from the calling device, on the voice channel, an acknowledgement DTMF tone; and proceeding with the voice communication session over the voice channel.
[0016] The method of the first aspect may further comprise sending from the mobile device, on a data channel, a notification of initiation of a call to be carried on a voice channel, and wherein the authentication code is sent responsive to the notification by the server.
[0017] The method of the first aspect may be further defined in that the information obtained during establishment of voice channel comprises ANI information.
[0018] The method of the first aspect may be further defined in that the calling device initiates the establishment of the voice channel by calling a pre-determined telephone number.
[0019] The method of the first aspect may further comprise, if the tone is not received by the mobile device, sending the authentication token as DTMF tones on the voice channel.
[0020] The method of the first aspect may be further defined in that the acknowledgement DTMF tone comprises two or more DTMF tones, at least one of the two or more DTMF tones relating to whether the mobile device can support a data channel concurrently with a voice channel.
[0021] The method of the first aspect may be further defined in that the mobile device is capable of operating according to Global Systems for Mobile Communication (GSM) standard for voice telephony signaling.
[0022] In a second aspect of the present disclosure, there is provided a mobile device capable of voice telephony, comprising: one or more network interfaces capable of interfacing with one or more networks to provide a data communication channel and a voice communication channel;
and a processing resource configured to interface with the one or more network interfaces and to perform a method comprising: receiving at the mobile device, over a data channel, an authentication token that can be used to authenticate the mobile device on a voice channel;
initiating establishment of the voice channel between a telephony system and the mobile device, the telephony system communicatively coupled with a server; receiving at the mobile device, from the server, on the voice channel, at least one DTMF tone indicating that information about the mobile device was obtained during the establishment of the voice channel and was matched with a database of authorized devices, and responsively sending, from the calling device, on the voice channel, an acknowledgement DTMF tone; and proceeding with the voice communication session over the voice channel.
and a processing resource configured to interface with the one or more network interfaces and to perform a method comprising: receiving at the mobile device, over a data channel, an authentication token that can be used to authenticate the mobile device on a voice channel;
initiating establishment of the voice channel between a telephony system and the mobile device, the telephony system communicatively coupled with a server; receiving at the mobile device, from the server, on the voice channel, at least one DTMF tone indicating that information about the mobile device was obtained during the establishment of the voice channel and was matched with a database of authorized devices, and responsively sending, from the calling device, on the voice channel, an acknowledgement DTMF tone; and proceeding with the voice communication session over the voice channel.
[0023] The method of the second aspect may be further defined in that the one or more network interfaces comprise an interface to a cellular network, over which is implemented the voice communication channel and the data communication channel.
[0024] The method of the second aspect may be further defined in that the processing resource is further configured for sending, on the data channel, a notification of initiation of a call to be carried on a voice channel, the notification for receipt by the server and comprising information identifying the mobile device and a party to be called.
[0025] The method of the second aspect may be further defined in that the processing resource is further configured for receiving, on the data channel, a notification of availability of a call, and the authentication token is provided with the notification.
[0026] The method of the second aspect may be further defined in that the one or more network interfaces are configured to provide alternatively either the voice communication channel or the data communication channel. The method of the second aspect may be further defined in that the one or more network interfaces comprises an interface for a GSM/GPRS network.
[0027] In a third aspect of the present disclosure, there is provided a tangible computer readable medium storing instructions for a programming a processor provided with a mobile device to perform a method comprising: sending from a calling device, on a data channel, a notification of initiation of a call to be carried on a voice channel, the notification for receipt by a server and comprising information identifying the calling device and a party to be called; responsively receiving, over the data channel, an authentication token that can be used to authenticate the calling device to the server; initiating establishment of the voice channel between a telephony system and the calling device, the telephony system communicatively coupled with the server;
receiving, from the server, on the voice channel, at least one DTMF tone indicating that information about the calling device was obtained during the establishment of the voice channel and was matched with the information identifying the calling device contained in the notification, and responsively sending, from the calling device, on the voice charmel, an acknowledgement DTMF tone; and proceeding with the voice communication session over the voice channel.
receiving, from the server, on the voice channel, at least one DTMF tone indicating that information about the calling device was obtained during the establishment of the voice channel and was matched with the information identifying the calling device contained in the notification, and responsively sending, from the calling device, on the voice charmel, an acknowledgement DTMF tone; and proceeding with the voice communication session over the voice channel.
[0028] The tangible computer readable medium of the third aspect may be further defined in that the information obtained during establishment of voice channel comprises ANI information.
[0029] The tangible computer readable medium of the third aspect may be further defined in that the calling device initiates the establishment of the voice channel by calling a pre-determined telephone number.
[0030] The tangible computer readable medium of the third aspect may be further defined in that, if the tone is not received by the calling device, then sending the authentication token as DTMF tones on the voice channel.
[0031] The tangible computer readable medium of the third aspect may be further defined in that the acknowledgement DTMF tone comprises two or more DTMF tones, at least one of the two or more DTMF tones relating to whether the calling device can support a data channel concurrently with a voice channel.
[0032] In a fourth aspect of the present disclosure, there is provided a method of providing voice telephony services to a mobile device, comprising: receiving, at an application server, a notification of a call to involve a mobile device and to be carried on a voice channel; sending to the mobile device, over a data channel, an authorization token that can be used to authenticate the mobile device to the application server; receiving ANI information for a call incoming to a telephony system on a voice channel, the telephony system communicatively coupled with the application server; determining whether the received ANI information matches to the mobile device identified in the notification, and responsively sending, on the voice channel, at least one DTMF tone indicating authorization to use an abbreviated authentication procedure comprising sending fewer DTMF tones than a number of tones in the authorization token;
and provisioning a voice channel to the party to be called, for bridging with the voice channel for the call incoming to the telephony system.
and provisioning a voice channel to the party to be called, for bridging with the voice channel for the call incoming to the telephony system.
[0033] The method of the fourth aspect may further comprises, responsive to determining that the received ANI information does not match to the mobile device, indicating to the mobile device to provide the authorization token on the voice channel.
[0034] In a fifth aspect of the present disclosure, there is provided a method of providing voice telephony services to a mobile device, comprising: receiving, at an application server, a notification of a call to involve a mobile device and to be carried on a voice channel; sending to the mobile device, over a data channel, an authorization token that can be used to authenticate the mobile device to the application server; receiving ANI information for a call incoming to a telephony system on a voice channel, the telephony system communicatively coupled with the application server; determining whether the received ANI information matches to the mobile device identified in the notification, and responsively sending, on the voice channel, at least one acknowledgment DTMF tone indicating authorization to use an abbreviated authentication procedure comprising sending fewer DTMF tones than a number of tones in the authorization token; and provisioning a voice channel to the party to be called, for bridging with the voice channel for the call incoming to the telephony system.
[0035] The method of the fifth aspect may further comprise, responsive to determining that the received ANI information does not match to the mobile device, indicating to the mobile device to provide the authorization token on the voice channel.
[0036] The method of the fifth aspect may further comprise sending from the mobile device, on the data channel, a notification of initiation of a call to be carried on a voice channel, and wherein the authentication token is sent responsive to the notification by the server.
[0037] The method of the fifth aspect may be further defined in that the authentication of the mobile device and provisioning of the voice channel to the party to be called are performed concurrently.
[0038] The method of the fifth aspect may be further defined in that the mobile device initiates the establishment of the voice channel by a call incoming from a pre-determined telephone number.
[0039] The method of the fifth aspect may be further defined in that the acknowledgement DTMF tone comprises two or more DTMF tones, at least one of the two or more DTMF tones relating to whether the mobile device can support a data channel concurrently with a voice channel.
[0040] The method of the fifth aspect may be further defined in that, if the acknowledgment tone is not received by the application server, then sending the authentication token as DTMF
tones on the data channel.
tones on the data channel.
[0041] The method of the fifth aspect may be further defined in that, wherein the mobile device is capable of operating according to Global Systems for Mobile Communication standard for voice telephony signaling.
[0042] The method of the fifth aspect may be further defined in that the application server may provision a voice channel to more than one party to be called concurrently.
[0043] The method of the fifth aspect may further comprise implementation, by the application, of a usage restriction on the mobile device.
[0044] The method of the fifth aspect may be further defined in that the usage restriction denies the provision of a voice channel for a call incoming from an international source.
[0045] The method of the fifth aspect may be further defined in that the usage restriction denies the provision of a voice channel for a call incoming from a telemarketing source.
[0046] In a sixth aspect of the present disclosure, there is provided a provided a tangible computer readable medium storing instructions for a programming at least one processor associated with a mobile device to perform a method comprising: receiving, at an application server, a notification of a call to involve a mobile device and to be carried on a voice channel;
sending to the mobile device, over a data channel, an authorization token that can be used to authenticate the mobile device to the application server; receiving ANI
information for a call incoming to a telephony system on a voice channel, the telephony system communicatively coupled with the application server; determining whether the received ANI
information matches to the mobile device identified in the notification, and responsively sending, on the voice channel, at least one acknowledgment DTMF tone indicating authorization to use an abbreviated authentication procedure comprising sending fewer DTMF tones than a number of tones in the authorization token; and provisioning a voice channel to the party to be called, for bridging with the voice channel for the call incoming to the telephony system.
sending to the mobile device, over a data channel, an authorization token that can be used to authenticate the mobile device to the application server; receiving ANI
information for a call incoming to a telephony system on a voice channel, the telephony system communicatively coupled with the application server; determining whether the received ANI
information matches to the mobile device identified in the notification, and responsively sending, on the voice channel, at least one acknowledgment DTMF tone indicating authorization to use an abbreviated authentication procedure comprising sending fewer DTMF tones than a number of tones in the authorization token; and provisioning a voice channel to the party to be called, for bridging with the voice channel for the call incoming to the telephony system.
[0047] The tangible computer readable medium of the sixth aspect may be further defined in that the method further comprises: responsive to determining that the received ANI information does not match to the mobile device, indicating to the mobile device to provide the authorization token on the voice channel.
[0048] The tangible computer readable medium of the sixth aspect may be further defined in that the method further comprises: sending from the mobile device, on the data channel, a notification of initiation of a call to be carried on a voice channel; and wherein the authentication token is sent responsive to the notification by the server.
[0049] The tangible computer readable medium of the sixth aspect may be further defined in that the authentication of the mobile device and provisioning of the voice channel to the party to be called is performed concurrently.
[0050] The tangible computer readable medium of the sixth aspect may be further defined in that the mobile device initiates the establishment of the voice channel by a call incoming from a pre-determined telephone number.
[0051] The tangible computer readable medium of the sixth aspect may be further defined in that the acknowledgement DTMF tone comprises two or more DTMF tones, at least one of the two or more DTMF tones relating to whether the mobile device can support a data channel concurrently with a voice channel.
[0052] The tangible computer readable medium of the sixth aspect may be further defined in, if . the acknowledgment tone is not received by the application server, then sending the , authentication token as DTMF tones on the voice channel.
[0053] The tangible computer readable medium of the sixth aspect may be further defined in that the application server is configured to provision a voice channel to more than one party to be called concurrently.
[0054] Briefly, one concern in providing enhanced telephony services to mobile devices is providing a responsive experience to users of the mobile devices. For example, in a situation where a call is to be anchored from a PBX, a mobile device (calling party) can indicate that a call to a specified number (a called party) is to be made from the PBX on behalf of the calling party, and that a voice channel between the PBX and each of the called and calling party should be bridged so that the called and calling party are in voice communication.
[0055] In one approach to such a service (e.g., where SIP authentication measures cannot be applied), a mobile device can indicate, through a data channel (e.g., a data service), to a server in communication with the PBX that such a call is to be made. The server can return, via the data channel, an authentication token that can be presented over a voice channel to the PBX as a series of DTMF tones (typically at least 5 tones). Upon reception of the tones at the PBX from the mobile device, these tones (or data representative of them) can be sent from the PBX to the server, which determines whether or not the DTMF tones represent the authentication token that was provided to the mobile device. If so, then authorization for the call to proceed is granted.
Such an approach may require several seconds (around 4 or more seconds) to complete, at least because DTMF tones require a guardband of time between each tone, and the tones require some time for processing. Thus, using an authentication token long enough to provide reasonable security results in a delay longer than desirable.
Such an approach may require several seconds (around 4 or more seconds) to complete, at least because DTMF tones require a guardband of time between each tone, and the tones require some time for processing. Thus, using an authentication token long enough to provide reasonable security results in a delay longer than desirable.
[0056] In one aspect disclosed herein, a mobile device indicates over a data channel that a call is to be made (as described above). The server likewise responds with an authentication token.
The mobile device can call a DNIS telephone number, in order to reach the PBX.
The PBX
gathers ANI information for that call (and/or caller identification information). The ANI
information is provided to the server. The server determines whether the ANI
information matches to an authorized user of the system (e.g., matches to identification information, such as a phone number, associated with a device issued to an employee of a company controlling the PBX.
The mobile device can call a DNIS telephone number, in order to reach the PBX.
The PBX
gathers ANI information for that call (and/or caller identification information). The ANI
information is provided to the server. The server determines whether the ANI
information matches to an authorized user of the system (e.g., matches to identification information, such as a phone number, associated with a device issued to an employee of a company controlling the PBX.
[0057] If the ANI information (or other identifying information) matches, then the server can generate a trigger code comprising one or more DTMF tones (e.g., such tones can be pre-determined to be associated with the trigger functionality described), to be sent over the voice channel between the PBX and the mobile device. The mobile device receives these tone(s), and interprets these tone(s) to indicate that the authentication token need not be transmitted over the voice channel to the PBX. The mobile device can respond with one or more acknowledgement tones, allowing the call to proceed. In this example, the total number of DTMF
tones exchanged over the voice channel to enable the mobile device to be authenticated and the call to proceed has been reduced. In some implementations, such reduction in DTMF tones allows several seconds faster setup time for a call, which enhances responsiveness of the system to mobile device service needs.
tones exchanged over the voice channel to enable the mobile device to be authenticated and the call to proceed has been reduced. In some implementations, such reduction in DTMF tones allows several seconds faster setup time for a call, which enhances responsiveness of the system to mobile device service needs.
[0058] FIG. 1 depicts an example arrangement, which will be used in the following description.
In some aspects, this description concerns an approach to reducing a setup time for a call involving a wireless device and carried on a transport that includes elements of the Public Switched Telephony Network (PSTN). The elements of FIG. 1 are introduced, followed with background to provide context to the particular examples that follow.
In some aspects, this description concerns an approach to reducing a setup time for a call involving a wireless device and carried on a transport that includes elements of the Public Switched Telephony Network (PSTN). The elements of FIG. 1 are introduced, followed with background to provide context to the particular examples that follow.
[0059] FIG. 1 depicts an arrangement where a PBX 16 can exist within a corporate network.
PBX 16 can be coupled to the Public Switched Telephone Network (PSTN) 40, such as via a T1 trunk, or through a gateway 13 that interfaces between the PSTN and a packet network technology. Gateway 13 also can convert between packet network signaling to PSTN signaling PBX 16 also can be coupled to the Internet 40, or to other packet networks, through a firewall 22, and other network equipment such as routers and switches (not separately depicted). PBX 16 also can have a connection to both the PSTN and one or more packet networks.
100601 Traditionally, a PBX (e.g., PBX 16) provides telephony services for a closed group of private telephones, for example, within an enterprise or a hotel. However, in many cases the services to the private telephone desirably could also be extended out to a mobile device that communicate via third party networks, such as wide area cellular networks, or through wireless ' local area networks. In these situations SMP server 18 may be added as an adjunct to the PBX
. and can take an active role in providing services to mobile devices.
[0061] SMP server 18 can be connected to PBX 16 through a packet-switched connection that can use the Internet Protocol (IP).
[0062] PSTN 40 can communicate with Public Land Mobile Network (PLMN) 50, and by particular example, with a switching control 86 within PLMN 50. Such communication is for accepting calls from PLMN 50 to be carried on PSTN 40, and vice versa, as an example. SS7 signalling can be employed between PSTN 40 and PLMN 50. PSTN 40 is depicted to have telephones 87a and 87b coupled thereto. Other implementations can include multiple gateways that translate between or among different signaling protocols.
[0063] PLMN 50 communicates with a mobile device 11. Communication between and mobile device 11 can take place using a wide variety of technologies, some of which are capable of supporting only voice traffic, either voice traffic and data traffic, or simultaneous voice and data traffic to/from mobile device 11. PLMN 50 also can use Internet 40 to receive/send traffic to and from corporate network 20, as indicated by communication link 92.
Communication between network 20 and PLMN 50 also may be carried via a relay 26. Relay 26 may provide, for example, a leased line access to one or more PLMNs 50, or to equipment hosted within such PLMNs 50. As such, public packet networks (e.g., Internet 50) are not necessarily used in some examples.
10064] Mobile device 11 includes one or more radio transceivers and associated processing hardware and software to enable wireless communications with the PLMN 50 and optionally a WLAN. In various embodiments, the PLMN 50 and mobile device 11 may be configured to operate in compliance with any one or more of a number of wireless protocols, including GSM, GPRS, CDMA, EDGE, UMTS, EvD0, HSPA, 3GPP, or a variety of others. It will be appreciated that the mobile device 11 may roam within PLMN 50 as well as into other PLMNs (i.e., that the depicted PLMN 50 represents one or more such wireless access networks that operate according to what a person of ordinary skill would understand as broadband cellular access technologies).
[0065] For example, in some instances, a dual-mode mobile device 11 and/or the enterprise network 20 can be configured to facilitate roaming between the PLMN 50 and a WLAN, and are , thus capable of seamlessly transferring sessions (such as voice calls) from a connection with a cellular interface of a dual-mode device to a WLAN interface of such a dual-mode device, and vice versa.
[0066] GSM signaling 91 can be implemented using the Fast Associated Control Channel (FACCH). FACCH is a logical channel on a digital traffic channel that can be used to send urgent signaling control messages. The FACCH channel sends messages by replacing speech data with signaling data for short periods of time. In GSM, two special reserved bits are used to inform the receiving device if the data in the current time slot is digitally coded subscriber traffic or alternatively a FACCH message. Switching control 86 manages the conversion between GSM
signaling 91 and SS7 signaling 90 (for clarity, a network of base stations operating within PLMN
50 is not separately depicted, and usually, there is a connection between switching control 86, and one or more base station elements, where device 11 can be connected to such base station elements. GSM signaling can be relayed through the base station to a termination point in switching control 86.) [0067] In some embodiments, PBX 16 may be connected to one or more conventional analog telephones 19. The PBX 16 is also connected to (or part of) the enterprise network 20 and, through it, to telephone terminal devices, such as digital telephone sets 17, softphones operating on computers 15, and so on. Within the enterprise network, each individual may have an associated extension number, sometimes referred to as a PNP (private numbering plan), or direct dial phone number. Calls outgoing from PBX 16 to PSTN 40 or incoming from PSTN
40 to PBX 16 can be circuit-switched calls (typically in the absence of gateway 13).
Gateway 13 also can be considered part of enterprise network 20, and a boundary of such enterprise network 20 depicted in FIG. 1 is primarily for convenience. Within the enterprise, e.g.
between the PBX 16 and terminal devices, voice calls are increasingly packet-switched calls, for example Voice-over-IP (VoIP) calls.
[0068] SMP server 18 can perform some aspects of messaging or session control, like call control and advanced call processing features. SMP server 18 may, in some cases, also perform some media handling. Collectively, SMP server 18 and PBX 16 may be referred to as the = enterprise communications platform (server), generally designated 14. It will be appreciated that the enterprise communications platform 14 and, in particular, SMP server 18, can be implemented on one or more servers having suitable communications interfaces for connecting to and communicating with the PBX 16, and other network connections. Although SMP
server 18 may be implemented on a stand-alone server, it will be appreciated that it may be implemented into an existing control agent/server as a software component comprising instructions configuring a processor, operating with other software components to implement the functionality attributed to it. As will be described below, SMP server 18 may be implemented as a multi-layer platform.
[0069] The enterprise communications platform 14 implements the switching to connect session legs and may provide the conversion between, for example, a circuit-switched call and a VoIP
call, or to connect legs of other media sessions. In some embodiments, in the context of voice calls the enterprise communications platform 14 provides a number of additional functions including automated attendant, interactive voice response, call forwarding, voice mail, etc. It may also implement certain usage restrictions on enterprise users, such as blocking international calls or 1-900 calls. In many embodiments, Session Initiation Protocol (SIP) may be used to set-up, manage, and terminate media sessions for voice calls. Other protocols may also be employed by the enterprise communications platform 14, for example, Web Services, Computer Telephony Integration (CTI) protocol, Session Initiation Protocol for Instant Messaging and Presence Leveraging Extensions (SIMPLE), and various custom Application Programming Interfaces (APIs).
[0070] One of the functions of enterprise communications platform 14 is to extend the features of enterprise telephony to the mobile devices 11. For example, the enterprise communications platform 14 can allow mobile device 11 to perform functions akin to those normally available on a standard office telephone, such as the digital telephone set 17 or analog telephone set 15.
Example features may include direct extension dialing, enterprise voice mail, conferencing, call transfer, call park, etc.
[0071] The depicted system may include a number of enterprise-associated mobile devices " (device 11 is depicted). Device 11 can be a device equipped for cellular communication through . the PLMN 50, or a dual-mode device capable of both cellular and WLAN
communications.
[0072] Enterprise network 20 typically includes a number of networked servers, computers, and other devices. For example, enterprise network 20 may connect one or more desktop or laptop computers 15 (one shown). The connection may be wired or wireless in some embodiments.
The enterprise network 20 may also connect to one or more digital telephone sets 17 (one shown).
[0073] Now turning to Figures 2-4, methods of establishing calls involving mobile device 11 will be explained, in view of the logical communications depicted in Figure 2, the mobile device method of Figure 3, and the server-oriented method of Figure 4.
[0074] Figure 3 depicts that mobile device 11 can send a notice (e.g., a message) indicative of a call to be made (or receive a notice, as would occur in a call incoming to PBX
16 was available);
the notice is transmitted over a data channel. Such a data channel is depicted logically in Figure 2 as communication 105 from device 11 to SMP 18. Communication 105 can travel over PLMN
50, and through relay 26, or through another data connection, such as WiFi, depicted as wifi base station 99 in Figure 1, over Internet 40.
[0075] SMP 18 responds with communication 106, which includes an authentication token.
Communication 106 can be sent similarly to the approach of communication 105.
The method of Figure 3 includes receiving the authentication token of communication 106, and calling a DNIS
number (306). The calling of the DNIS number is depicted in Figure 2 as communication 107 to PBX 16, which would typically occur over PLMN 50 and PSTN 40, and which also could occur over WiFi, and Internet 40 coupled to gateway 13 or to PSTN 40. ANI
information obtained for this case is compared with a database (116) of authorized devices, in order to determine whether the ANI information matches to an authorized device. If so, then the authentication token can be determined to be unnecessary for the mobile device 11 to provide on the voice channel. This decision can be communicated to device 11, as explained below.
[0076] Upon establishing communication with PBX 16 over the voice channel, mobile device waits (represented by "no" loop) to receive (308) one or more DTMF tones over the voice 14 channel (such tones are represented by communication 109 in Figure 2, and which occurs over ' the established voice channel). Upon receiving tones, mobile device 11 determines (310) . whether the received tone(s) represent a trigger indicating that mobile device 11 need not send the authentication token over the voice channel that was received by mobile device 11.
10077] If the determination indicates that the sending of the authentication token can be dispensed, then mobile device responds with one or more DTMF acknowledgement tones (312), as indicated by communication 110 in Figure 2, also over the voice channel. If determination (310) indicates to send the authentication token, then mobile device 11 responds by providing (322) DTMF tones representative of the authentication token (also represented by communication 110 of Figure 2). Assuming that the authentication token is correctly received, then the call can continue (320) thereafter (which will be explained further with respect to Figure 4). The call continue (320) is depicted with dashes to indicate that if the call is not completed on the server/PBX side, then device 11 can wait to receive further tones, or may ultimately time out and retry.
[0078] Figure 4 depicts a counterpart method implemented at one or more of SMP
18 and PBX
16. Figure 4 depicts that the call notice of (302) is received (call to be made on behalf of device 11) or sent (i.e., call at PBX for device 11) (402). Information provided in the notice is stored (403), such information would typically include an identifier for device 11, such as a telephone number, as well as information for the party to be called. Responsive to the notice, an authentication token can be sent (the corresponding communications of Figure 2 are described above with respect to Figure 3). PBX 16 can await an incoming call (406) on a DNIS number, such incoming call can be on a SIP trunk. PBX 16 generally would be able to receive a call at the DNIS number at any time, from any party, and as such, the sequential presentation of Figure 4 does not imply that accepting an incoming call is dependent on the occurrence of other aspects disclosed). SMP 18 receives ANI information (or in the absence or additional to ANI
information, caller ID information can be received). Such ANI information can be captured by PBX 16 and provided to SMP 18. In some cases, ANI information may be unavailable (408) (and caller ID information may be deemed unacceptable or is also unavailable).
In such a case, SMP 18 responds (414) with one or more tone(s) indicating that device 11 should respond with the authentication token provided. If ANI information is available (depending on implementation, caller ID information can be substituted for ANI information herein), then SMP
18 attempts to match the ANI information to a database or list of authorized devices (412). If the ANI information matches, then SMP 18 responds with one or more DTMF tones indicating that only an acknowledgement tone(s) and not the full authentication token is sufficient (422).
[0079] Thereafter, the acknowledgement tone(s) can be received (425) (and SMP
18 can wait, subject to timeout 430 to receive such tones). SMP 18 can signal/direct (432) PBX 16 to initiate a voice channel to the called party, as represented by communication 111 of Figure 2 (which can be specified in the notice received at 402). The voice channel is represented by communication 112 in Figure 2. That call to the called party can be bridged with the established voice channel to mobile device 11. If the authentication token matched (416) or if the acknowledgement approach was successful, then the call can be conducted (434). If tones received after 414 did not match the previously-provided authentication token, then the call can be rejected (418). As another example, device 11 may be directed to send the authentication token again.
[0080] Although not explicitly the focus of the method depicted in Figure 4, if the authentication token is provided, even though it was not requested, the call can also be authorized. Further, other variations can be introduced, such as PBX 16 starting to initiate a call to the called party concurrently with the authentication/acknowledgement of device 11.
[0081] Figure 5 depicts a signal flow where a call can originate at PBX 16 (e.g., by a party calling a number that should ring mobile device 11). In this situation, a principal difference is that the notice of 302/402 would be inapplicable, and instead, an invite (over data service) including the token (404) can be sent after SMP 18 receives an indication that the PBX 16 has an incoming call for mobile device 11. The signal flow is largely self-explanatory and concerns an example where the authentication token is not provided, and instead, ANI
information is used to match with a database of authorized subscribers (e.g., database 116 of Figure 2), allowing a reduced DTMF tone exchange. Figure 5 also includes information about signal flows that may vary amongst implementations. Various portions of the methods of Figure 3 and Figure 4 are identified in Figure 5 as well.
[0082] Figure 6 depicts a flow where mobile device 11 originates the call (which is generally in - accordance with the methods depicted in Figures 3 and 4). The flow of Figure 6 also is generally . self-explanatory and concerns a situation where the ANI information matched, such that the authentication token is indicated to be unnecessary, allowing a more responsive authorization process. Various elements from Figures 3 and 4 are identified in Figure 6.
[0083] Figure 7 depicts example components that can be used in implementing a mobile transceiver device 11 according to the above description. Figure 2 depicts that a processing module 721 may be composed of a plurality of different processing elements, including one or more ASICs 722, a programmable processor 724, one or more co-processors 726, which each can be fixed function, reconfigurable or programmable, one or more digital signal processors 728.
For example, an ASIC or co-processor 722 may be provided for implementing graphics , functionality, encryption and decryption, audio filtering, and other such functions that often involve many repetitive, math-intensive steps. Processing module 721 can comprise memory to be used during processing, such as one or more cache memories 730.
[0084] Processing module 721 communicates with mass storage 740, which can be composed of a Random Access Memory 741 and of non-volatile memory 743. Non-volatile memory 743 can be implemented with one or more of Flash memory, PROM, EPROM, and so on.
Non-volatile memory 743 can be implemented as flash memory, ferromagnetic, phase-change memory, and other non-volatile memory technologies. Non-volatile memory 743 also can store programs, device state, various user information, one or more operating systems, device configuration data, and other data that may need to be accessed persistently.
100851 User input interface 710 can comprise a plurality of different sources of user input, such as a camera 702, a keyboard 704, a touchscreen 708, and a microphone, which can provide input to speech recognition functionality 709.
[0086] Processing module 721 also can use a variety of network communication protocols, grouped for description purposes here into a communication module 737, which can include a Bluetooth communication stack 742, which comprises a L2CAP layer 744, a baseband 746 and a radio 748. Communications module 737 also can comprise a Wireless Local Area Network (747) interface, which comprises a link layer 752 with a MAC 754, and a radio 756.
Communications module 737 also can comprise a cellular broadband data network interface 760, ' which in turn comprises a link layer 761, with MAC 762. Cellular interface 760 also can . comprise a radio for an appropriate frequency spectrum 764. Communications module 737 also can comprise a USB interface 766, to provide wired data communication capability. Other wireless and wired communication technologies also can be provided, and this description is exemplary.
[0087] Referring to Figure 8, there is depicted an example of mobile device 11. Mobile device 11 comprises a display 812 and a cursor or view positioning device, here depicted as a trackball 814, which may serve as another input member and is both rotational to provide selection inputs and can also be pressed in a direction generally toward housing to provide another selection input. Trackball 814 permits multi-directional positioning of a selection cursor 818, such that the selection cursor 818 can be moved in an upward direction, in a downward direction and, if desired and/or permitted, in any diagonal direction. The trackball 814 is in this example situated on a front face (not separately numbered) of a housing 820, to enable a user to maneuver the trackball 814 while holding mobile device 11 in one hand. In other embodiments, a trackpad or other navigational control device can be implemented as well.
[0088] The mobile device 11 in Figure 8 also comprises a programmable convenience button 815 to activate a selected application such as, for example, a calendar or calculator. Further, mobile device 11 can include an escape or cancel button 816, a menu or option button 824 and a keyboard 820. Menu or option button 824 loads a menu or list of options on display 812 when pressed. In this example, the escape or cancel button 816, menu option button 824, and keyboard 829 are disposed on the front face of the mobile device housing, while the convenience button 815 is disposed at the side of the housing. This button placement enables a user to operate these buttons while holding mobile device 11 in one hand. The keyboard 829 is, in this example, a standard QWERTY keyboard.
[0089] Figure 9 depicts an example functional module organization of mobile device 11, and which includes a call module 901. Call module 901 device 11 includes Media Access Controller(s) and PHYsical media layers that can be managed by the MACs (922) and a transport protocol(s) module 920 interfaced with the MAC/PHYs. A voice channel processing layer module 918 interfaces with transport control (20), and receives input from a DTMF tone synthesizer and a speech coder 910 that receives input from a microphone 912.
Voice channel processing layer 918 also interfaces with a DTMF tone receiver 905 that can detect DTMF tones sent on a voice channel involving transport control 920 and MAC/PHY 922. A
control module 906 also can interface with each of DTMF tone receiver 905 and synthesizer 904 to both receive information represented by received tones and generate information to be sent using DTMF
tones. A UI 914 interfaces with control module 906. Transport module in turn interfaces with one or more MAC/PHY modules 922. Collectively, voice channel processing module 918, transport module 920, and MAC/PHY module(s) 922 provide a stack for transmission and reception of voice information for a call, as well as command and status information relating to such call.
100901 In the foregoing, separate boxes or illustrated separation of functional elements of illustrated systems does not necessarily require physical separation of such functions, as communications between such elements can occur by way of messaging, function calls, shared memory space, and so on, without any such physical separation. As such, functions need not be implemented in physically or logically separated platforms, although they are illustrated separately for ease of explanation herein. In particular, a PBX and a server that can communicate with a device over a data channel can be implemented in separate devices, or as different software-based functions on a single device, such as using separate processes running on a processor or group of processors (more generally, a processing resource or resources). These aspects can be implementation-specific, and a variety of implementations would occur to those of ordinary skill in view of these disclosures.
[0091] For example, different embodiments of devices can provide some functions in an operating system installation that are provided at an application layer or in a middle layer in other devices. Different devices can have different designs, such that while some devices implement some functions in fixed function hardware, other devices can implement such functions in a programmable processor with computer code obtained from a computer readable medium.
100921 Further, some aspects may be disclosed with respect to only certain examples. However, ' such disclosures are not to be implied as requiring that such aspects be used only in embodiments according to such examples.
[0093] The above description occasionally describes relative timing of events, signals, actions, and the like as occurring "when" another event, signal, action, or the like happens. Such description is not to be construed as requiring a concurrency or any absolute timing, unless otherwise indicated.
10094] Certain adaptations and modifications of the described embodiments can be made.
Aspects that can be applied to various embodiments may have been described with respect to only a portion of those embodiments, for sake of clarity. However, it is to be understood that these aspects can be provided in or applied to other embodiments as well.
Therefore, the above discussed embodiments are considered to be illustrative and not restrictive.
PBX 16 can be coupled to the Public Switched Telephone Network (PSTN) 40, such as via a T1 trunk, or through a gateway 13 that interfaces between the PSTN and a packet network technology. Gateway 13 also can convert between packet network signaling to PSTN signaling PBX 16 also can be coupled to the Internet 40, or to other packet networks, through a firewall 22, and other network equipment such as routers and switches (not separately depicted). PBX 16 also can have a connection to both the PSTN and one or more packet networks.
100601 Traditionally, a PBX (e.g., PBX 16) provides telephony services for a closed group of private telephones, for example, within an enterprise or a hotel. However, in many cases the services to the private telephone desirably could also be extended out to a mobile device that communicate via third party networks, such as wide area cellular networks, or through wireless ' local area networks. In these situations SMP server 18 may be added as an adjunct to the PBX
. and can take an active role in providing services to mobile devices.
[0061] SMP server 18 can be connected to PBX 16 through a packet-switched connection that can use the Internet Protocol (IP).
[0062] PSTN 40 can communicate with Public Land Mobile Network (PLMN) 50, and by particular example, with a switching control 86 within PLMN 50. Such communication is for accepting calls from PLMN 50 to be carried on PSTN 40, and vice versa, as an example. SS7 signalling can be employed between PSTN 40 and PLMN 50. PSTN 40 is depicted to have telephones 87a and 87b coupled thereto. Other implementations can include multiple gateways that translate between or among different signaling protocols.
[0063] PLMN 50 communicates with a mobile device 11. Communication between and mobile device 11 can take place using a wide variety of technologies, some of which are capable of supporting only voice traffic, either voice traffic and data traffic, or simultaneous voice and data traffic to/from mobile device 11. PLMN 50 also can use Internet 40 to receive/send traffic to and from corporate network 20, as indicated by communication link 92.
Communication between network 20 and PLMN 50 also may be carried via a relay 26. Relay 26 may provide, for example, a leased line access to one or more PLMNs 50, or to equipment hosted within such PLMNs 50. As such, public packet networks (e.g., Internet 50) are not necessarily used in some examples.
10064] Mobile device 11 includes one or more radio transceivers and associated processing hardware and software to enable wireless communications with the PLMN 50 and optionally a WLAN. In various embodiments, the PLMN 50 and mobile device 11 may be configured to operate in compliance with any one or more of a number of wireless protocols, including GSM, GPRS, CDMA, EDGE, UMTS, EvD0, HSPA, 3GPP, or a variety of others. It will be appreciated that the mobile device 11 may roam within PLMN 50 as well as into other PLMNs (i.e., that the depicted PLMN 50 represents one or more such wireless access networks that operate according to what a person of ordinary skill would understand as broadband cellular access technologies).
[0065] For example, in some instances, a dual-mode mobile device 11 and/or the enterprise network 20 can be configured to facilitate roaming between the PLMN 50 and a WLAN, and are , thus capable of seamlessly transferring sessions (such as voice calls) from a connection with a cellular interface of a dual-mode device to a WLAN interface of such a dual-mode device, and vice versa.
[0066] GSM signaling 91 can be implemented using the Fast Associated Control Channel (FACCH). FACCH is a logical channel on a digital traffic channel that can be used to send urgent signaling control messages. The FACCH channel sends messages by replacing speech data with signaling data for short periods of time. In GSM, two special reserved bits are used to inform the receiving device if the data in the current time slot is digitally coded subscriber traffic or alternatively a FACCH message. Switching control 86 manages the conversion between GSM
signaling 91 and SS7 signaling 90 (for clarity, a network of base stations operating within PLMN
50 is not separately depicted, and usually, there is a connection between switching control 86, and one or more base station elements, where device 11 can be connected to such base station elements. GSM signaling can be relayed through the base station to a termination point in switching control 86.) [0067] In some embodiments, PBX 16 may be connected to one or more conventional analog telephones 19. The PBX 16 is also connected to (or part of) the enterprise network 20 and, through it, to telephone terminal devices, such as digital telephone sets 17, softphones operating on computers 15, and so on. Within the enterprise network, each individual may have an associated extension number, sometimes referred to as a PNP (private numbering plan), or direct dial phone number. Calls outgoing from PBX 16 to PSTN 40 or incoming from PSTN
40 to PBX 16 can be circuit-switched calls (typically in the absence of gateway 13).
Gateway 13 also can be considered part of enterprise network 20, and a boundary of such enterprise network 20 depicted in FIG. 1 is primarily for convenience. Within the enterprise, e.g.
between the PBX 16 and terminal devices, voice calls are increasingly packet-switched calls, for example Voice-over-IP (VoIP) calls.
[0068] SMP server 18 can perform some aspects of messaging or session control, like call control and advanced call processing features. SMP server 18 may, in some cases, also perform some media handling. Collectively, SMP server 18 and PBX 16 may be referred to as the = enterprise communications platform (server), generally designated 14. It will be appreciated that the enterprise communications platform 14 and, in particular, SMP server 18, can be implemented on one or more servers having suitable communications interfaces for connecting to and communicating with the PBX 16, and other network connections. Although SMP
server 18 may be implemented on a stand-alone server, it will be appreciated that it may be implemented into an existing control agent/server as a software component comprising instructions configuring a processor, operating with other software components to implement the functionality attributed to it. As will be described below, SMP server 18 may be implemented as a multi-layer platform.
[0069] The enterprise communications platform 14 implements the switching to connect session legs and may provide the conversion between, for example, a circuit-switched call and a VoIP
call, or to connect legs of other media sessions. In some embodiments, in the context of voice calls the enterprise communications platform 14 provides a number of additional functions including automated attendant, interactive voice response, call forwarding, voice mail, etc. It may also implement certain usage restrictions on enterprise users, such as blocking international calls or 1-900 calls. In many embodiments, Session Initiation Protocol (SIP) may be used to set-up, manage, and terminate media sessions for voice calls. Other protocols may also be employed by the enterprise communications platform 14, for example, Web Services, Computer Telephony Integration (CTI) protocol, Session Initiation Protocol for Instant Messaging and Presence Leveraging Extensions (SIMPLE), and various custom Application Programming Interfaces (APIs).
[0070] One of the functions of enterprise communications platform 14 is to extend the features of enterprise telephony to the mobile devices 11. For example, the enterprise communications platform 14 can allow mobile device 11 to perform functions akin to those normally available on a standard office telephone, such as the digital telephone set 17 or analog telephone set 15.
Example features may include direct extension dialing, enterprise voice mail, conferencing, call transfer, call park, etc.
[0071] The depicted system may include a number of enterprise-associated mobile devices " (device 11 is depicted). Device 11 can be a device equipped for cellular communication through . the PLMN 50, or a dual-mode device capable of both cellular and WLAN
communications.
[0072] Enterprise network 20 typically includes a number of networked servers, computers, and other devices. For example, enterprise network 20 may connect one or more desktop or laptop computers 15 (one shown). The connection may be wired or wireless in some embodiments.
The enterprise network 20 may also connect to one or more digital telephone sets 17 (one shown).
[0073] Now turning to Figures 2-4, methods of establishing calls involving mobile device 11 will be explained, in view of the logical communications depicted in Figure 2, the mobile device method of Figure 3, and the server-oriented method of Figure 4.
[0074] Figure 3 depicts that mobile device 11 can send a notice (e.g., a message) indicative of a call to be made (or receive a notice, as would occur in a call incoming to PBX
16 was available);
the notice is transmitted over a data channel. Such a data channel is depicted logically in Figure 2 as communication 105 from device 11 to SMP 18. Communication 105 can travel over PLMN
50, and through relay 26, or through another data connection, such as WiFi, depicted as wifi base station 99 in Figure 1, over Internet 40.
[0075] SMP 18 responds with communication 106, which includes an authentication token.
Communication 106 can be sent similarly to the approach of communication 105.
The method of Figure 3 includes receiving the authentication token of communication 106, and calling a DNIS
number (306). The calling of the DNIS number is depicted in Figure 2 as communication 107 to PBX 16, which would typically occur over PLMN 50 and PSTN 40, and which also could occur over WiFi, and Internet 40 coupled to gateway 13 or to PSTN 40. ANI
information obtained for this case is compared with a database (116) of authorized devices, in order to determine whether the ANI information matches to an authorized device. If so, then the authentication token can be determined to be unnecessary for the mobile device 11 to provide on the voice channel. This decision can be communicated to device 11, as explained below.
[0076] Upon establishing communication with PBX 16 over the voice channel, mobile device waits (represented by "no" loop) to receive (308) one or more DTMF tones over the voice 14 channel (such tones are represented by communication 109 in Figure 2, and which occurs over ' the established voice channel). Upon receiving tones, mobile device 11 determines (310) . whether the received tone(s) represent a trigger indicating that mobile device 11 need not send the authentication token over the voice channel that was received by mobile device 11.
10077] If the determination indicates that the sending of the authentication token can be dispensed, then mobile device responds with one or more DTMF acknowledgement tones (312), as indicated by communication 110 in Figure 2, also over the voice channel. If determination (310) indicates to send the authentication token, then mobile device 11 responds by providing (322) DTMF tones representative of the authentication token (also represented by communication 110 of Figure 2). Assuming that the authentication token is correctly received, then the call can continue (320) thereafter (which will be explained further with respect to Figure 4). The call continue (320) is depicted with dashes to indicate that if the call is not completed on the server/PBX side, then device 11 can wait to receive further tones, or may ultimately time out and retry.
[0078] Figure 4 depicts a counterpart method implemented at one or more of SMP
18 and PBX
16. Figure 4 depicts that the call notice of (302) is received (call to be made on behalf of device 11) or sent (i.e., call at PBX for device 11) (402). Information provided in the notice is stored (403), such information would typically include an identifier for device 11, such as a telephone number, as well as information for the party to be called. Responsive to the notice, an authentication token can be sent (the corresponding communications of Figure 2 are described above with respect to Figure 3). PBX 16 can await an incoming call (406) on a DNIS number, such incoming call can be on a SIP trunk. PBX 16 generally would be able to receive a call at the DNIS number at any time, from any party, and as such, the sequential presentation of Figure 4 does not imply that accepting an incoming call is dependent on the occurrence of other aspects disclosed). SMP 18 receives ANI information (or in the absence or additional to ANI
information, caller ID information can be received). Such ANI information can be captured by PBX 16 and provided to SMP 18. In some cases, ANI information may be unavailable (408) (and caller ID information may be deemed unacceptable or is also unavailable).
In such a case, SMP 18 responds (414) with one or more tone(s) indicating that device 11 should respond with the authentication token provided. If ANI information is available (depending on implementation, caller ID information can be substituted for ANI information herein), then SMP
18 attempts to match the ANI information to a database or list of authorized devices (412). If the ANI information matches, then SMP 18 responds with one or more DTMF tones indicating that only an acknowledgement tone(s) and not the full authentication token is sufficient (422).
[0079] Thereafter, the acknowledgement tone(s) can be received (425) (and SMP
18 can wait, subject to timeout 430 to receive such tones). SMP 18 can signal/direct (432) PBX 16 to initiate a voice channel to the called party, as represented by communication 111 of Figure 2 (which can be specified in the notice received at 402). The voice channel is represented by communication 112 in Figure 2. That call to the called party can be bridged with the established voice channel to mobile device 11. If the authentication token matched (416) or if the acknowledgement approach was successful, then the call can be conducted (434). If tones received after 414 did not match the previously-provided authentication token, then the call can be rejected (418). As another example, device 11 may be directed to send the authentication token again.
[0080] Although not explicitly the focus of the method depicted in Figure 4, if the authentication token is provided, even though it was not requested, the call can also be authorized. Further, other variations can be introduced, such as PBX 16 starting to initiate a call to the called party concurrently with the authentication/acknowledgement of device 11.
[0081] Figure 5 depicts a signal flow where a call can originate at PBX 16 (e.g., by a party calling a number that should ring mobile device 11). In this situation, a principal difference is that the notice of 302/402 would be inapplicable, and instead, an invite (over data service) including the token (404) can be sent after SMP 18 receives an indication that the PBX 16 has an incoming call for mobile device 11. The signal flow is largely self-explanatory and concerns an example where the authentication token is not provided, and instead, ANI
information is used to match with a database of authorized subscribers (e.g., database 116 of Figure 2), allowing a reduced DTMF tone exchange. Figure 5 also includes information about signal flows that may vary amongst implementations. Various portions of the methods of Figure 3 and Figure 4 are identified in Figure 5 as well.
[0082] Figure 6 depicts a flow where mobile device 11 originates the call (which is generally in - accordance with the methods depicted in Figures 3 and 4). The flow of Figure 6 also is generally . self-explanatory and concerns a situation where the ANI information matched, such that the authentication token is indicated to be unnecessary, allowing a more responsive authorization process. Various elements from Figures 3 and 4 are identified in Figure 6.
[0083] Figure 7 depicts example components that can be used in implementing a mobile transceiver device 11 according to the above description. Figure 2 depicts that a processing module 721 may be composed of a plurality of different processing elements, including one or more ASICs 722, a programmable processor 724, one or more co-processors 726, which each can be fixed function, reconfigurable or programmable, one or more digital signal processors 728.
For example, an ASIC or co-processor 722 may be provided for implementing graphics , functionality, encryption and decryption, audio filtering, and other such functions that often involve many repetitive, math-intensive steps. Processing module 721 can comprise memory to be used during processing, such as one or more cache memories 730.
[0084] Processing module 721 communicates with mass storage 740, which can be composed of a Random Access Memory 741 and of non-volatile memory 743. Non-volatile memory 743 can be implemented with one or more of Flash memory, PROM, EPROM, and so on.
Non-volatile memory 743 can be implemented as flash memory, ferromagnetic, phase-change memory, and other non-volatile memory technologies. Non-volatile memory 743 also can store programs, device state, various user information, one or more operating systems, device configuration data, and other data that may need to be accessed persistently.
100851 User input interface 710 can comprise a plurality of different sources of user input, such as a camera 702, a keyboard 704, a touchscreen 708, and a microphone, which can provide input to speech recognition functionality 709.
[0086] Processing module 721 also can use a variety of network communication protocols, grouped for description purposes here into a communication module 737, which can include a Bluetooth communication stack 742, which comprises a L2CAP layer 744, a baseband 746 and a radio 748. Communications module 737 also can comprise a Wireless Local Area Network (747) interface, which comprises a link layer 752 with a MAC 754, and a radio 756.
Communications module 737 also can comprise a cellular broadband data network interface 760, ' which in turn comprises a link layer 761, with MAC 762. Cellular interface 760 also can . comprise a radio for an appropriate frequency spectrum 764. Communications module 737 also can comprise a USB interface 766, to provide wired data communication capability. Other wireless and wired communication technologies also can be provided, and this description is exemplary.
[0087] Referring to Figure 8, there is depicted an example of mobile device 11. Mobile device 11 comprises a display 812 and a cursor or view positioning device, here depicted as a trackball 814, which may serve as another input member and is both rotational to provide selection inputs and can also be pressed in a direction generally toward housing to provide another selection input. Trackball 814 permits multi-directional positioning of a selection cursor 818, such that the selection cursor 818 can be moved in an upward direction, in a downward direction and, if desired and/or permitted, in any diagonal direction. The trackball 814 is in this example situated on a front face (not separately numbered) of a housing 820, to enable a user to maneuver the trackball 814 while holding mobile device 11 in one hand. In other embodiments, a trackpad or other navigational control device can be implemented as well.
[0088] The mobile device 11 in Figure 8 also comprises a programmable convenience button 815 to activate a selected application such as, for example, a calendar or calculator. Further, mobile device 11 can include an escape or cancel button 816, a menu or option button 824 and a keyboard 820. Menu or option button 824 loads a menu or list of options on display 812 when pressed. In this example, the escape or cancel button 816, menu option button 824, and keyboard 829 are disposed on the front face of the mobile device housing, while the convenience button 815 is disposed at the side of the housing. This button placement enables a user to operate these buttons while holding mobile device 11 in one hand. The keyboard 829 is, in this example, a standard QWERTY keyboard.
[0089] Figure 9 depicts an example functional module organization of mobile device 11, and which includes a call module 901. Call module 901 device 11 includes Media Access Controller(s) and PHYsical media layers that can be managed by the MACs (922) and a transport protocol(s) module 920 interfaced with the MAC/PHYs. A voice channel processing layer module 918 interfaces with transport control (20), and receives input from a DTMF tone synthesizer and a speech coder 910 that receives input from a microphone 912.
Voice channel processing layer 918 also interfaces with a DTMF tone receiver 905 that can detect DTMF tones sent on a voice channel involving transport control 920 and MAC/PHY 922. A
control module 906 also can interface with each of DTMF tone receiver 905 and synthesizer 904 to both receive information represented by received tones and generate information to be sent using DTMF
tones. A UI 914 interfaces with control module 906. Transport module in turn interfaces with one or more MAC/PHY modules 922. Collectively, voice channel processing module 918, transport module 920, and MAC/PHY module(s) 922 provide a stack for transmission and reception of voice information for a call, as well as command and status information relating to such call.
100901 In the foregoing, separate boxes or illustrated separation of functional elements of illustrated systems does not necessarily require physical separation of such functions, as communications between such elements can occur by way of messaging, function calls, shared memory space, and so on, without any such physical separation. As such, functions need not be implemented in physically or logically separated platforms, although they are illustrated separately for ease of explanation herein. In particular, a PBX and a server that can communicate with a device over a data channel can be implemented in separate devices, or as different software-based functions on a single device, such as using separate processes running on a processor or group of processors (more generally, a processing resource or resources). These aspects can be implementation-specific, and a variety of implementations would occur to those of ordinary skill in view of these disclosures.
[0091] For example, different embodiments of devices can provide some functions in an operating system installation that are provided at an application layer or in a middle layer in other devices. Different devices can have different designs, such that while some devices implement some functions in fixed function hardware, other devices can implement such functions in a programmable processor with computer code obtained from a computer readable medium.
100921 Further, some aspects may be disclosed with respect to only certain examples. However, ' such disclosures are not to be implied as requiring that such aspects be used only in embodiments according to such examples.
[0093] The above description occasionally describes relative timing of events, signals, actions, and the like as occurring "when" another event, signal, action, or the like happens. Such description is not to be construed as requiring a concurrency or any absolute timing, unless otherwise indicated.
10094] Certain adaptations and modifications of the described embodiments can be made.
Aspects that can be applied to various embodiments may have been described with respect to only a portion of those embodiments, for sake of clarity. However, it is to be understood that these aspects can be provided in or applied to other embodiments as well.
Therefore, the above discussed embodiments are considered to be illustrative and not restrictive.
Claims (20)
1. A method of providing voice telephony services to a mobile device, comprising:
receiving, at an application server, a notification of a call to involve a mobile device and to be carried on a voice channel;
sending to the mobile device, over a data channel, an authorization token that can be used to authenticate the mobile device to the application server;
receiving ANI information for a call incoming to a telephony system on a voice channel, the telephony system communicatively coupled with the application server;
determining whether the received ANI information matches to the mobile device identified in the notification, and responsively sending, on the voice channel, at least one acknowledgment DTMF tone indicating authorization to use an abbreviated authentication procedure comprising sending fewer DTMF tones than a number of tones in the authorization token; and provisioning a voice channel to the party to be called, for bridging with the voice channel for the call incoming to the telephony system.
receiving, at an application server, a notification of a call to involve a mobile device and to be carried on a voice channel;
sending to the mobile device, over a data channel, an authorization token that can be used to authenticate the mobile device to the application server;
receiving ANI information for a call incoming to a telephony system on a voice channel, the telephony system communicatively coupled with the application server;
determining whether the received ANI information matches to the mobile device identified in the notification, and responsively sending, on the voice channel, at least one acknowledgment DTMF tone indicating authorization to use an abbreviated authentication procedure comprising sending fewer DTMF tones than a number of tones in the authorization token; and provisioning a voice channel to the party to be called, for bridging with the voice channel for the call incoming to the telephony system.
2. The method of claim 1, further comprising, responsive to determining that the received ANI information does not match to the mobile device, indicating to the mobile device to provide the authorization token on the voice channel.
3. The method of claim 1, further comprising sending from the mobile device, on the data channel, a notification of initiation of a call to be carried on a voice channel, and wherein the authentication token is sent responsive to the notification by the server.
4. The method of claim 1, wherein the authentication of the mobile device and provisioning of the voice channel to the party to be called are performed concurrently.
5. The method of any one of claims 1-4, wherein the mobile device initiates the establishment of the voice channel by a call incoming from a pre-determined telephone number.
6. The method of any one of claims 1-3, wherein the acknowledgement DTMF tone comprises two or more DTMF tones, at least one of the two or more DTMF tones relating to whether the mobile device can support a data channel concurrently with a voice channel.
7. The method of any one of claims 1-3, wherein, if the acknowledgment tone is not received by the application server, then sending the authentication token as DTMF tones on the data channel.
8. The method of any one of claims 1-7, wherein the mobile device is capable of operating according to Global Systems for Mobile Communication standard for voice telephony signaling.
9. The method of any one of claims 1-8 wherein the application server may provision a voice channel to more than one party to be called concurrently.
10. The method of claim 1, further comprising implementation, by the application, of a usage restriction on the mobile device.
11. The method of claim 10, wherein the usage restriction denies the provision of a voice channel for a call incoming from an international source.
12. The method of claim 10, wherein the usage restriction denies the provision of a voice channel for a call incoming from a telemarketing source.
13. A tangible computer readable medium storing instructions for a programming at least one processor associated with a mobile device to perform a method comprising:
receiving, at an application server, a notification of a call to involve a mobile device and to be carried on a voice channel;
sending to the mobile device, over a data channel, an authorization token that can be used to authenticate the mobile device to the application server;
receiving ANI information for a call incoming to a telephony system on a voice channel, the telephony system communicatively coupled with the application server;
determining whether the received ANI information matches to the mobile device identified in the notification, and responsively sending, on the voice channel, at least one acknowledgment DTMF tone indicating authorization to use an abbreviated authentication procedure comprising sending fewer DTMF tones than a number of tones in the authorization token; and provisioning a voice channel to the party to be called, for bridging with the voice channel for the call incoming to the telephony system.
receiving, at an application server, a notification of a call to involve a mobile device and to be carried on a voice channel;
sending to the mobile device, over a data channel, an authorization token that can be used to authenticate the mobile device to the application server;
receiving ANI information for a call incoming to a telephony system on a voice channel, the telephony system communicatively coupled with the application server;
determining whether the received ANI information matches to the mobile device identified in the notification, and responsively sending, on the voice channel, at least one acknowledgment DTMF tone indicating authorization to use an abbreviated authentication procedure comprising sending fewer DTMF tones than a number of tones in the authorization token; and provisioning a voice channel to the party to be called, for bridging with the voice channel for the call incoming to the telephony system.
14. The tangible computer readable medium of claim 13, wherein the method further comprises:
responsive to determining that the received ANI information does not match to the mobile device, indicating to the mobile device to provide the authorization token on the voice channel.
responsive to determining that the received ANI information does not match to the mobile device, indicating to the mobile device to provide the authorization token on the voice channel.
15. The tangible computer readable medium of claim 13, wherein the method further comprises:
sending from the mobile device, on the data channel, a notification of initiation of a call to be carried on a voice channel;
and wherein the authentication token is sent responsive to the notification by the server.
sending from the mobile device, on the data channel, a notification of initiation of a call to be carried on a voice channel;
and wherein the authentication token is sent responsive to the notification by the server.
16. The tangible computer readable medium of claim 13, wherein the authentication of the mobile device and provisioning of the voice channel to the party to be called is performed concurrently.
17. The tangible computer readable medium of any one of claims 13-16, wherein the mobile device initiates the establishment of the voice channel by a call incoming from a pre-determined telephone number.
18. The tangible computer readable medium of any one of claims 13-15, wherein the acknowledgement DTMF tone comprises two or more DTMF tones, at least one of the two or more DTMF tones relating to whether the mobile device can support a data channel concurrently with a voice channel.
19. The tangible computer readable medium of any one of claims 13-15, wherein, if the acknowledgment tone is not received by the application server, then sending the authentication token as DTMF tones on the voice channel.
20. The tangible computer readable medium of any one of claims 13-19 wherein the application server is configured to provision a voice channel to more than one party to be called concurrently.
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US32809310P | 2010-04-26 | 2010-04-26 | |
US61/328,093 | 2010-04-26 | ||
US32855510P | 2010-04-27 | 2010-04-27 | |
US61/328,555 | 2010-04-27 | ||
CA2721894A CA2721894C (en) | 2010-04-26 | 2010-11-22 | Systems and methods of voice call setup involving mobile devices |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CA2721894A Division CA2721894C (en) | 2010-04-26 | 2010-11-22 | Systems and methods of voice call setup involving mobile devices |
Publications (2)
Publication Number | Publication Date |
---|---|
CA2808578A1 true CA2808578A1 (en) | 2011-10-26 |
CA2808578C CA2808578C (en) | 2016-01-26 |
Family
ID=48482810
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CA2808578A Active CA2808578C (en) | 2010-04-26 | 2010-11-22 | Systems and methods of voice call setup involving mobile devices |
Country Status (1)
Country | Link |
---|---|
CA (1) | CA2808578C (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114678012A (en) * | 2022-02-18 | 2022-06-28 | 青岛海尔科技有限公司 | Voice interaction data processing method and device, storage medium and electronic device |
-
2010
- 2010-11-22 CA CA2808578A patent/CA2808578C/en active Active
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114678012A (en) * | 2022-02-18 | 2022-06-28 | 青岛海尔科技有限公司 | Voice interaction data processing method and device, storage medium and electronic device |
Also Published As
Publication number | Publication date |
---|---|
CA2808578C (en) | 2016-01-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10498893B2 (en) | Guard timer to optimize E911 call handling | |
US8005070B2 (en) | Extension of a local area phone system to a wide area network with handoff features | |
US7742768B2 (en) | Extension of a local area phone system to a wide area network | |
US8744054B2 (en) | Method and system for automatic call redialing | |
US8660254B2 (en) | System and method for call management | |
US8180406B2 (en) | Systems and methods of synchronizing ring tone cycles and delivery of DTMF tones | |
US20070153768A1 (en) | Apparatus and method for cordless internet protocol | |
US20140179278A1 (en) | Systems and methods of voice call setup involving mobile devices | |
EP2355474B1 (en) | Transfer of telephony functions associated with a wireless handheld telephony device to another telephony device | |
CA2725507A1 (en) | System and method for transferring telephony functions associated with a wireless handheld telephony device | |
US8428647B2 (en) | Verifying and identifying incoming PBX calls on mobile devices | |
WO2010108425A1 (en) | Method and apparatus for providing ip voice exchanger service | |
CA2808578C (en) | Systems and methods of voice call setup involving mobile devices | |
EP2381668B1 (en) | Systems and methods of timing DTMF tones for telephony control | |
CA2722550C (en) | Verifying and identifying incoming pbx calls on mobile devices | |
CA2694529C (en) | Systems and methods for facilitating push-to-talk (ptt) communications using sip-based messaging |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
EEER | Examination request |
Effective date: 20130226 |