Various features of the embodiments can be more fully appreciated, as the same become better understood with reference to the following detailed description of the embodiments when considered in connection with the accompanying figures, in which:
For simplicity and illustrative purposes, the principles of the present invention are described by referring mainly to exemplary embodiments thereof. However, one of ordinary skill in the art would readily recognize that the same principles are equally applicable to, and can be implemented in, all types of mobile communication systems, and that any such variations do not depart from the true spirit and scope of the present invention. Moreover, in the following detailed description, references are made to the accompanying figures, which illustrate specific embodiments. Electrical, mechanical, logical and structural changes may be made to the embodiments without departing from the spirit and scope of the present invention. The following detailed description is, therefore, not to be taken in a limiting sense and the scope of the present invention is defined by the appended claims and their equivalents.
Various embodiments generally relate to systems and methods for providing shared lines feature for voice over internet protocol (VoIP) systems. For these embodiments, a shared line feature in PSTN may be described as the situation where a PSTN telephone user may be engaged in a call with an outside user and a second PSTN telephone as an extension goes off-hook to join the existing call.
Accordingly, embodiments generally pertain to systems and methods of implementing a shared line feature for voice-over-Internet-Protocol (VoIP). More specifically, a communication system may include a network access point (NAP), Internet, mobile communication system, and mobile terminals (MTs) with VoIP capabilities. The NAP may be located in a site. The NAP may be accessible to PSTN telephones as well as to MTs that are within the confines of the site. The NAP may connect to other mobile communication systems, landline communication systems and/or data network systems.
A shared line module executing on a mobile terminal may be configured to implement the shared line feature within a site serviced by a NAP. More specifically, embodiments of the shared line module may be configured to detect whether the MT is within a site (or internal), i.e., within range of the NAP. If MT is within the site (an internal MT), the shared line module may be configured to route VoIP calls to/from the site through the NAP. For outgoing calls, the internal MT may call an external mobile terminal that is located outside of the site. Since the internal MT is within the site, the internal MT connects with the NAP over a VoIP connection. The NAP, in turn, may connect with the external MT over a second VoIP connection. Similarly, when the external MT attempts to call the internal MT, the internal MT knowing that is within the site may redirect the incoming call to the NAP. The NAP may be configured to connect with the external user over a first VoIP connection. The NAP then calls the internal MT and forms a second VoIP connection. In either case, the NAP has placed itself between the two MTs and functions as a back-to-back user agent (B2BUA).
A second internal MT may seamlessly join the existing call between the first internal and external MTs. More specifically, since the shared line module of the second internal MT has determined that it is within the site, the shared line module of the second internal MT has set the default for the send key for the NAP. Accordingly, the second internal MT may join the existing conversation by calling pressing a send key (or a soft key for the purpose of joining the conversation, some other key, a combination of keys, or other pre-defined user input), which calls the NAP. The NAP may be configured to conference all three MTs once the connection to the NAP and the second internal mobile user is established.
A PSTN telephone may also participate in the shared line features of this VoIP system. More particularly, the PSTN may be interfaced with the NAP through an analog telephone connector (ATA). When a user of the PSTN goes off-hook, the ATA calls the NAP and forms a VoIP connection. The NAP may then conference the PSTN user with the existing conversation.
Other embodiments include a privacy button. More particularly, one of the MTs may be engaged to invoke a privacy button. The activation of the privacy button configures the NAP not to accept any calls from within the site. Accordingly, any MTs or landline telephones within the site could not join the existing call.
As shown in
Processor 110 may be configured to interface with the shared bus 130. The processor 110 may be configured to implement the software that embodies the functionality of the mobile terminal 100, which may be stored in random access memory 135 (labeled as RAM in
Storage 125 may be configured to store information for a user of the mobile terminal 100. For example, a contact list, downloaded music, digital images maybe stored in storage 125. The storage 125 may be implemented using a persistent storage such as flash memory. In some embodiments, the storage function of the RAM 135 may be provided by storage 125.
User interface 115 may be configured to interface with the shared bus 130. The user interface 115 may also be configured to facilitate interaction with a user. As such, the user interface 115 may include media input and output mechanisms. For example, to facilitate voice communications, these mechanisms may include a microphone (not shown) for receiving analog speech signals from a user and a speaker (not shown) for playing out analog speech signals to a user. Further, the mobile terminal 100 may include digital/analog media signals and digital representations of those signals, for example, soft button on a keyless display.
The user interface 115 may also include a keypad 150 shown in
The keypad 150 may also include two programmable keys 165, 170 may be configured to interface with programmable fields 175, 180 respectively, on the LCD display 120. More specifically, the mobile terminal (MT) 100 may be configured with various functions such as video capture, image capture, contact manager, text messaging, music playing, etc. For example, the default dialing application executing on the MT 100, programmable field 175 may display the text “DELETE” to allow the user to delete one character by activating programmable key 165. In some embodiments, the keypad 150 may be emulated on the display 120 and may also be a QWERTY keyboard or other keyboard layout.
Returning to
The shared line module 140 may be configured to implement the shared line feature in conjunction with a NAP 200, which is illustrated in
A second internal MT may seamlessly join the existing the call between the first internal and external MTs. More specifically, since the shared line module 140 of the second internal MT has determined that it is within the site, the shared line module 140 of the second internal MT has set the default phone number for the send key as the NAP 200. Accordingly, the second internal MT may join the existing conversation by calling pressing a SEND key (e.g., see 155 of
A PSTN telephone may also participate in the shared line features of this VoIP system. More particularly, the PSTN telephone may be interfaced with the NAP 200 through an analog telephone connector (ATA). When a user of the PSTN telephone goes off-hook, the ATA and the NAP 200 forms a VoIP connection. The NAP 200 may then conference the PSTN user with the existing conversation.
As shown in
The wireless interface 215 may be configured to detect for MT terminals to route VoIP or other type of SIP services through the NAP 200. The wireless interface 215 may be configured to have a limited range within a location, i.e., a home, an office, etc. The wireless interface 215 may convert wireless voice/command packets from MT 100 into wired voice/command/data packets for the NAP 200 and convert voice/command/data packets from NAP 200 into wireless voice/command/data packets to the MT 100.
The network interface 220 may be configured to connect the NAP 200 to a data network (not shown). The data network may be a local area network, a wide area network, the Internet or a combination thereof. The network interface 220 may provide a mechanism for two-way traffic of voice/command/data packets between the MTs within the coverage zone of the NAP 200 and another party on the data network.
The shared bus 225 may provide a communication channel for the voice/command/data packets for the wireless interface 215 and network interface 220. The processor 205 may provide processing of packets with regard to address or formatting to the appropriate network protocol.
The NAP 200 may also include a B2BUA module 235 (labeled as B2BUA in
In various embodiments, the B2BUA module 235 may be configured to implement a VoIP shared line feature that mimics the PSTN line sharing and connect calls (or sessions) between mobile terminals, as illustrated by the call flow 300 shown in
In step 320, the B2BUA module 235 of the NAP 200 may process the received first INVITE message and transmit a second INVITE message to the external MT 310, which includes the address (e.g., external@provider.net) of the external MT 310 and a second CID to establish a second VoIP session between the NAP 200 and the external MT 310, in step 325. In effect, the B2BUA module 235 may be maintaining two different sessions for the call between the internal MT 305 and the external MT 310.
In step 325, the external MT 310 receives the second INVITE message from the NAP 200 and responds with RESPONSE message acknowledging the received INVITE message in continuing to establish the second session identified by the second CID.
The NAP 200 receives the RESPONSE message and is processed by the B2BUA module 235. In step 330, the B2BUA module 235 may issue a second RESPONSE message that acknowledges the first INVITE message from the internal MT 305 to continue establishing the first session identified by first CID.
In step 335, the internal MT 305 may transmit an Acknowledgement message (“ACK” in
As shown in
The internal MT 305 may receive the INVITE message and be processed by the shared line module 140 of the internal MT 305. Since the internal MT 305 knows its status as being “internal,” the shared line module 140 of the internal MT 305 may transmit a REDIRECT message back to the external MT 310, in step 354. The REDIRECT message contains the address of the internal MT 305 through the NAP 200 (e.g., internal@NAP.home.net). The REDIRECT message indicates to the external MT 310 to call the NAP 200 to reach the internal MT 305.
The external MT 305 receives the REDIRECT message and responds with an ACK message acknowledging the REDIRECT message, in step 356, and terminates the potential session identified by the first CID. In step 358, the external MT 310 transmits a second INVITE message that identifies the NAP 200 (e.g., internal@NAP.home.net) and a second CID to the NAP 200 to establish a session between the external MT 310 and the NAP 200. The B2BUA module 235 of the NAP 200 may process the second INVITE message and transmit a third INVITE message that identifies the internal MT (e.g., internal@home.net) and a third CID to establish a second session between the NAP 200 and the internal MT 305, in step 360.
The internal MT 305 may respond to the third INVITE message with a first RESPONSE message that accepts the third INVITE message to the NAP 200 to establish the second session identified by the third CID, in step 362. The B2BUA module may process the received first RESPONSE message from the internal MT 305 and transmit a second RESPONSE message to the external MT 310 that accepts the second INVITE message to continue establishing the first session identified by the second CID, in step 364.
The external MT 310 may receive the second RESPONSE message and is processed by the B2BUA module 235. The external MT 310 may transmit a first ACK message in response to the received second RESPONSE message that establishes the first session identified by the second CID between the external MT 310 and the NAP 200, in step 368. In turn, the B2BUA module 235 of the NAP 200 may transmit a second ACK message to the internal MT 305 that acknowledges the establishment of the second session identified by the third CID, in step 368. Accordingly, the B2BUA 235 of the NAP 200 may manage the RTP packets flow between the internal MT 305 and the NAP 200 as well as between the NAP 200 and the external MT 305 as two separate calls, in step 370.
As shown in
Each access cell may include an enhanced base transceiver station 420 (labeled as “EBTS”). The EBTS 420 may be configured to transmit and receive voice packets from mobile terminals 100 within the coverage area of the EBTS 420. The EBTS 420 may also include a service integration module (not shown) that is configured to determine the current state of each mobile terminal in the coverage area of the EBTS 420.
The EBTS 420 may interface with an interconnect call module 425 and a SIP call module 430. The interconnect call module 425 may include a base site controller (labeled as BSC) 435 coupled with a mobile switching center (labeled as MSC) 440 for handling cellular and circuit switched calls. The MSC 435 may also be interfaced with a home location and visitor location registers (not shown) for providing mobility management as known in the art. The BSC 440 can provide control and concentration functions for one or more EBTS sites and their associated mobile terminals 100.
The SIP call module 430 may include a Serving GPRS Support Node (labeled as SGSN) 445 interfaced with a home subscriber server (“HSS”) 450 for processing SIP calls and packet data. The HSS 450 may also be interfaced with home location and visitor location registers (not shown) for providing mobility management as known in the art. The HSS 450 may also be referred to as VLR or HLR. In the case of packet data, the SGSN 445 can route such packet data via a GPRS Gateway Support Node (labeled as GGSN) 455 to the IP network 415 through a second SIP/media gateway 460.
System 100 may further include a domain name server (labeled DNS) 465 and a SIP server 470. The DNS 465 may be configured to provide DNS services as known to those skilled in the art. The SIP server 470 may be configured to provide the call services for SIP-based calls between the mobile terminals 100.
The system 400 may also include an internal zone 475 interface with data network. The internal zone 475 may be a home, an office, or other similar entity. The internal zone 475 may be defined as the coverage area of the NAP 200. For MTs 100 within the internal zone 475, these mobile terminals may be referred to as internal MTs. Each internal MT may be configured to initiate and receive VoIP calls through the NAP 200. However, if the NAP 200 is managing a VoIP call, the other internal MT may dial directly to a destination or join the existing VoIP call. The NAP 200 may also interface with a data network 480.
The data network 480 may be local area network, wide area network or combination thereof. The data network 480 may be maintained by a third party providing Internet services to the internal zone 475. The data network 480 may also be configured to interface with the IP network 415.
Generally, sequence 505 illustrates the call flow for a second internal MT2, to join existing calls between internal MT1 and an external MT through the NAP 200. The on-going calls between internal MT1 and the external MT may have established VoIP connections through the NAP 200 in accordance with the call flows described with respect to either
The B2BUA module 235 of the NAP 200 may transmit a LINEACTIVE message to the other internal MTs (e.g., internal MT2501) in the internal zone 475, in step 515. More particularly, once the B2BUA module 235 of the NAP 200 has established both session, i.e., the call between the internal MT1 and the NAP 200 and the call between the NAP 200 and the external MT 310, the B2BUA module 235 may issue this message. The LINEACTIVE message notifies the internal MT2501 that a call exists and may be joined.
Returning to
Sequence 525 generally illustrates the internal MT2501 joining existing calls between internal MT1305, the NAP 200, and the external MT 310. A user of internal MT2 may wish to join the existing calls established in step 510 by activating the SEND key 155 on the user interface 115 of the internal MT2501. The internal MT2501 may transmit an INVITE message to the NAP 200, in step 530. The INVITE message includes information such as the address of the NAP 200 (e.g., mynap@home.net) and a third CID, which indicates that a third VoIP connection or session is to be established between the internal MT2501 and the NAP 200.
In step 535, the B2BUA module 235 of the NAP 200 responds with a RESPONSE message which acknowledges the received INVITE message and the third CID to the internal MT2501 to continue establishing the third session. Subsequently, in step 540, the internal MT2501 transmits an ACK message to the NAP 200 acknowledging the establishment of the third VoIP session identified by the third CID. Accordingly, RTP packets may then flow between the internal MT2501, the NAP 200, the internal MT1305 and external MT 310 through three different VoIP sessions.
Sequence 545 generally depicts the internal MT 305 initiating a privacy mode for the call that comprises of the session between the internal MT1305 and the NAP 200 and the session between the NAP 200 and the external MT 310. The sessions may have been established in accordance with the call flows described with respect to either
A user of internal MT1 may wish to make the call to the external MT 310 private, i.e., prevent other internal mobile terminals (e.g., internal MT2501) to join the call. Accordingly, in some embodiments, the user of internal MT1 may enter a private mode by activating a privacy mode button on the user interface 115 of the internal MT1305. The shared line module 140 of the internal MT 305 may then transmit a PRIVATE CALL message to the NAP 200, in step 555. More specifically, the PRIVATE CALL message contains the address of the NAP 200 (“myNAP@home.net”) and a third CID. The third CID indicates to the B2BUA module 235 not to accept anymore additional calls to the existing calls.
In step 560, the B2BUA module 235 of the NAP 200 may issue a RESPONSE message acknowledging the received PRIVATE CALL message to the internal MT 305. Subsequently, the B2BUA module 235 may issue a LINEINACTIVE message to the internal MT2501. The LINEINACTIVE message indicates to the other internal mobile terminals within the coverage zone of the NAP 200 that the on-going calls cannot be shared, i.e., private. Accordingly, the internal mobile terminals which received the LINEINACTIVE message reset their “SEND” key and the display 120 (shown in
Sequence 575 generally illustrates a PSTN telephone joining on-going calls between internal MT1305 and external MT 310. In some embodiments, the PSTN telephone (labeled as PSTN EXT in
In step 585, the NAP 200 may respond with a RESPONSE message acknowledging the received INVITE message to continue establishing the fourth session to the PSTN telephone 503. Subsequently, in step 590, the PSTN telephone 503 transmits an ACK message acknowledging the received RESPONSE message. This establishes the fourth VoIP session between the PSTN telephone 503 and the NAP 200 and RTP packets may then flow between all the parties.
As shown in
If the status of the MT 100 is internal, the shared line module 140 may be configured to redirect the call from an external MT to the NAP 200 using a REDIRECT command from the SIP protocol, in step 615. In step 620, the shared line module 140 may transmit a message for the B2BUA module 235 to connect the internal MT 100 with the external MT as previously described with respect to
While in the VoIP session or call, the user may be configured to set a privacy mode, in step 630. The privacy mode as implemented by the shared line module 140 prevents other mobile terminals or PTSN telephones from joining the VoIP call between MT 100 and the external MT.
Returning to step 630 of
While in the private mode, a user may exit out of the private mode by activating the “DISABLE” key 170 as shown in
While in the on-going call or session, in step 625, a user may depress the END key 160, in step 655, which terminates the call.
As shown in
While in a session or conversation exists, at least four events may occur for the NAP: (a) one of the MTs may enable the privacy mode; (b) one of the MTs may disable the privacy mode; (c) another internal MT and/or PSTN telephone may join the on-going call; and (d) one of the MTs may terminate the session. It should be readily obvious to one skilled in the art that other events may occur such as placing a call on hold, sending a picture, etc., without departing from the scope and breadth of the embodiments.
In some embodiments, the VoIP call between an internal MT and an external MT may be configured to in an open mode, i.e., other internal MT may join the call. If one of the users of the MTs activates or enables the privacy mode, for example, activating the ENABLE key 170 in
In step 725, the NAP 200 may be configured to send a reset message to the other internal MTs within the coverage area of the NAP 200. More specifically, the reset message indicates to the MTs that they are to reset the “SEND” key 165 to their default, i.e., a user has to input a phone number for a call. The NAP 200 may then return to maintaining the on-going call of step 715.
While in the privacy mode for a VoIP call, one of the users may disable the privacy mode as described with respect to
In step 735, the NAP 200 may be configured to send another message that programs the “SEND” key 165 of the other internal MTs to default to the number/address of the NAP 200. Accordingly, the other internal MTs may seamlessly join the on-going call. Subsequently, the NAP may return the on-going call, in step 715.
The NAP 200 may also receive a request by a second internal MT or PSTN extension to join the on-going call, in step 740, as described with respect to
The NAP 200 may receive an indication that a call is ending, in step 750. More particularly, one of the users in the on-going call has depressed the “END” key 165. In step 755, the NAP 200 may be configured to send a reset message to the other internal MTs within the coverage area of the NAP 200. More specifically, the reset message indicates to the MTs that they are to reset the “SEND” key to their -default, i.e., a user has to input a phone number for a call. Subsequently, the NAP 200 may return to the idle state of step 705.
Certain embodiments may be performed as a computer program. The computer program may exist in a variety of forms both active and inactive. For example, the computer program can exist as software program(s) comprised of program instructions in source code, object code, executable code or other formats; firmware program(s); or hardware description language (HDL) files. Any of the above can be embodied on a computer readable medium, which include storage devices and signals, in compressed or uncompressed form. Exemplary computer readable storage devices include conventional computer system RAM (random access memory), ROM (read-only memory), EPROM (erasable, programmable ROM), EEPROM (electrically erasable, programmable ROM), and magnetic or optical disks or tapes. Exemplary computer readable signals, whether modulated using a carrier or not, are signals that a computer system hosting or running the present invention can be configured to access, including signals downloaded through the Internet or other networks. Concrete examples of the foregoing include distribution of executable software program(s) of the computer program on a CD-ROM or via Internet download. In a sense, the Internet itself, as an abstract entity, is a computer readable medium. The same is true of computer networks in general.
While the invention has been described with reference to the exemplary embodiments thereof, those skilled in the art will be able to make various modifications to the described embodiments without departing from the true spirit and scope. The terms and descriptions used herein are set forth by way of illustration only and are not meant as limitations. In particular, although the method has been described by examples, the steps of the method may be performed in a different order than illustrated or simultaneously. Those skilled in the art will recognize that these and other variations are possible within the spirit and scope as defined in the following claims and their equivalents.