Communication method, electronic device and storage medium
Claim Score by NHIP
Abstract
Provided is a communication method of an electronic device, including executing a web browser, requesting registration in an IP multimedia core network subsystem (IMS) using a first client associated with the web browser, and displaying, in a part of the web browser using the first client, information associated with a network to which the electronic device is connected.

Term
10.2 yearsto projected expiry
Projected expiry 14 December 2036, counted from filing; an application has no term until it is granted.
- Priority
- Filed
- Published
- Today
- Projected expiry
20 claims: 3 independent, 17 dependent
- 1Broadest claimClaim Score 79, broad(NHIP)A communication method of an electronic device, the method comprising:executing a web browser;requesting registration in an internet protocol (IP) multimedia core network subsystem (IMS) using a first client associated with the web browser;anddisplaying information associated with a network to which the electronic device is connected, in a part of the web browser, using the first client.
- 11A non-transitory machine-readable storage medium that records a program for implementing a communication method of an electronic device, the method comprising:executing a web browser;requesting registration in an internet protocol (IP) multimedia core network subsystem (IMS) using a first client associated with the web browser;anddisplaying, in a part of the web browser, information associated with a network to which the electronic device is connected, using the first client.
- 12An electronic device, comprising:a display;a communication processor (CP) that is configured to communicate with an internet protocol (IP) multimedia core network subsystem (IMS) or 3rd generation partnership project(3GPP)/3rd generation partnership project 2(3GPP2) circuit switched (CS) network;anda controller that is configured to:execute a web browser;request registration in the IMS through the CP using the first client associated with the web browser;anddisplay, in a part of the web browser through the display, using the first client, information associated with the network to which the electronic device is connected.
Independent claims3
401 paragraphs in 5 sections, as filed
PRIORITY
This application claims priority under 35 U.S.C. §119(a) to Korean Application Serial No. 10-2014-0159043, which was filed in the Korean Intellectual Property Office on Nov. 14, 2014, the contents of which incorporated herein by reference.
BACKGROUND
1. Field of the Disclosure
The present disclosure relates to an electronic device and a method that provides web real-time communication (WebRTC) service.
2. Description of the Related Art
WebRTC) is a technology that provides voice calls, video chat, video telephone (VT) or video call, video conferencing, and file transfer through browser applications without the additional installation of a plug-in.
WebRTC enables a voice/video call between terminals through a web browser that conforms to the standard established by W<b>3</b>C. A terminal downloads a web application that is written in Javascript and HTML5 from a web server, executes the web application, executes signaling to establish a call through a web server, and may exchange voice/video media packets between terminals through an RTP packet.
To enable the voice/video call between terminals by connecting to an existing mobile communication network through a web browser, there is a need for a method in which the web browser may access a subscriber identity module (SIM) end that has such information as mobile communication network subscriber information and authentication information.
A web application for web-based communication may be executed in a sandbox environment according to the characteristics of a web browser that considers security to be vital, and the access to user personal information, file systems, or physical resources of a communication device is strictly prohibited. Therefore, in WebRTC, the application programming interface (API) for an existing voice call through a circuit network is not standardized, and a voice/video call using an existing communication network may not be provided.
Furthermore, a call through a web browser may not be switched into a call through an existing network, or vice versa.
As such, there is a need in the art for a method by which a voice/video call function of an existing network may be used in a web browser.
SUMMARY
The present disclosure has been made to address the above-mentioned problems and disadvantages, and to provide at least the advantages described below.
Accordingly, an aspect of embodiments of the present disclosure is to provide a voice/video call function of an existing mobile communication network that may be used in a web browser.
Another aspect of the present disclosure is to provide a method by which a WebRTC client registers in an existing IMS network and receives an IMS service by providing a web browser with a SIM information acquisition API and a PDN connection API.
A further aspect of the present disclosure is to enable, by using a local web server and a local media gateway embedded in an electronic device, a WebRTC client to execute a voice/video call through a 3<sup>rd </sup>generation partnership project (3GPP/3GPP2) circuit switched (CS) network without separate support for WebRTC in a mobile communication network.
Another aspect of the present disclosure is to enable a WebRTC client to support a single radio voice call continuity (SRVCC) function.
Another aspect of the present disclosure is to provide a rich service that does not require a user to disconnect a call, by enabling switching between a web application (web app) and a native application (native app).
According to an aspect of the present disclosure, a communication method of an electronic device includes executing a web browser, requesting registration in an internet protocol (IP) multimedia core network subsystem (IMS) using a first client associated with the web browser, and displaying information associated with a network to which the electronic device is connected, in a part of the web browser, using the first client.
According to another aspect of the present disclosure, an electronic device includes a display, a communication processor (CP) that is configured to communicate with an IMS or 3rd generation partnership project(3GPP)/3rd generation partnership project 2(3GPP2) circuit switched (CS) network, and a controller that is configured to execute a web browser, request registration in the IMS through the CP using the first client associated with the web browser, and display, in a part of the web browser through the display, using the first client, information associated with the network to which the electronic device is connected.
According to another aspect of the present disclosure, disclosed is a non-transitory machine-readable storage medium that records a program for implementing a communication method of an electronic device, wherein the method includes executing a web browser, requesting registration in an IMS using a first client associated with the web browser, and displaying, in a part of the web browser, information associated with a network to which the electronic device is connected, using the first client.
BRIEF DESCRIPTION OF THE DRAWINGS
The above and other aspects, features, and advantages of the present disclosure will be more apparent from the following detailed description taken in conjunction with the accompanying drawings, in which:
<figref idrefs="DRAWINGS">FIG. 1</figref> illustrates a network environment containing an electronic device according to embodiments of the present disclosure;
<figref idrefs="DRAWINGS">FIG. 2</figref> illustrates a program module according to embodiments of the present disclosure;
<figref idrefs="DRAWINGS">FIG. 3</figref> illustrates a communication control module of an electronic device according to embodiments of the present disclosure;
<figref idrefs="DRAWINGS">FIG. 4</figref> illustrates a module system of an electronic device according to embodiments of the present disclosure;
<figref idrefs="DRAWINGS">FIG. 5</figref> illustrates a communication method of an electronic device according to embodiments of the present disclosure;
<figref idrefs="DRAWINGS">FIGS. 6A, 6B, 7A and 7B</figref> illustrate a communication method of an electronic device;
<figref idrefs="DRAWINGS">FIGS. 8A and 8B</figref> illustrate a communication method of an electronic device according to embodiments of the present disclosure;
<figref idrefs="DRAWINGS">FIGS. 9, 10, 11, 12A and 12B, 13, and 14A and 14B</figref> illustrate communication methods of an electronic device according to embodiments of the present disclosure;
<figref idrefs="DRAWINGS">FIGS. 15 and 16</figref> illustrate examples of a WebRTC screen according to embodiments of the present disclosure; and
<figref idrefs="DRAWINGS">FIG. 17</figref> illustrates an electronic device according to embodiments of the present disclosure.
DETAILED DESCRIPTION OF EMBODIMENTS OF THE DISCLOSURE
Hereinafter, embodiments of the present disclosure will be described with reference to the accompanying drawings. However, it should be understood that there is no intent to limit the present disclosure to the particular forms disclosed herein; rather, the present disclosure should be construed to cover various modifications, equivalents, and/or alternatives of embodiments of the present disclosure. In describing the drawings, similar reference numerals may be used to designate similar constituent elements. A detailed description of related known configurations or functions incorporated herein will be omitted for the sake of clarity and conciseness.
In the present disclosure, the expression “have”, “may have”, “include” and “may include” refer to existence of a corresponding feature such as numerical value, function, operation, or components such as elements, and does not exclude existence of additional features.
In the present disclosure, the expressions “A or B”, “at least one of A or/and B”, and “one or more of A or/and B” may include all possible combinations of the items listed. For example, the expressions “A or B”, “at least one of A and B”, and “at least one of A or B” refer to all of (1) including at least one A, (2) including at least one B, and (3) including all of at least one A and at least one B.
The expressions “a first”, “a second”, “the first”, and “the second” used in embodiments of the present disclosure may modify various components regardless of the order and/or the importance but do not limit the corresponding components. The above expressions are used merely for the purpose of distinguishing an element from the other elements. For example, a first user device and a second user device indicate different user devices although both are user devices. For example, a first element may be termed a second element, and similarly, a second element may be termed a first element without departing from the scope of the present disclosure.
It should be understood that when a first element is referred to as being operatively or communicatively “connected,” or “coupled,” to a second element, the connection may be direct or a third element may be interposer between the first and second elements. In contrast, it may be understood that when a first element is referred to as being “directly connected,” or “directly coupled” to a second element), there is no element interposed between the first and second elements.
The expression “configured to” used in the present disclosure may be exchanged with, for example, “suitable for”, “having the capacity to”, “designed to”, “adapted to”, “made to”, or “capable of” according to the situation. The term “configured to” may not necessarily imply “specifically designed to” in hardware. Alternatively, in some situations, the expression “device configured to” may indicate that the device, together with other devices or components, “is able to”. For example, the phrase “processor adapted (or configured) to perform A, B, and C” may indicate a dedicated or embedded processor only for performing the corresponding operations or a generic-purpose processor such as central processing unit (CPU) or application processor (AP) that can perform the corresponding operations by executing one or more software programs stored in a memory device.
The terms used herein are merely for the purpose of describing particular embodiments and are not intended to limit the scope of other embodiments. As used herein, singular forms may include plural forms as well unless the context clearly indicates otherwise. Unless defined otherwise, all terms used herein, including technical and scientific terms, have the same meaning as those commonly understood by a person skilled in the art to which the present disclosure pertains. Such terms as those defined in a conventional dictionary are to be interpreted to have the meanings equal to the contextual meanings in the relevant field of the art, and are not to be interpreted to have ideal or excessively formal meanings unless clearly defined in the present disclosure. In some cases, even the term defined in the present disclosure should not be interpreted to exclude embodiments of the present disclosure.
For example, the electronic device may include at least one of a smartphone, a tablet personal computer (PC), a mobile phone, a video phone, an electronic book (e-book) reader, a desktop PC, a laptop PC, a netbook computer, a personal digital assistant (PDA), a portable multimedia player (PMP), a motion pictures experts group (MPEG) layer audio 3 (MP3) player, a mobile medical appliance, a camera, and a wearable device such as a head-mounted-device (HMD) including but not limited to electronic glasses, electronic clothes, an electronic bracelet, an electronic necklace, an electronic appcessory, electronic tattoos, and a smart watch.
According to some embodiments, the electronic device may be a smart home appliance including at least one of, for example, a television, a digital video disk (DVD) player, an audio, a refrigerator, an air conditioner, a vacuum cleaner, an oven, a microwave oven, a washing machine, an air cleaner, a set-top box, a home automation control panel, a security control panel, a TV box such as Samsung HomeSync™, Apple TV™, or Google TV™, a game console such as Xbox™ and PlayStation™, an electronic dictionary, an electronic key, a camcorder, and an electronic photo frame.
According to another embodiment, the electronic device may include at least one of various medical devices such as various portable medical measuring devices including, but not limited to a blood glucose monitoring device, a heart rate monitoring device, a blood pressure measuring device, and a body temperature measuring device, a magnetic resonance angiography (MRA) device, a magnetic resonance imaging (MRI) device, a computed tomography (CT) machine, and an ultrasonic machine, a navigation device, a global positioning system (GPS) receiver, an event data recorder (EDR), a flight data recorder (FDR), vehicle infotainment devices, an electronic devices for a ship such as a ship navigation device and a gyro-compass, avionics, security devices, an automotive head unit, a robot for home or industry, an automatic teller's machine (ATM), point of sales (POS) in a shop, or Internet of things (IoT) device such as a light bulb, various sensors, electric or gas meter, a sprinkler device, a fire alarm, a thermostat, a streetlamp, a toaster, a sporting goods, a hot water tank, a heater, or a boiler.
According to some embodiments, the electronic device may include at least one of a part of furniture or a building/structure, an electronic board, an electronic signature receiving device, a projector, and various types of measuring instruments such as a water meter, an electric meter, a gas meter, and a radio wave meter.
The electronic device according to embodiments of the present disclosure may be a combination of one or more of the aforementioned various devices, and may be a flexible device. The electronic device according to an embodiment of the present disclosure is not limited to the aforementioned devices, and may include a new electronic device according to the development of technology.
Hereinafter, an electronic device according to embodiments will be described with reference to the accompanying drawings. As used herein, the term “user” may indicate a person who uses an electronic device or a device such as an artificial intelligence electronic device) that uses an electronic device.
<figref idrefs="DRAWINGS">FIG. 1</figref> illustrates a network environment including an electronic device according to embodiments of the present disclosure.
Referring to <figref idrefs="DRAWINGS">FIG. 1</figref>, an electronic device <b>101</b> within a network environment <b>100</b> includes a bus <b>110</b>, a processor <b>120</b>, a memory <b>130</b>, an input/output interface <b>150</b>, a display <b>160</b>, a communication interface <b>170</b>, and a communication control module <b>180</b>. The electronic device <b>101</b> may omit at least one of the above components or further include additional components.
The bus <b>110</b> includes a circuit for connecting the components <b>120</b>, <b>130</b>, <b>150</b>, <b>160</b>, <b>170</b> and <b>180</b> and transmitting communication such as control messages and/or data between the components.
The processor <b>120</b> includes one or more of a central processing unit (CPU), an application processor (AP), and a communication processor (CP). The processor <b>120</b> controls, for example, one or more other components of the electronic device <b>101</b> and/or processes an operation or data related to communication. The processor <b>120</b> may be referred to as a controller, may include the controller as a part thereof, or may constitute the controller.
The memory <b>130</b> includes a volatile memory and/or a non-volatile memory. The memory <b>130</b> stores, for example, instructions or data related to at least one other component of the electronic device <b>101</b>. According to an embodiment, the memory <b>130</b> stores software and/or a program <b>140</b> that includes, for example, a kernel <b>141</b>, middleware <b>143</b>, an application programming interface (API) <b>145</b>, and applications <b>147</b>. At least some of the kernel <b>141</b>, the middleware <b>143</b>, and the API <b>145</b> may be referred to as an operating system (OS).
For example, the kernel <b>141</b> controls or manages system resources such as the bus <b>110</b>, the processor <b>120</b>, and the memory <b>130</b> which are used to execute an operation or a function implemented in the other programs such as the middleware <b>143</b>, the API <b>145</b>, and the applications <b>147</b>. The kernel <b>141</b> provides an interface through which the middleware <b>143</b>, the API <b>145</b>, or the application program <b>147</b> may access individual components of the electronic device <b>101</b> to control or manage system resources.
For example, the middleware <b>143</b> serves as a relay for allowing the API <b>145</b> or the application programs <b>147</b> to communicate with the kernel <b>141</b> to exchange data. In regard to task requests received from the application program <b>147</b>, the middleware <b>143</b> performs a control such as scheduling or load balancing for the task requests using, for example, a method of assigning at least one application a priority for using the system resources such as the bus <b>110</b>, the processor <b>120</b> or the memory <b>130</b>, of the electronic device <b>101</b>.
The API <b>145</b> is an interface by which the applications <b>147</b> control functions provided from the kernel <b>141</b> or the middleware <b>143</b>, and includes, for example, at least one interface or function such as instructions for file control, window control, image processing, or text control.
The input/output interface <b>150</b> serves as an interface which can transmit commands or data input from the user or another external device to other component(s) of the electronic device <b>101</b>, and outputs commands or data received from another component(s) of the electronic device <b>101</b> to the user or another external device.
The display <b>160</b> includes, for example, a liquid crystal display (LCD), a light emitting diode (LED) display, an organic light emitting diode (OLED) display, a micro electro mechanical system (MEMS) display, or an electronic paper display. For example, the display <b>160</b> displays various pieces of content such as text, images, videos, icons, and symbols to the user. The display <b>160</b> includes a touch screen and receives, for example, a touch input, a gesture input, a proximity input, or a hovering input using an electronic pen or a user's body part.
For example, the communication interface <b>170</b> establishes communication between the electronic device <b>101</b> and an external device such as a first electronic device <b>102</b>, a second electronic device <b>104</b>, or a server <b>106</b>. The communication interface <b>170</b> may be connected to a network <b>162</b> through wireless or wired communication to communicate with the external device, and includes a communication processor (CP) <b>172</b> that may be one of a plurality of modules constituting the communication interface <b>170</b>. In an embodiment of the present disclosure, the CP <b>172</b> may also be included in the processor <b>120</b>.
The wireless communication may, for example, use at least one of long term evolution (LTE), LTE-advanced (LTE-A), code division multiple access (CDMA), wideband CDMA (WCDMA), universal mobile telecommunication system (UMTS), wireless broadband (WiBro), and global system for mobile communications (GSM). The wired communication includes, for example, at least one of a universal serial bus (USB), a high definition multimedia interface (HDMI), recommended standard 232 (RS-232), and a plain old telephone service (POTS). The network <b>162</b> includes a telecommunication network, for example, at least one of a computer network such as local area network (LAN) or wideband area network (WAN), the Internet, a telephone network, an IP multimedia core network subsystem (IMS), a packet data network (PDN), and a 3GPP/3GPP2 CS network.
Each of the first and second external electronic devices <b>102</b> and <b>104</b> may be the same as or different from the electronic device <b>101</b>. According to an embodiment, the server <b>106</b> includes a group of one or more servers. According to embodiments, all or some of the operations performed by the electronic device <b>101</b> may be performed by another electronic device or a plurality of electronic devices such as the electronic device <b>102</b> or <b>104</b> or the server <b>106</b>. According to an embodiment, when the electronic device <b>101</b> performs some functions or services automatically or by request, the electronic device <b>101</b> may make a request for performing at least some of the functions related to the functions or services to another device such as the electronic device <b>102</b> or <b>104</b> or the server <b>106</b> instead of performing the functions or services by itself The other electronic device executes the requested function or the additional function and transfers the result, obtained by carrying out the function, to the electronic device <b>101</b>. The electronic device <b>101</b> provides the requested functions or services based on the received result as it is or after additionally processing the received result. To achieve this, for example, cloud computing, distributed computing, or client-server computing technology may be used.
According to an embodiment, the service providing module <b>180</b> supports driving of the electronic device <b>101</b> by performing at least one of the operations or functions implemented by the electronic device <b>101</b>. For example, the server <b>106</b> includes a communication control server module <b>108</b> capable of supporting the communication control module <b>180</b> implemented in the electronic device <b>101</b>, and the communication control server module <b>108</b> includes at least one component of the communication control module <b>180</b>, and performs, as a proxy, at least one of the operations performed by the communication control module <b>180</b>.
The communication control module <b>180</b> processes at least some of the information obtained from other components such as at least one of the processor <b>120</b>, the memory <b>130</b>, the input/output interface <b>150</b>, and the communication interface <b>170</b>, and utilizes the information in various manners. For example, the communication control module <b>180</b> controls at least some functions of the electronic device <b>101</b> by using the processor <b>120</b> or independently therefrom so that the electronic device <b>101</b> may interwork with other electronic devices such as the electronic device <b>104</b> or the server <b>106</b>. The communication control module <b>180</b> may be integrated into the processor <b>120</b> or the communication interface <b>170</b>. According to an embodiment, at least one component of the communication control module <b>180</b> may be included in the server <b>106</b> and receives at least one operation, which is performed by the communication control module <b>180</b>, from the server <b>106</b>. Additional information on the communication control module <b>180</b> is provided in <figref idrefs="DRAWINGS">FIG. 3</figref> described below.
<figref idrefs="DRAWINGS">FIG. 2</figref> is a block diagram <b>200</b> of a program module <b>210</b> according to embodiments of the present disclosure. According to an embodiment, the program module <b>210</b> includes an operating system (OS) for controlling resources related to the electronic device <b>101</b> and/or various applications <b>147</b> executed in the operating system. The operating system may be, for example, Android™, iOS, Windows™, Symbian, Tizen, or Bada.
The programming module <b>210</b> includes a kernel <b>220</b>, middleware <b>230</b>, an application programming interface (API) <b>260</b>, and/or an application <b>270</b>. At least some of the program module <b>210</b> may be preloaded in the electronic device or downloaded in a server.
The kernel <b>220</b> includes, for example, a system resource manager <b>221</b> and a device driver <b>223</b>. The system resource manager <b>221</b> controls, allocates, or collects the system resources. According to an embodiment, the system resource manager <b>221</b> includes a process manager, a memory manager, or a file system manager. The device driver <b>223</b> includes, for example, a display driver, a camera driver, a Bluetooth ® driver, a shared-memory driver, a universal serial bus (USB) driver, a keypad driver, a wireless fidelity WiFi driver, an audio driver, or an inter-process communication (IPC) driver.
The middleware <b>230</b> provides a function required by the applications <b>270</b> in common or provides various functions to the applications <b>270</b> through the API <b>270</b> so that the applications <b>260</b> may efficiently use limited system resources of the electronic device. According to an embodiment, the middleware <b>230</b> includes, for example, at least one of a runtime library <b>235</b>, an application manager <b>241</b>, a window manager <b>242</b>, a multimedia manager <b>243</b>, a resource manager <b>244</b>, a power manager <b>245</b>, a database manager <b>246</b>, a package manager <b>247</b>, a connectivity manager <b>248</b>, a notification manager <b>249</b>, a location manager <b>250</b>, a graphic manager <b>251</b>, and a security manager <b>252</b>.
The run time library <b>235</b> includes, for example, a library module that a compiler uses in order to add new functions through a programming language while the applications <b>270</b> are executed. The run time library <b>235</b> performs input/output management, memory management, or a function for an arithmetic function.
The application manager <b>241</b> manages, for example, a life cycle of at least one application among the applications <b>270</b>. The window manager <b>242</b> manages a graphical user interface (GUI) resource used in a screen. The multimedia manager <b>243</b> detects a format required for reproducing various media files and encodes or decodes a media file using a codec appropriate for the corresponding format. The resource manager <b>244</b> manages resources such as a source code, a memory or a storage space of at least one application among the applications <b>270</b>.
The power manager <b>245</b> operates together with, for example, a basic input/output system (BIOS), so as to manage a battery or power and provides power information required for the operation of the electronic device. The database manager <b>246</b> generates, searches for, or changes a database to be used by at least one of the applications <b>270</b>. The package manager <b>247</b> manages the installation or updating of applications distributed in the form of a package file.
For example, the connectivity manager <b>248</b> manages wireless connections, such as WiFi or Bluetooth®. The notification manager <b>249</b> displays or notifies an event such as a received message, an appointment, or a proximity notification to a user without disturbance. The location manager <b>250</b> manages location information of the electronic device. The graphic manager <b>251</b> manages graphic effects to be provided to a user and user interfaces related to the graphic effects. The security manager <b>252</b> provides various security functions required for system security or user authentication. According to an embodiment, when the electronic device has a call function, the middleware <b>230</b> may further include a telephony manager for managing a voice call function or a video call function of the electronic device.
The middleware <b>230</b> includes a middleware module for forming a combination of various functions of the aforementioned components. The middleware <b>230</b> provides a module specialized for each type of operating system in order to provide a differentiated function. In addition, a few existing components may be dynamically removed from the middleware <b>230</b>, or new components may be added to the middleware <b>230</b>.
The API <b>260</b>, which is a set of API programming functions, may be provided in a different configuration for each operating system. For example, in the case of Android™ or iOS, one API set may be provided for each platform. In the case of Tizen, two or more API sets may be provided for each platform.
The applications <b>270</b> include one or more applications of a home <b>271</b>, a diary <b>272</b>, a short message service/multimedia messaging service (SMS/MMS) <b>273</b>, instant message (IM) <b>274</b>, browser <b>275</b>, camera <b>276</b>, alarm <b>277</b>, contact information <b>278</b>, voice dial <b>279</b>, e-mail <b>280</b>, calendar <b>281</b>, media player <b>282</b>, album <b>283</b>, and clock <b>284</b> applications, as well as health care applications such as an application for measuring an amount of exercise or blood sugar, and an environmental information application such as an application for providing atmospheric pressure, humidity, or temperature information.
According to an embodiment, the applications <b>270</b> include an information exchange application for supporting information exchange between the electronic device and external electronic devices. The information exchange application includes, for example, a notification relay application for transmitting predetermined information to the external electronic device, or a device management application for managing the external electronic device.
For example, the notification relay application includes a function of transferring, to the external electronic device <b>102</b> or <b>104</b>, notification information generated from other applications of the electronic device <b>101</b> such as an SMS/MMS application, an e-mail application, a health management application, or an environmental information application. The notification relay application receives notification information from an external electronic device and provides the received notification information to a user. The device management application manages (such as installs, deletes, or updates) a function for at least a part of the external electronic device communicating with the electronic device, such as turning on/off all or part of the external electronic device or adjusting brightness or resolution of a display, applications executed in the external electronic device, or services provided from the external electronic device such as a telephone call service or a message service.
According to an embodiment, the applications <b>270</b> include a health management application designated according to attributes of the electronic device such as the type of electronic device which corresponds to a mobile medical device. According to an embodiment, the applications <b>270</b> include an application received from the external electronic device, and a preloaded application or a third party application which can be downloaded from the server. Names of the elements of the program module <b>210</b>, according to the above-described embodiments of the present disclosure, may change depending on the type of OS.
According to embodiments of the present disclosure, at least some of the program module <b>210</b> may be implemented in software, firmware, hardware, or a combination of two or more thereof. At least some of the programming module <b>210</b> may be implemented by, for example, the processor. At least some of the programming module <b>210</b> includes, for example, a module, program, routine, sets of instructions, or process for performing one or more functions.
<figref idrefs="DRAWINGS">FIG. 3</figref> is a block diagram <b>300</b> of the communication control module <b>180</b> of an electronic device according to embodiments of the present disclosure.
Referring to <figref idrefs="DRAWINGS">FIG. 3</figref>, the communication control module <b>180</b> includes at least a few, or all, of the components, which are a WebRTC IMS Client (WIC) <b>310</b> corresponding to a first client, a telephony module <b>320</b>, a user agent (UA) <b>340</b> corresponding to a user agent, a media proxy <b>350</b>, and a native IMS client (NIC) <b>360</b> corresponding to a second client. The communication control module <b>180</b> may be provided separately from a processor or a controller, or a part, or the entirety, of the communication control module <b>180</b> may be integrated into the processor or the controller.
The WIC <b>310</b>, according to embodiments of the present disclosure, is configured to provide a real time communication service such as web real-time communication (WebRTC) by controlling a web browser. The WIC <b>310</b> receives real time communication data from a partner device through an IMS PDN or 3GPP/3GPP2 CS network. The WIC <b>310</b> outputs the real time communication data using a web browser. The web browser is configured to access a web server or a website in order to download a webpage from the web server or the website, and to display the webpage.
For example, the web browser may be executed by a user input to communicate with a partner device or to execute an application such as a web browser, the WIC <b>310</b>, or a web application or automatic settings, and the screen of the web browser, or a screen that provides a WebRTC service, may be displayed on the display of the electronic device.
In a 3GPP/3GPP2 CS network such as a 3G network, WCDMA, or CDMA2000, a dedicated-communication circuit (or channel) is provided between two network nodes and the circuit may be maintained during a communication session. In a PDN such as LTE), data is transmitted by being divided into packets, and network links may be shared by the packets from a plurality of sessions. An IP Multimedia Core Network Subsystem (IMS) may: provide an interface with respect to the PDN and/or the 3GPP/3GPP2 CS network; include a part or the entirety of the PDN; or form a part of the PDN.
The IMS includes at least one of an eP-CSCF (Proxy-CSCF (Call Session Control Function) enhanced for WebRTC) that transmits a message or data received from an electronic device to an I-CSCF or an S-CSCF, an interrogating CSCF (I-CSCF) that executes routing a received message or data to an S-CSCF, a serving CSCF (S-CSCF) that registers an electronic device, executes routing a message received from a PDN or a 3GPP/3GPP2 CS network to an eP-CSCF (or an electronic device), executes routing a message received from an eP-CSCF (or an electronic device) to a PDN or a 3GPP/3GPP2 CS network, and an IMS access gateway enhanced for WebRTC (eIMS-AGW) that executes transcoding.
The web browser detects a user input, accesses a web server or a website that provides a WebRTC connection through a communication module such as the communication processor (CP) <b>172</b> or a WiFi module, and receives loading data for loading the WIC <b>310</b> from the web server. The controller or the web browser loads the WIC <b>310</b> onto the electronic device using the loading data. The WIC <b>310</b> may be loaded so as to interwork with the web browser, or may be loaded independently from the web browser.
The telephony module <b>320</b>, according to embodiments of the present disclosure, is configured to communicate with each of the WIC <b>310</b> and the CP.
According to an embodiment of the present disclosure, the WIC <b>310</b> executes a control using a first API so as to enable the telephony module <b>320</b> to request a PDN connection from the CP. In response to the request of the WIC <b>310</b>, the telephony module <b>320</b> requests a PDN connection from the CP. In response to the request of the telephony module <b>320</b>, the CP establishes the PDN connection. The WIC <b>310</b> receives information associated with the communication connection such as information associated with a device or a server in the PDN, from the CP through the telephony module <b>320</b>.
According to an embodiment of the present disclosure, the first API may be included in the web browser, which receives a request for using the first API from the WIC <b>310</b>, and displays a query associated with the use of the first API, or displays a screen part/area such as a message or a popup window including the query. The web browser receives a user input associated with the use of the first API, and may or may not execute an operation using the first API in response to the user input, such as grant or refusal. When an input indicating grant is received from the user, the web browser requests a communication connection between the electronic device and the PDN from the telephony module <b>320</b>.
According to an embodiment of the present disclosure, the communication connection between the electronic device and the PDN (or a device or a server in the PDN) includes a web socket connection. The WIC <b>310</b> transmits a message that requests a web socket connection to the eP-CSCF through the CP, and the WIC <b>310</b> receives a message including information associated with a web socket connection from the eP-CSCF.
According to an embodiment of the present disclosure, the WIC <b>310</b> requests, using a second API, the telephony module <b>320</b> to set a packet that is transmitted to a predetermined address to be transmitted using a predetermined PDN, such as a PDN that supports a web socket connection.
According to an embodiment of the present disclosure, the second API may be included in the web browser, which receives a request for using the second API from the WIC <b>310</b> and displays a query associated with the use of the second API, or displays a screen part/area that includes the query. The web browser receives a user input associated with the use of the second API, and may or may not execute an operation using the second API in response to the user input, such as grant or refusal. When an input indicating grant is received from the user, the web browser requests the telephony module <b>320</b> to set a packet that is transmitted to a predetermined address to be transmitted using a predetermined PDN.
According to an embodiment of the present disclosure, the WIC <b>310</b> is configured to request registering, in the IMS or the S-CSCF, subscriber identification information stored in the electronic device.
According to an embodiment of the present disclosure, the WIC <b>310</b> is configured to obtain subscriber identification information stored in a SIM of the electronic device, and to transmit a registration message or registration request message containing the subscriber identification information to the IMS or the S-CSCF.
The subscriber identification information includes at least one of an IP multimedia private identity (IMPI) and IP multimedia public identity (IMPU).
According to an embodiment of the present disclosure, the WIC <b>310</b> controls the telephony module <b>320</b> to request first subscriber identification information such as IMPU, from the CP, using a third API. In response to the request of the WIC <b>310</b>, the telephony module <b>320</b> requests the first subscriber identification information from the CP. In response to the request of the telephony module <b>320</b>, the CP obtains the first subscriber identification information stored in the SIM. The WIC <b>310</b> receives the first subscriber identification information from the CP through the telephony module <b>320</b>.
According to an embodiment of the present disclosure, the third API may be included in the web browser, which receives a request to use the third API from the WIC <b>310</b> and displays a query associated with the use of the third API, or displays a screen part/area that includes the query. The web browser receives a user input associated with the use of the third API, and may or may not execute an operation using the third API in response to the user input, such as grant or refusal). When an input indicating grant is received from the user, the web browser requests the first subscriber identification information from the telephony module <b>320</b>.
According to an embodiment of the present disclosure, the WIC <b>310</b> controls the telephony module <b>320</b> to request second subscriber identification information such as the IMPU from the CP using a fourth API. In response to the request of the WIC <b>310</b>, the telephony module <b>320</b> requests the second subscriber identification information from the CP. In response to the request of the telephony module <b>320</b>, the CP obtains the second subscriber identification information stored in the SIM. The WIC <b>310</b> receives the second subscriber identification information from the CP through the telephony module <b>320</b>.
According to an embodiment of the present disclosure, the fourth API may be included in the web browser, which receives a request for using the fourth API from the WIC <b>310</b> and displays a query associated with the use of the fourth API, or displays a screen part/area that includes the query. The web browser receives a user input associated with the use of the fourth API, and may or may not execute an operation using the fourth API in response to the user input, such as grant or refusal. When an input indicating grant is received from the user, the web browser requests the second subscriber identification information from the telephony module <b>320</b>.
According to an embodiment of the present disclosure, the WIC <b>310</b> generates a registration message containing subscriber identification information, and transmits the registration message to the IMS or the eP-CSCF through the CP. The eP-CSCF transmits the registration message to the S-CSCF.
According to an embodiment of the present disclosure, the WIC <b>310</b> receives, through the CP, a first message (or an authentication request message) that includes a first value for authentication, from the IMS or the eP-CSCF. The WIC <b>310</b> controls, using a fifth API, the telephony module <b>320</b> to request, from the CP, a second value (or authentication response value for the authentication request) which is generated based on the first value. In response to the request of the WIC <b>310</b>, the telephony module <b>320</b> requests the second value from the CP. In response to the request of the telephony module <b>320</b>, the CP transfers the first value to the SIM, and obtains the second value from the SIM. The WIC <b>310</b> receives the second value from the CP through the telephony module <b>320</b>. The WIC <b>310</b> generates a second message (or an authentication response message) including the second value, and transmits the second message to the IMS (or the eP-CSCF) through the CP. The WIC <b>310</b> receives, from the IMS (or the eP-CSCF) through the CP, a third message indicating whether the authentication is successfully executed.
According to an embodiment of the present disclosure, the fifth API may be included in the web browser, which receives a request to use the fifth API from the WIC <b>310</b> and displays a query associated with the use of the fifth API, or displays a screen part/area that includes the query. The web browser receives a user input associated with the use of the fifth API, and may or may not execute an operation using the fifth API in response to the user input, such as grant or refusal). When an input indicating grant is received from the user, the web browser requests the second value from the telephony module <b>320</b>.
According to an embodiment of the present disclosure, the WIC <b>310</b> displays information associated with the IMS, the PDN, or the 3GPP/3GPP2 CS network, on/in the web browser, another application or a screen part/area such as a message or a window. For example, the WIC <b>310</b> may periodically/aperiodically receive or request, from the CP or another communication module through the telephony module <b>320</b>, information associated with a currently connected network such as mobile country codes (MCCs), mobile network codes (MNCs), radio access technology (RAT), or received signal strength indication (RSSI), and/or characteristic information such as quality of service (QoS) or security level of a currently used channel or circuit. The WIC <b>310</b> displays the information associated with the network in the web browser. For example, the web browser displays an indication that a voice over LTE (VoLTE) call is currently executed through the PDN, that a packet communication is currently executed through the PDN, that a call is executed through a secure channel, that a network is switched between LTE and WiFi, that LTE and WiFi are simultaneously used, and that a charged/free network is used.
According to an embodiment of the present disclosure, the WIC <b>310</b> establishes a call connection between the electronic device and a partner device over the 3GPP/3GPP2 CS network, through the CP.
According to an embodiment of the present disclosure, the user agent (UA) <b>340</b> corresponding to a user agent is configured to communicate with each of the WIC <b>310</b> and the telephony module <b>320</b>.
According to an embodiment of the present disclosure, the WIC <b>310</b> receives a user input through the web browser, and is configured to control the UA <b>340</b> so as to enable the CP to establish a call connection between the electronic device and a partner device over the 3GPP/3GPP2 CS network.
According to an embodiment of the present disclosure, the WIC <b>310</b> registers in the UA <b>340</b> such as by generating a registration message and transmitting the registration message to the UA <b>340</b>. The WIC <b>310</b> transmits, to the UA <b>340</b>, a message such as an INVITE message that includes identification information such as a uniform resource identifier (URI) or a telephone number of the partner device. The UA <b>340</b> requests a call or a CS call to the partner device from the telephony module <b>320</b>, which requests a call to the partner device from the CP. The CP establishes a call connection between the electronic device and the partner device over the 3GPP/3GPP2 CS network.
A media proxy <b>350</b> that corresponds to a media converting module, according to embodiments of the present disclosure, is configured to communicate with each of the WIC <b>310</b> and the CP. The media proxy <b>350</b> is configured to convert the format of real time communication data received from the partner device or the CP into a format supported by the web browser. The media proxy <b>350</b> is configured to convert a format of real time communication data received from the web browser into a format supported by the 3GPP/3GPP2 CS network or the CP.
According to an embodiment of the present disclosure, the WIC <b>310</b> is configured to control the UA <b>340</b> so that the CP establishes a call connection between the electronic device and a partner device over the 3GPP/3GPP2 CS network. The media proxy <b>350</b> converts the format of real time communication data received from the partner device through the call connection and the CP into a format supported by the web browser.
According to an embodiment of the present disclosure, the media proxy <b>350</b> receives real time communication data such as pulse-code modulation (PCM) data from the CP, and converts the format of the real time communication data into a format such as a real-time transport protocol (RTP) supported by the web browser. The media proxy <b>350</b> transmits the real time communication data, of which the format is converted, to the WIC <b>310</b> or the web browser.
According to an embodiment of the present disclosure, the media proxy <b>350</b> receives RTP data from the WIC <b>310</b> or the web browser, and converts the format of the real time communication data into a format such as PCM supported by the CP or the 3GPP/3GPP2 CS network. The media proxy <b>350</b> transmits the real time communication data of which the format is converted, to the CP.
According to an embodiment of the present disclosure, the WIC <b>310</b> receives first real time communication data from a partner device through a PDN. The CP receives a signal indicating a handover, in response to which the WIC <b>310</b> receives second real time communication data from the partner device through the 3GPP/3GPP2 CS network. The media proxy <b>350</b> converts the format of the second real time communication data received through the 3GPP/3GPP2 CS network and the CP into a format supported by the web browser, and transmits, to the WIC <b>310</b>, the second real time communication data of which the format is converted.
According to an embodiment of the present disclosure, the CP receives first real time communication data through a PDN, during which time the CP receives a signal indicating a handover from the IMS or the PDN. In response to the signal indicating the handover, the CP receives second real time communication data through the 3GPP/3GPP2 CS network. The media proxy <b>350</b> converts the format of the second real time communication data received through the 3GPP/3GPP2 CS network into a format supported by the web browser. The media proxy <b>350</b> transmits the second real time communication data, of which the format is converted, to the WIC <b>310</b>.
An NIC <b>360</b> according to embodiments of the present disclosure is configured to provide a real time communication service by controlling a phone application.
According to an embodiment of the present disclosure, while real time communication is executed through the web browser, the WIC <b>310</b> receives a user input indicating the change of a user interface that provides a real time communication service, and replace the web browser with a phone application, in response to the user input. The WIC <b>310</b> controls the media proxy <b>350</b> to enable real time communication data received from the partner device to be output through the phone application.
According to an embodiment of the present disclosure, while executing real time communication through the web browser, the WIC <b>310</b> receives, through the web browser, a user input indicating the change of a user interface that provides a real time communication service,. In response to the user input, the WIC <b>310</b> controls the UA <b>340</b> so as to transmit a first message indicating the suspension of real time communication to the IMS through the CP. The UA <b>340</b> requests the media proxy <b>350</b> to communicate with the NIC <b>360</b>, instead of the WIC <b>310</b>. The UA <b>340</b> transmits a second message indicating the resumption of the real time communication to the IMS through the CP.
According to an embodiment of the present disclosure, the media proxy <b>350</b> receives first real time communication data from the CP. The media proxy <b>350</b> transmits the first real time communication data to the WIC <b>310</b>. While outputting the first real time communication data through the web browser, the WIC <b>310</b> receives, through the web browser, a user input indicating the change of a user interface that provides a real time communication service. The media proxy <b>350</b> receives second real time communication data from the CP. In response to the user input, the media proxy <b>350</b> transmits the second real time communication data to the NIC <b>360</b>, which outputs the second real time communication data through the phone application.
According to an embodiment of the present disclosure, the media proxy <b>350</b> receives first real time communication data from the CP, and transmits the first real time communication data to the WIC <b>310</b>. While outputting the first real time communication data through the web browser, the WIC <b>310</b> receives, through a web browser, a user input indicating the change of a user interface that provides a real time communication service. In response to the user input, the UA <b>340</b> transmits a first message indicating the suspension of real time communication to the IMS through the CP. The UA <b>340</b> requests the media proxy <b>350</b> to transmit real time communication data to the NIC <b>360</b>, and transmits a second message indicating the resumption of the real time communication to the IMS through the CP. The media proxy <b>350</b> receives second real time communication data from the CP, and transmits the second real time communication data to the NIC <b>360</b>, which outputs the second real time communication data through the phone application.
<figref idrefs="DRAWINGS">FIG. 4</figref> illustrates a module system of an electronic device according to embodiments of the present disclosure.
Referring to <figref idrefs="DRAWINGS">FIG. 4</figref>, a part of the module system <b>400</b> may be included in an area <b>401</b> controlled by a controller. The controller corresponds to an AP, or includes the AP as a part of the controller. A part of the module system <b>400</b> may be controlled by a CP.
The controller control area <b>401</b> includes at least one of a web browser <b>410</b>, a WebRTC module <b>420</b>, a WIC <b>430</b>, a web API <b>440</b>, a local web server <b>451</b>, a UA <b>452</b>, a media proxy <b>453</b>, a phone application <b>461</b>, a telephony module <b>462</b>, and an RIL <b>463</b>.
The module system <b>400</b> includes the modules in the controller control area <b>401</b>, a codec <b>470</b>, and a CP <b>402</b>. The codec <b>470</b> may be included in the CP <b>402</b>, or may be included in the controller control area <b>401</b>.
The web browser <b>410</b> includes a WebRTC module <b>420</b>, which includes a plurality of components/engines/layers/sub-modules. The WebRTC module <b>420</b> includes a WebRTC API <b>421</b>, a first session management/abstract signaling module <b>422</b>, a voice engine <b>423</b>, a video engine <b>424</b>, and a transport module <b>425</b>.
The web browser <b>410</b> reproduces, displays, and/or searches for information resources on the web. The web browser <b>410</b> includes and/or controls the WebRTC module <b>420</b>. The web browser <b>410</b> may be referred to as a browser application or a web browser application.
The WebRTC module <b>420</b> provides functions for providing a WebRTC service, and includes and/or controls the WebRTC API <b>421</b>, the session management/abstract signaling module <b>422</b>, the voice engine <b>423</b>, the video engine <b>424</b>, and the transport module <b>425</b>.
The WebRTC API <b>421</b> is an interface through which the WIC <b>430</b> controls functions provided by the WebRTC module <b>420</b>, and includes at least one interface or instruction for at least one of file control, window control, image processing, and text control.
The session management/abstract signaling module <b>422</b> performs a session related function such as the generation, connection, or management of a session. The session may be provided for semi-permanent interactive information interchange between the electronic device and a partner device, and each of the electronic device and the partner device stores session information associated with the history of the session for communication. The session information includes at least one of a unique session identifier and user preferences. The abstract signaling refers to transmission or reception of session information, and the session information in the abstract signaling includes at least one of a supported format, a target of transmission, and connection/network information.
The voice engine <b>423</b> executes a function as a framework for the transmission of audio media to a network from an audio module such as a sound card, in the electronic device. The voice engine <b>423</b> includes and controls at least one of an iSAC/iLBC/Opus codec, a voice NetEQ buffer, an EC/NR module, and an audio capture/render module, for example.
The iSAC/iLBC/Opus codec includes an Internet speech audio codec (iSAC), an Internet low bitrate codec (iLBC), and an opus codec. The iSAC codec is a wideband or ultra-wideband codec for voice over Internet protocol (VoIP) and streaming audio, provides a bitrate of 12 to 52 kbps, and uses a sampling frequency of 16 kHz or 32 kHz. The iLBC codec is a narrowband codec for a VoIP and streaming audio signal, provides a bitrate of 15.2 kbps or 13.33 kbps, and uses a sampling frequency of 8 kHz. The Opus codec supports a fixed or variable bitrate encoding of 6 kbps to 510 kbps, and uses a sampling frequency of 8 kHz to 48 kHz.
The voice network equalization (NetEQ) buffer is an audio jigger buffer or dynamic jitter buffer, and supports an error concealment algorithm for correcting a network jitter and a packet loss.
The echo cancellation/noise reduction (EC/NR) module is a signal processing component based on software, and removes the sound echo of a voice input into a microphone in real time. The EC/NR module removes particular types of background noise.
The audio capture/renderer module performs a function of receiving a voice using the microphone or outputting a voice using a speaker.
The video engine <b>424</b> performs a function as a framework for video media transport from a camera to a network, or from a network to a display. The video engine <b>424</b> includes and controls at least one of a VP8 codec, a video jitter buffer, an image enhancement module, and a video capture module, for example.
The VP8 codec executes encoding or decoding an input video.
The video jitter buffer performs a function of correcting a jitter effect and/or data loss during transmission/reception.
The image enhancement module executes a function of removing noise included in a video captured by a camera.
The video capture module executes a function of capturing a video using the camera.
The transport module <b>425</b> executes a function of communicating with a network, and is a layer that provides a point-to-point or host-to-host communication service for applications in a hierarchical structure of network components and protocols. The transport module <b>425</b> includes and/or controls at least one of a secure RTP (SRTP) module, a multiplexing module, a point-to-point (P2P) Session Traversal Utilities for Network Address Translation (NAT) (STUN), Traversal Using Relay NAT (TURN), or Interactive Connectivity Establishment (ICE) (STUN/TURN/ICE) module, and a network input/output (I/O) module, for example.
The SRTP module executes a function of providing communication using RTP and a function of providing communication using an SRTP that encodes data, authenticates a message, and provides integrity.
The multiplexing module collects data for configuring a message, and generates a message by assembling the collected data and a header.
The P2P STUN/TURN/ICE module establishes a communication connection between the electronic device and an external device using STUN/TURN/ICE.
The network I/O module executes a function of processing the data/message/packet/frame, which is output to a network, and the data/message/packet/frame, which is input from the network.
The WIC <b>430</b> is a web-based application that provides a WebRTC service, and provides real time communication services, such as a voice call, a video chat, or file transmission using or controlling the web browser <b>410</b> and/or the WebRTC module <b>420</b>. The WIC <b>430</b> may be integrated into the web browser <b>410</b>.
The web API <b>440</b> includes APIs used when the WIC <b>430</b> controls the telephony module <b>462</b> through the web browser <b>410</b>, and the web API <b>440</b> includes a connection API <b>441</b> for a PDN connection or a web socket connection, and a SIM API <b>442</b> for obtaining information from a SIM.
For example, the connection API <b>441</b> includes first and second APIs and the SIM API <b>442</b> includes third to fifth APIs. The connection API <b>441</b> further includes a sixth API.
According to an embodiment of the present disclosure, the sixth API may be included in the web browser <b>410</b>, which receives a request for using the sixth API from the WIC <b>430</b> and displays a query associated with the use of the sixth API, or displays a screen part/area that includes the query. The web browser <b>410</b> receives a user input associated with the use of the sixth API, and may or may not execute an operation using the sixth API in response to the user input, such as grant or refusal.
For example, the sixth API may be defined as a function or an instruction named “navigator.connection.stopUsingNetworkFeature( )” the web browser <b>410</b> receives information associated with a type of PDN from the WIC <b>430</b> that uses the sixth API, as a parameter of the function or the instruction, and the web browser <b>410</b> requests the telephony module <b>462</b> to terminate the corresponding PDN connection.
The local web server <b>451</b> provides loading data for loading the WIC <b>310</b>. The local web server <b>451</b> and the WIC <b>310</b> execute communication using hyper text transport protocol (HTTP). The local web server <b>451</b> includes a web application for the communication with the UA <b>452</b>.
The UA <b>452</b> is configured to communicate with each of the WIC <b>430</b>, the telephony module <b>462</b>, the media proxy <b>453</b>, and the CP <b>402</b>, and controls the telephony module <b>462</b> for the connection/release of a call through the 3GPP/3GPP2 CS network, controls the media proxy <b>453</b> for connecting a call through a PDN and the 3GPP/3GPP2 CS network, and controls the CP <b>402</b> for transmitting a registration message. The UA <b>452</b> and the WIC <b>430</b> execute communication using a session initiation protocol (SIP) or a web socket. The UA <b>452</b> interprets an SIP packet received from the WIC <b>430</b> or a signaling packet of other schemes, calls an appropriate telephony API, transfers an event from the telephony module <b>462</b> to the WIC <b>430</b> through a SIP/web socket, and enables a call to be smoothly established/released.
The media proxy <b>453</b> is configured to communicate with each of the WIC <b>430</b> and the CP <b>402</b>. The media proxy <b>453</b> executes a function of changing the format of the communication data. The media proxy <b>453</b> and the web browser <b>410</b> execute communication using an RTP. The media proxy <b>453</b> and the CP <b>402</b> execute communication of adaptive multi-rate (AMR) or pulse-code modulation (PCM) data. The media proxy <b>453</b> extracts media data from an RTP packet received from the web browser <b>410</b>, transfers the media data to the codec <b>470</b> and/or the CP <b>402</b>, processes the received media data into an RTP packet and transfers the RTP packet to the web browser <b>410</b>.
The phone application <b>461</b> is provided to the electronic device, and executes such functions as providing a voice call and a video call. The phone application <b>461</b> provides an application screen, and receives a communication-related input from a user using the application screen.
The telephone module <b>462</b> generates a message associated with a user input. The message has a configuration or a format, type, or protocol which may be interpreted by the CP <b>402</b>, and the configuration may be, for example, an attention command (AC), inter-process communication (IPC), a Qualcomm mobile station modem (MSM) interface (QMI), or an SIP. The message includes identification information of a partner device or receiver information such as a phone number).
The RIL <b>463</b> provides an interface between the telephony module <b>461</b> and the CP <b>402</b>. The RIL <b>463</b> includes an RIL driver, which processes a call-related instruction and event, and an RIL proxy that processes or manages a request of the telephony module <b>461</b> with respect to the RIL driver.
The codec <b>470</b> may be included in the CP <b>402</b>, and executes the conversion between PCM data and AMR data.
The CP <b>402</b> transmits or receives data, signals, or messages through a network, and establishes a call connection, for example.
<figref idrefs="DRAWINGS">FIG. 5</figref> illustrates a communication method of an electronic device according to embodiments of the present disclosure. <figref idrefs="DRAWINGS">FIGS. 6A, 6B, 7A and 7B</figref> illustrate a communication method of an electronic device. In step <b>510</b>, a controller of an electronic device executes a web browser based on a user input or automatic settings. The user input may be a hovering gesture of a user, a touch gesture, a line of vision of the user, a motion gesture of the user, or a voice command, for example.
According to an embodiment of the present disclosure, the web browser is executed in response to the user selection or based on automatic settings, and a screen of the web browser is displayed on a display that is functionally connected to the electronic device. The screen of the application, such as a web browser, may be referred to as a GUI, an application screen, or an application window, for example. The web browser is a default application that is installed in an electronic device by the manufacturer of the electronic device, or is installed by a user. The screen corresponds to an image shown through the display when the application is executed.
Alternatively, when the web browser is executed and the web browser screen is displayed, a menu or item of the web browser is selected by a user or text may be input, and a screen providing a WebRTC service is displayed on the display that is functionally connected with the electronic device in response to the selection of the menu or item or the text input.
According to an embodiment of the present disclosure, a web application is executed in response to a user selection or is executed based on automatic settings, the web browser is automatically executed by a control of the web application, and a screen that provides a WebRTC service is displayed on the display.
Alternatively, when the web application is executed, a menu or an item of the web application is selected by the user or text is input, the web browser is executed in response to the selection of the menu or item, or the text input, and a screen that provides a WebRTC service is displayed on the display.
When the web application is executed by a user input, the user input is received through an input/output interface, a sensor module, a communication interface, or a display. A user selects a button, an icon, or a menu item through an input/output interface or a display, inputs text through the input/output interface or the display, inputs a voice command through a microphone of the input/output interface, executes a gesture or motion input through a camera of a sensor module, or wirelessly inputs an execution instruction of a predetermined application through a communication interface.
The gesture or the motion input refers to when the user draws a preset pattern, such as a linear shape, a circle, a polygon (triangle or quadrangle), or a zigzag in the air within a viewing angle of the camera module or a sensing range of the sensor module by using a hand or a finger. In this instance, the gesture is referred to as a spatial gesture, in distinction from a touch gesture. The touch gesture includes a direct touch or a hovering on the display.
A touch/hovering gesture using a user input unit such as a user's finger or a pen includes at least one of a touch, a long touch, a tap, a double-tap, a flick, dragging or touch & move, drag & drop, a swipe, a multi-swipe, a pinch, a shake, and a rotation, which are distinguished based on an input method. A touch involves placing a user input unit on the display, a long touch (or touch & hold) involves lengthily touching the display, a tap involves quickly and lightly touching the display, a double tap involves quickly touching the display two times, a flick or scroll involves placing a user input unit on the display and quickly moving and then removing the user input unit, a drag involves moving or scrolling an item displayed on the display, a drag & drop involves moving an item while touching the display and then removing the touch from the display while the movement stops, a swipe involves moving over a predetermined distance while touching the display with a user input unit, a multi-swipe involves moving over a predetermined distance while touching the display with at least two user input units, and a pinch involves moving in different directions while touching the display with at least two user input units.
Referring to <figref idrefs="DRAWINGS">FIG. 6A</figref>, a home screen <b>607</b> is displayed on a display <b>605</b> of an electronic device <b>600</b>, and an item <b>610</b> of a web application and an item <b>620</b> of a web browser each for executing or logging in the WebRTC service are displayed on the home screen <b>607</b>.
Referring to <figref idrefs="DRAWINGS">FIG. 6B</figref>, a user input <b>630</b> for selecting the item <b>610</b> of the web application is received, and the web application is executed in response to the user input <b>630</b>. As the web application is executed, a screen of the web application is displayed or a screen of the web browser related to the web application is displayed. The web application may be executed as a background.
Referring back to <figref idrefs="DRAWINGS">FIG. 5</figref>, in step <b>520</b>, the controller detects a user input through the web browser or the web application, accesses a web server, a WebRTC Web Server Function (WWSF) or a website that provides a WebRTC connection through the web browser and a communication module, in response to the user input, and receives loading data for loading a WIC from the web server. The controller loads the WIC into the electronic device using the loading data. For example, the web browser receives, from the web server, a webpage including a WIC that is written in Javascript, and the web browser executes the Javascript.
The WIC is loaded so as to interwork with the web browser, or is loaded independently from the web browser. The WIC is controlled by the controller, or forms a part of the controller. According to an embodiment of the present disclosure, step <b>520</b> may be executed before step <b>510</b>. According to an embodiment of the present disclosure, the WIC may be integrated into the web browser, and the functions of the WIC may be executed by the web browser.
Referring back to <figref idrefs="DRAWINGS">FIG. 5</figref>, in step <b>530</b>, the controller requests registering subscriber identification information in an IMS or a device or a server in the IMS such as the S-CSCF, for providing WebRTC through the IMS/PDN. The controller is configured to establish a communication connection between the electronic device and the PDN or a device or a server in the PDN such as the S-CSCF through the CP. The communication connection includes a web socket connection, and the communication between the electronic device and the PDN or a device or a server in the PDN such as the S-CSCF is executed using a web socket.
According to an embodiment of the present disclosure, the controller requests a communication connection with the PDN from the CP by using a first API of the web browser, and receives information associated with the communication connection or information associated with a device or a server in the PDN from the CP.
According to an embodiment of the present disclosure, the controller displays a query associated with the use of the first API or the use of an IMS/PDN or LTE, or displays a screen part/area including the query on a display or a screen of the web browser. The controller receives a user input associated with the use of the first API, and may or may not execute an operation using the first API in response to the user input, such as grant or refusal. When an input indicating grant is received from the user, the controller requests a communication connection between the electronic device and the PDN from the CP.
According to an embodiment of the present disclosure, the controller displays information associated with a network such as the IMS, the PDN, or the 3GPP/3GPP2 CS network, in the web browser, another application, or a screen part/area such as a message or a window.
Referring to <figref idrefs="DRAWINGS">FIG. 7A</figref>, a screen <b>710</b> that provides a WebRTC service, which corresponds to a screen of the web browser, on a display <b>705</b> of an electronic device <b>700</b>, and network information <b>730</b> and/or a plurality of items <b>721</b> to <b>724</b> corresponding to various functions of the WebRTC service is displayed in at least a part of the display <b>705</b>.
For example, the controller periodically/aperiodically receives information associated with a currently connected network, such as MCC, MNC, RAT, or RSSI, and/or characteristic information such as QoS or security level of a currently used channel, from the CP and/or another communication module, or the controller may receive the information by sending a request to the CP and/or the other communication module. For example, the controller displays that a call through the IMS/PDN, LTE, 3GPP/3GPP2 CS network or through WiFi is currently executed, displays that a call is executed through a secure channel, displays that the network is switched between LTE and WiFi, and displays that LTE and WiFi are simultaneously used.
The plurality of items includes at least one of a first item A-<b>1</b><b>721</b> for a voice call, a second item A-<b>2</b><b>722</b> for a video chat, a video call, or a video conference, a third item A-<b>3</b><b>723</b> for transferring a file, and a fourth item A-<b>4</b><b>724</b> for switching networks. A user input for selecting one of the items is received, in response to which a function (or sub-services) of the WebRTC service corresponding to the selected item are executed.
Referring to <figref idrefs="DRAWINGS">FIG. 7B</figref>, a screen part/area <b>740</b> such as a query window is displayed on the display <b>705</b> of the electronic device <b>700</b>. The screen part/area <b>740</b> is displayed to overlap or to not overlap a screen <b>710</b> that provides a WebRTC service.
The screen part/area <b>740</b> displays queries such as, “will you use a service through an operator network in a web browser?”, “will you grant a request for using an API?”, “will you allow a connection of . . . ?”, or “will you allow a switch to . . . ?”, and includes a confirm button <b>742</b> to allow the content of a query and a cancellation button <b>744</b> to cancel or refuse the content of the query, and determines whether a predetermined PDN or API associated with an operator network is used.
According to an embodiment of the present disclosure, the controller is configured to obtain subscriber identification information stored in a SIM of the electronic device using the CP, and to transmit a registration message including the subscriber identification information to the IMS or the S-CSCF. According to an embodiment of the present disclosure, the controller may directly obtain the subscriber identification information stored in the SIM of the electronic device without using the CP.
The subscriber identification information includes at least one of an IP Multimedia Private Identity (IMPI) and an IP Multimedia Public Identity (IMPU).
The SIM or the subscriber identification information includes, in addition to the IMPI and the IMPU, at least one of a unique identifier such as an integrated circuit card identifier (ICCID) of the SIM, a unique identifier of a subscriber such as an international mobile subscriber identity (IMSI), security authentication and/or encryption information, temporary information associated with a network, a list of services that a user accesses, a personal identification number (PIN), and a personal unblocking code (PUC) (or a PIN unlock key (PUK)) for unlocking a PIN. The security authentication and/or encryption information includes at least one of a user specific secret key (K), certain message authentication functions (f<b>1</b>and f<b>2</b>), certain key generating functions (f<b>3</b>, f<b>4</b>, and f<b>5</b>), a sequence number (SQN), a random value or a random challenge value such as RAND or Nonce, an authentication token (AUTN), an authentication response value such as RES, SRES, or AKA authentication response value, a cipher key (CK or KC), and an integrity key (IK).
According to an embodiment of the present disclosure, the controller requests first subscriber identification information such as the IMPU from the CP using a third API. In response to the request of the controller, the CP obtains the first subscriber identification information stored in the SIM. The controller receives the first subscriber identification information from the CP.
According to an embodiment of the present disclosure, as illustrated in <figref idrefs="DRAWINGS">FIG. 7B</figref>, the controller displays a query associated with the use of the third API (or use of subscriber identification information or registration of subscriber/device/subscriber identification information) or displays a screen part/area that includes the query, on the display or a screen of the web browser.
According to an embodiment of the present disclosure, the controller requests second subscriber identification information such as the IMPI from the CP using a fourth API. In response to the request of the controller, the CP obtains the second subscriber identification information stored in the SIM. The controller receives the second subscriber identification information from the CP.
According to an embodiment of the present disclosure, as illustrated in <figref idrefs="DRAWINGS">FIG. 7B</figref>, the controller displays a query associated with the use of the fourth API or displays a screen part/area that includes the query, on the display or the screen of the web browser.
According to an embodiment of the present disclosure, the controller generates a registration message containing subscriber identification information, and transmits the registration message to the IMS or the eP-CSCF through the CP. The eP-CSCF transmits the registration message to the S-CSCF.
Referring back to <figref idrefs="DRAWINGS">FIG. 5</figref>, in step <b>540</b>, the controller executes an authentication procedure in response to the request for registration. The controller is configured to receive a first message or an authentication request message including a first value from the IMS through the CP, and to transmit, to the IMS through the CP, a second message or an authentication response message including a second value generated based on the first value.
According to an embodiment of the present disclosure, the controller receives a first message including a first value (or authentication information) for authentication, from the IMS or eP-CSCF through the CP. The controller requests, from the CP, a second value (or a response value to the first value) generated based on the first value. In response to the request of the controller, the CP transfers the first value to the SIM, and obtains the second value from the SIM, receives the second value from the CP, generates a second message including the second value, and transmits the second message to the IMS or eP-CSCF through the CP. The controller receives a third message indicating whether the authentication is successfully executed, from the IMS or eP-CSCF through the CP.
According to an embodiment of the present disclosure, the authentication information transmitted from the IMS includes random (RAND) and authentication (AUTN). AUTN may be formed of sequence number (SQN), an authentication management field (AMF), and a message authentication code (MAC). The SIM determines whether AUTN is allowable, and when it is allowable, the SIM generates response (RES) information. The IMS compares XRES generated by the IMS and the received RES. When the XRES and the RES are identical, it is determined that the authentication is successfully executed.
According to an embodiment of the present disclosure, the authentication information transmitted from the IMS includes RAND or NONCE. The SIM generates SRES, which is response information, by substituting RAND (or NONCE) and K, which is a user specific secret key, in A<b>3</b>, which is a predetermined function. The IMS compares an SRES generated by the IMS and the received SRES, and when these SRES values are identical, it is determined that the authentication is successfully executed.
In step <b>550</b>, the controller displays, in a part of the web browser, at least one of information associated with a network to which the electronic device is connected, characteristic information of a channel that the electronic device currently uses, and information associated with a currently used service,. For example, at least one of the information associated with the service and the information associated with the network to which the electronic device is connected includes at least one of a notification indicating that a VoLTE call is currently executed, a notification indicating that packet communication through an IMS PDN is currently executed, a notification indicating that a call is executed through a secure channel, a notification that indicates switching between LTE and WiFi, and a notification indicating that LTE and WiFi are simultaneously used.
<figref idrefs="DRAWINGS">FIG. 8A</figref> illustrates a communication method of an electronic device according to embodiments of the present disclosure. In step <b>801</b>, an electronic device <b>810</b> executes a web browser based on a user input or automatic settings. The user input includes, for example, a hovering gesture, a touch gesture, a line of vision, a motion gesture, or a voice command, of the user.
In step <b>802</b>, the electronic device <b>810</b> obtains subscriber identification information stored in a SIM using at least one API. For example, the at least one API includes a third API such as navigator.telephony.getIsimImpu( ) or a fourth API such as navigator.telephony.getIsimImpi( ).
In step <b>803</b>, the electronic device <b>810</b> transmits, to an IMS <b>820</b>, a registration request message for registration of the electronic device <b>810</b>. The registration request message includes the subscriber identification information and web socket or WebRTC associated information.
In step <b>804</b>, the electronic device <b>810</b> receives, from the IMS <b>820</b>, an authentication request message for the authentication of the electronic device <b>810</b>. The authentication request message includes a challenge value such as RAND or Nonce.
In step <b>805</b>, the electronic device <b>810</b> obtains an authentication response value using the challenge value and a fifth API such as navigator.telephony.requestIsimAuthentication( ). The authentication response value is obtained from the SIM or from authentication related information stored in the SIM.
In step <b>806</b>, the electronic device <b>810</b> transmits an authentication response message containing the authentication response value to the IMS <b>820</b>.
In step <b>807</b>, the electronic device <b>810</b> receives, from the IMS <b>820</b>, a registration response message that includes a response value, such as the success or failure of the registration/authentication, in response to the request for registration. The IMS <b>820</b> compares a value that is generated based on the challenge value with the authentication response value, and when these values are identical, the IMS <b>820</b> determines that the authentication is successfully executed. When these compared values are different from each other, the IMS <b>820</b> determines that the authentication fails.
In step <b>808</b>, the electronic device <b>810</b> provides a WebRTC service through an IMS PDN when the authentication is successfully executed, and the electronic device <b>810</b> displays, in a part of the web browser, at least one of information associated with a network such as an IMS PDN to which the electronic device is connected, characteristic information (for example, QoS, security level, or the like) of a channel that the electronic device currently uses, and information associated with a currently used service. At least one of the information associated with the service and the information associated with the network to which the electronic device is connected includes at least one of a notification indicating that a VoLTE call is currently executed, that packet communication through an IMS PDN is currently executed, that a call is executed through a secure channel, that a switch between LTE and WiFi is performed, and that LTE and WiFi are simultaneously used.
<figref idrefs="DRAWINGS">FIG. 8B</figref> illustrates a communication method of an electronic device according to embodiments of the present disclosure.
In step <b>831</b>, a web browser <b>811</b> opens/connects a link of a website that provides a WebRTC connection, in response to a user input.
In step <b>832</b>, the web browser <b>811</b> transmits, to a WebRTC Web Server Function (WWSF) <b>821</b>, a request for downloading a WIC <b>812</b> or a webpage including a WIC. According to an embodiment of the present disclosure, the WIC <b>812</b> or the webpage including the WIC is automatically downloaded when a website is open.
In step <b>833</b>, the WWSF <b>821</b> transmits, to the web browser <b>811</b>, loading data for loading the WIC <b>812</b>. For example, the web browser <b>811</b> receives, from the WWSF <b>821</b>, a webpage including a WIC that is written in Javascript, and the web browser <b>811</b> executes the Javascript. According to an embodiment of the present disclosure, steps <b>832</b> and <b>833</b> may be omitted, and the electronic device <b>810</b> may load a previously stored WIC or execute a web browser to which a WIC is integrated.
In step <b>834</b>, the WIC <b>812</b> requests a telephony module <b>813</b> to open, i.e., connect an IMS PDN, using a first API, so as to transmit an SIP message through the IMS PDN. To use the first API, the web browser <b>811</b> needs to ask a user to allow the use of the first API for security purposes, and the operations associated with the first API may be executed only when the user allows the use.
For example, the first API is defined as a function or an instruction named “navigator.connection.startUsingNetworkFeature( )” the web browser <b>811</b> receives a type of PDN from the WIC <b>812</b> that uses the first API, as a parameter of the function or the instruction, and the web browser <b>811</b> requests the telephony module <b>813</b> to open a corresponding PDN.
In step <b>835</b>, the telephony module <b>813</b> requests the CP <b>814</b> to open an IMS PDN.
In step <b>836</b>, the CP <b>814</b> connects to the IMS PDN, and transmits connection information to the telephony module <b>813</b>.
In step <b>837</b>, the telephony module <b>813</b> transmits the IMS PDN connection information to the WIC <b>812</b>. According to an embodiment of the present disclosure, the telephony module <b>813</b> transmits the IMS PDN connection information to the web browser <b>811</b>, and the web browser <b>811</b> transmits the connection information to the WIC <b>812</b>.
In step <b>838</b>, the WIC <b>812</b> requests a web socket connection from an eP-CSCF <b>822</b>. The communication described below may use the IMS PDN connected in step <b>837</b>. The WIC <b>812</b> requests a web socket connection using a second API. To use the second API, the web browser <b>811</b> needs to ask a user to allow the use of the second API for security purposes, and the operations associated with the second API may be executed only when the user allows the use.
For example, the second API is defined as a function or an instruction named “navigator.connection.requestRouteToHost( ),” the web browser <b>811</b> receives a type of PDN and server or device information from the WIC <b>812</b> that uses the second API, as a parameter of the function or the instruction, and the web browser <b>811</b> requests the telephony module <b>813</b> to transmit a packet that is transferred to a corresponding server by using a corresponding PDN that supports a web socket connection.
According to an embodiment of the present disclosure, steps <b>834</b> to <b>838</b> may be executed after the registration is completed in steps <b>841</b> and <b>842</b>, or may be executed at another point in time.
In step <b>839</b>, the WIC <b>812</b> obtains SIM information for preparing the content of a registration (REGISTER) message, by requesting an IMPU from the telephony module <b>813</b> using a third API. To use the third API, the web browser <b>811</b> needs to ask a user to allow the use of the third API for security purposes, and the operations associated with the third API may be executed only when the user allows the use.
For example, the third API is defined as a function or an instruction named “navigator.telephony.getIsimImpu( )”, and the web browser <b>811</b> requests an IMPU from the telephony module <b>813</b>. One or more IMPUs may be received in response to the request. When one or more IMPUs are available, one of the IMPUs may be selected and used based on the embodiment of the WIC.
In step <b>840</b>, the telephony module <b>813</b> requests the CP <b>814</b> to obtain an IMPU through the SIM. When the CP <b>814</b> obtains the IMPU, the IMPU may be transferred to the WIC <b>812</b> through the telephony module <b>813</b> and the web browser <b>811</b>.
In step <b>841</b>, the WIC <b>812</b> requests an IMPI from the telephony module <b>813</b> using a fourth API. To use the fourth API, the web browser <b>811</b> needs to ask a user to allow the use of the fourth API for security purposes, and the operations associated with the fourth API may be executed only when the user allows the use.
For example, the fourth API is defined as a function or an instruction named “navigator.telephony.getIsimImpi( )”, and the web browser <b>811</b> requests an IMPI from the telephony module <b>813</b>.
In step <b>842</b>, the telephony module <b>813</b> requests the CP <b>814</b> to obtain an IMPI through the SIM. When the CP <b>814</b> obtains the IMPI, the IMPI is transferred to the WIC <b>812</b> through the telephony module <b>813</b> and the web browser <b>811</b> (not shown).
In step <b>843</b>, the WIC <b>812</b> transmits, to the eP-CSCF <b>822</b>, an SIP registration message through the web socket connection.
An example of a registration message that uses a Digest type authentication scheme is described in Table 1, as follows.
<tables id="TABLE-US-00001" num="00001"><table frame="none" colsep="0" rowsep="0"><tgroup align="left" colsep="0" rowsep="0" cols="2"><colspec colname="offset" colwidth="14pt" align="left" /><colspec colname="1" colwidth="203pt" align="left" /><thead><row><entry /><entry namest="offset" nameend="1" rowsep="1">TABLE 1</entry></row><row><entry /><entry namest="offset" nameend="1" align="center" rowsep="1" /></row></thead><tbody valign="top"><row><entry /><entry>REGISTER sip:10.253.75.165 SIP/2.0</entry></row><row><entry /><entry>Via: SIP/2.0/WSS jtvg1b7qksgc.invalid;branch=z9bG4bK5011255</entry></row><row><entry /><entry>Max-Forwards: 70</entry></row><row><entry /><entry>To: <sip:88889@10.253.75.165<sup>(1)</sup>></entry></row><row><entry /><entry>From: “88889” <sip:88889@10.253.75.165>;tag=b3il29l3e7</entry></row><row><entry /><entry>Call-ID: m32c31p63uc59a6vl7o21i</entry></row><row><entry /><entry>CSeq: 83 REGISTER</entry></row><row><entry /><entry>Authorization: Digest algorithm=MD5, username=“88889<sup>(2)</sup>”,</entry></row></tbody></tgroup><tgroup align="left" colsep="0" rowsep="0" cols="1"><colspec colname="1" colwidth="217pt" align="left" /><tbody valign="top"><row><entry>realm=“10.253.75.165<sup>(3)</sup>”,</entry></row><row><entry>nonce=“VBqRT1QakCNRNuqeYsCw2XEYW0uWOxUXB8uiMoA=”,</entry></row><row><entry>uri=“sip:10.253.75.165”,</entry></row><row><entry>response=“9be1e1bfee8834ee85b7d9a400453d7b”</entry></row></tbody></tgroup><tgroup align="left" colsep="0" rowsep="0" cols="2"><colspec colname="offset" colwidth="14pt" align="left" /><colspec colname="1" colwidth="203pt" align="left" /><tbody valign="top"><row><entry /><entry>Contact: <sip:1f94417k@jtvg1b7qksgc.invalid;transport=ws<sup>(4)</sup>>;reg-</entry></row></tbody></tgroup><tgroup align="left" colsep="0" rowsep="0" cols="1"><colspec colname="1" colwidth="217pt" align="left" /><tbody valign="top"><row><entry>id=1;+sip.instance=“<urn:uuid:f8f026fa-e204-4162-afe8-</entry></row><row><entry>83b51ed7ced1><sup>(5)</sup>”;expires=600</entry></row></tbody></tgroup><tgroup align="left" colsep="0" rowsep="0" cols="2"><colspec colname="offset" colwidth="14pt" align="left" /><colspec colname="1" colwidth="203pt" align="left" /><tbody valign="top"><row><entry /><entry>Allow:</entry></row></tbody></tgroup><tgroup align="left" colsep="0" rowsep="0" cols="1"><colspec colname="1" colwidth="217pt" align="left" /><tbody valign="top"><row><entry>ACK,CANCEL,BYE,OPTIONS,INFO,NOTIFY,INVITE,MESSAGE</entry></row></tbody></tgroup><tgroup align="left" colsep="0" rowsep="0" cols="2"><colspec colname="offset" colwidth="14pt" align="left" /><colspec colname="1" colwidth="203pt" align="left" /><tbody valign="top"><row><entry /><entry>Supported: path,gruu,outbound</entry></row><row><entry /><entry>User-Agent: secwebrtc/0.0.1 (SIP.js/0.6.0)</entry></row><row><entry /><entry>Content-Length: 0</entry></row><row><entry /><entry namest="offset" nameend="1" align="center" rowsep="1" /></row></tbody></tgroup></table></tables>
The registration message requests a process of registering a URI and contact address of the electronic device <b>810</b> in the IMS <b>820</b>, so as to enable the data/message/packet/request that is received in the corresponding URI after the registration, to be routed to the corresponding electronic device.
(1) The “To” field of the registration message includes a receiver of an SIP message. The electronic device <b>810</b> designates a desired URI to the “To” field. The electronic device <b>810</b> that supports the IMS obtains an IMPU value of the SIM and designates the IMPU value to the “To” field.
(2) The “Authorization” field informs the IMS <b>820</b> of the Credential of the electronic device <b>810</b>, and is used for authentication of the electronic device <b>810</b>. “username” of the Authorization field corresponds to User such as “88889” of the IMPI value such as “88889@10.253.75.165” of the SIM.
(3) “realm” of the Authorization field corresponds to Domain (“10.253.75.165”) of the IMPI value such as “88889@10.253.75.165”) of the SIM.
(4) When a web socket is used, “transport=ws” may be designated to a URL parameter of Contact, based on RFC7118. For example, the registration message includes identification information indicating that the web socket is used, and thus, the IMS <b>820</b> recognizes that the registration message is for providing a WebRTC service through an IMS PDN. According to an embodiment of the present disclosure, the registration message includes identification information for identifying a WebRTC service, the web browser <b>811</b>, or the WIC <b>812</b>.
(5) The “Contact” field includes an address which enables the IMS <b>820</b> to directly access the electronic device <b>810</b>. When the WIC <b>812</b> is not able to directly obtain the IP address of the electronic device <b>810</b>, a virtual address in the form of “.invalid” is used, as shown. “+sip.instance” includes a universally unique identifier (UUID) based on RFC4122. The UUID is generated in various methods depending on RFC4122, and in the present example, the UUID is randomly generated. The IMS <b>820</b> that receives the registration message including “+sip.instance” transmits, to the electronic device <b>810</b>, a globally routable user agent URI (GRUU), which can specify an electronic device to which an SIP packet is directly transmitted, unlike a general URI that is not capable of specifying an electronic device to which an SIP packet is directly transmitted.
In step <b>844</b>, the eP-CSCF <b>822</b> transmits the registration message to an I/S-CSCF <b>823</b>.
In step <b>845</b>, the I/S-CSCF <b>823</b> transmits, to the eP-CSCF <b>822</b>, a response message such as <b>401</b> Unauthorized, in response to the registration message.
In step <b>846</b>, the eP-CSCF <b>822</b> transmits the response message to the electronic device <b>810</b> for requesting AKA authentication.
In steps <b>847</b> and <b>848</b>, the WIC <b>812</b> transfers an SIM authentication value (SIM Auth) such as a Nonce value included in the response message to the SIM through the telephony module <b>813</b> to obtain a response value to perform the AKA authentication procedure. In step <b>848</b>, the WIC <b>812</b> requests an AKA authentication response value from the telephony module <b>813</b> using a fifth API. To use the fifth API, the web browser <b>811</b> needs to ask a user to allow the use of the fifth API for security purposes, and the operations associated with the fifth API may be executed only when the user allows the use.
For example, the fifth API is defined as a function or an instruction named “navigator.telephony.requestIsimAuthentication( ),” the web browser <b>811</b> receives a Nonce value from the WIC <b>812</b> that uses the fourth API, as a parameter of the function or the instruction, and the web browser <b>811</b> requests the AKA authentication response value from the telephony module <b>813</b>.
In step <b>848</b>, the telephony module <b>813</b> requests the CP <b>814</b> to obtain the AKA authentication response value through the SIM. When the CP <b>814</b> obtains the AKA authentication response value, the AKA authentication response value is transferred to the WIC <b>812</b> through the telephony module <b>813</b> and the web browser <b>811</b>.
In step <b>849</b>, the WIC <b>812</b> transmits, to the eP-CSCF <b>822</b>, an SIP registration message including the AKA authentication response through the web socket connection.
In step <b>850</b>, the eP-CSCF <b>822</b> transmits the registration message to an I/S-CSCF <b>823</b>.
In step <b>851</b>, the I/S-CSCF <b>823</b> transmits, to the eP-CSCF <b>822</b>, a response message such as 200 OK in response to the registration message.
In step <b>852</b>, the eP-CSCF <b>822</b> transmits the response message such as 200 OK to the WIC <b>812</b> or the electronic device <b>810</b> to report that the registration is completed.
<figref idrefs="DRAWINGS">FIG. 9</figref> illustrates a communication method of an electronic device according to embodiments of the present disclosure. In step <b>910</b>, a controller of an electronic device detects a user input through a web browser or a web application. According to an embodiment of the present disclosure, the controller receives a user input that instructs real time communication through a 3GPP/3GPP2 CS network through a screen of the web browser that provides a WebRTC service.
In step <b>920</b>, the controller establishes a call connection between the electronic device and a partner device over the 3GPP/3GPP2 CS network through the CP.
In step <b>930</b>, the controller executes the conversion of data between a format supported by the web browser in association with real time communication data and a format supported by the 3GPP/3GPP2 CS network or the CP.
In step <b>940</b>, the controller executes real time communication through the 3GPP/3GPP2 CS network.
For example, the controller converts the real time communication data provided in the format supported by the web browser into the real time communication data of the format supported by the 3GPP/3GPP2 CS network, and transmits the real time communication data, of which the format is converted to a partner device through the call connection, through the CP.
For example, the controller converts the real time communication data provided in the format supported by the 3GPP/3GPP2 CS network, which is received through the CP and the call connection, into the real time communication data of the format supported by the web browser, and outputs, through the web browser, the real time communication data of which the format is converted.
<figref idrefs="DRAWINGS">FIG. 10</figref> illustrates a communication method of an electronic device according to embodiments of the present disclosure. In step <b>1011</b>, a browser/WIC <b>1001</b> opens/connects a link of a website that provides a WebRTC connection in response to a user input. The website is for a 3GPP/3GPP2 CS call provided by a local web server <b>1002</b> of an electronic device <b>1000</b>. The browser/WIC <b>1001</b> indicates a web browser and/or a WIC.
In step <b>1012</b>, the browser/WIC <b>1001</b> transmits, to the local web server <b>1002</b>, a request for downloading a WIC. The WIC is configured to be operated by recognizing a UA <b>1003</b> as an eP-CSCF. According to an embodiment of the present disclosure, step <b>1012</b> may be omitted, and the electronic device <b>1000</b> may load a previously stored WIC or execute a web browser to which a WIC is integrated.
In step <b>1013</b>, the browser/WIC <b>1001</b> transmits a registration (REGISTER) message to the UA <b>1003</b>. The UA <b>1003</b> registers a WIC after determining whether the WIC is provided from the local web server <b>1002</b>, and transmits, to the browser/WIC <b>1001</b>, a response message 200 OK in response to the registration message.
In step <b>1014</b>, the browser/WIC <b>1001</b> transmits an invitation (INVITE) message to the UA <b>1003</b> so as to initiate a call. The invitation (INVITE) message includes identification information such as a phone number associated with the destination of the call, and the UA <b>1003</b> determines the target of the call to be initiated based on the identification information.
In step <b>1015</b>, the UA <b>1003</b> requests a telephony/RIL <b>1005</b> to initiate a call using a corresponding number. The telephony/RIL <b>1005</b> indicates a telephony module and/or an RIL.
In step <b>1016</b>, the telephony/RIL <b>1005</b> requests a CP <b>1006</b> to initiate a 3GPP/3GPP2 CS call, by transmitting, to the CP <b>1006</b>, an IPC_CALL_OUTGOING message, instructing the initiation of a CS call.
In step <b>1017</b>, the CP <b>1006</b> receives a message containing information associated with the alerting state in which a call connection request is transmitted from a 3GPP/3GPP2 CS network to a partner device, and transmits, to the telephony/RIL <b>1005</b>, an IPC_CALL_STATUS(Alerting) message containing information associated with the alerting state.
In step <b>1018</b>, the telephony/RIL <b>1005</b> transmits, to the UA <b>1003</b>, a Call state changed(Alerting)message containing the state information.
In step <b>1019</b>, the UA <b>1003</b> transmits, to the browser/WIC <b>1001</b>, a <b>180</b> RINGING message containing the state information.
In step <b>1020</b>, the CP <b>1006</b> receives a message including information associated with the Connected state in which the partner device grants a call connection request, from the 3GPP/3GPP2 CS network, and transmits, to the telephony/RIL <b>1005</b>, an IPC_CALL_STATUS(Connected) message that includes information associated with the state.
In step <b>1021</b>, the telephony/RIL <b>1005</b> transmits, to the UA <b>1003</b>, a Call state changed(Connected) message containing the state information.
In step <b>1022</b>, the UA <b>1003</b> transmits, to the browser/WIC <b>1001</b>, a 200 OK message containing the state information.
In step <b>1023</b>, the UA <b>1003</b> transmits a start instruction to a media proxy <b>1004</b>, so as to convert real time communication data such as RTP data or media from the browser/WIC <b>1001</b> into PCM data and to transmit the data to the CP <b>1006</b>, or to convert the real time communication data such as PCM data received from the CP <b>1006</b> into RTP data and to transmit the PCM data to the browser/WIC <b>1001</b>.
In step <b>1024</b>, the communication of RTP data is executed between the browser/WIC <b>1001</b> and the media proxy <b>1004</b>. In step <b>1025</b>, as the communication of PCM data is executed between the media proxy <b>1004</b> and the CP <b>1006</b>, real time communication between the browser/WIC <b>1001</b> and the partner device is executed through the 3GPP/3GPP2 CS network.
<figref idrefs="DRAWINGS">FIG. 11</figref> illustrates a communication method of an electronic device according to embodiments of the present disclosure. The communication method may be executed by an electronic device or a controller of the electronic device.
In step <b>1110</b>, the electronic device executes real time communication through a web browser and a first network. For example, the electronic device executes the real time communication over a PDN such as an IMS PDN or an Internet PDN through a screen of a web browser that provides a WebRTC service, or over the 3GPP/3GPP2 CS network through the screen.
In step <b>1120</b>, the electronic device receives an input for switching networks, such as through a screen that provides a WebRTC service. According to an embodiment of the present disclosure, the electronic device receives, from the first network or a second network, a handover signal for switching networks, through a CP .
In step <b>1130</b>, the electronic device executes switching networks. For example, the electronic device releases a connection with the first network and establishes a connection with the second network through the CP. For example, the electronic device enables the CP to release a connection with an IMS PDN and to establish a connection with a 3GPP/3GPP2 CS network, or enables the CP to release the connection with the 3GPP/3GPP2 CS network and to establish the connection with the IMS PDN. For example, the electronic device executes switching between two networks from among the IMS PDN, the Internet PDN, and the 3GPP/3GPP2 CS network.
In step <b>1140</b>, the electronic device executes real time communication through the second network.
According to an embodiment of the present disclosure, the electronic device suspends the real time communication with the partner device over the first network, for switching networks, and resumes the real time communication with the partner device over the second network after switching the networks.
<figref idrefs="DRAWINGS">FIGS. 12A and 12B</figref> illustrate a communication method of an electronic device according to embodiments of the present disclosure.
In step <b>1231</b>, a browser/WIC <b>1211</b> opens/connects a link of a website that provides a WebRTC connection in response to a user input. The browser/WIC <b>1211</b> indicates a web browser and/or a WIC. According to an embodiment of the present disclosure, the website is provided by a local web server <b>1212</b> of an electronic device <b>1210</b>. The browser/WIC <b>1001</b> indicates a web browser and/or a WIC.
In step <b>1232</b>, the browser/WIC <b>1211</b> transmits, to a WWSF <b>1221</b>, a request for downloading a WIC. The WWSF <b>1221</b> transmits, to the browser/WIC <b>1211</b>, loading data for loading the WIC, via a 200 OK message.
In step <b>1233</b>, the browser/WIC <b>1211</b> transmits a registration message including subscriber identification information to a UA <b>1213</b>. According to an embodiment of the present disclosure, step <b>1233</b> may be omitted, and an electronic device <b>1210</b> may load a previously stored WIC or execute a web browser to which a WIC is integrated.
In step <b>1234</b>, the UA <b>1213</b> transmits the registration message to an eP-CSCF <b>1222</b> of an IMS <b>1220</b>. For example, the UA <b>1213</b> determines whether to register a WIC, as in step <b>1013</b> of <figref idrefs="DRAWINGS">FIG. 10</figref>, or to execute registration through the eP-CSCF <b>1222</b>, as in steps <b>843</b> to <b>852</b> of <figref idrefs="DRAWINGS">FIG. 8B</figref>. For example, the UA <b>1213</b> determines a registration scheme by considering whether the electronic device <b>1210</b> exists in an IMS available zone.
In step <b>1235</b>, the eP-CSCF <b>1222</b> transmits the response message such as 200 OK to the UA <b>1213</b> or the electronic device <b>1210</b> for reporting that the registration is completed. The UA <b>1213</b> may receive the response message such as 200 OK from the eP-CSCF <b>1222</b> through the CP <b>1216</b>.
In step <b>1236</b>, the UA <b>1213</b> transmits, to the browser/WIC <b>1211</b>, the response message such as 200 OK.
In step <b>1237</b>, the browser/WIC <b>1211</b> receives a call connection request over an IMS PDN through a screen that provides a WebRTC service.
In step <b>1238</b>, the browser/WIC <b>1211</b> transmits an invitation message such as an INVITE message to the UA <b>1213</b> so as to initiate a call. The INVITE message includes identification information such as a phone number associated with a destination of the call, and the UA <b>1213</b> determines the target of the call to be initiated based on the identification information.
In step <b>1239</b>, the UA <b>1213</b> corrects session description protocol (SDP) data in the INVITE message by changing, into a media proxy <b>1214</b>, an address to which the real time communication data or media packet is to be transmitted, and transmits the INVITE message to the eP-CSCF <b>1222</b>.
The SDP is a format for describing streaming media initiation parameters or a multimedia communication session for the purpose of the notification of a session, the invitation to a session, or the negotiation of a parameter, for example. The SDP data includes information associated with a type of media such as sound, video, or data, a codec, or a bandwidth.
In step <b>1240</b>, the eP-CSCF <b>1222</b> transmits a 200 OK message including information associated with the Connected state in which a partner device grants a call connection request. The UA <b>1213</b> receives the 200 OK message containing the state information through the CP <b>1006</b>.
In step <b>1241</b>, the UA <b>1213</b> corrects SDP data included in the 200 OK message that includes the state information by changing, into the media proxy <b>1214</b>, an address to which the real time communication data or a media or RTP packet is to be transmitted, and transmits the message to the browser/WIC <b>1211</b>.
In step <b>1242</b>, the UA <b>1213</b> requests the media proxy <b>1214</b> to initiate the transmission and reception of real time communication data.
In step <b>1243</b>, the communication of RTP data is executed between the browser/WIC <b>1211</b> and the media proxy <b>1214</b>. In step <b>1244</b>, as the communication of RTP data is executed between the media proxy <b>1214</b> and an eIMS-AGW <b>1223</b> of the IMS <b>1220</b> through the CP <b>1216</b>, real time communication between the browser/WIC <b>1211</b> and the partner device is executed through the IMS PDN. The eIMS-AGW <b>1223</b> executes encoding/decoding to match the data formats between the electronic device <b>1210</b> and the partner device when the formats are different, and transmits, to the eP-CSCF <b>1222</b> or the electronic device <b>1210</b>, the RTP data of which the format is converted.
In step <b>1245</b>, the electronic device <b>1210</b> moves to a region where the IMS/PDN is not supported, i.e, a region where VoLTE is not supported.
Referring to <figref idrefs="DRAWINGS">FIG. 12B</figref>, in step <b>1246</b>, the CP <b>1216</b> receives a signal indicating a handover, such as a single radio voice call continuity (SRVCC). The CP <b>1216</b> transmits an IPC_CALL_SRVCC message indicating a handover to the telephony/RIL <b>1215</b>. The telephony/RIL <b>1215</b> indicates a telephony module and/or an RIL.
In step <b>1247</b>, the telephony/RIL <b>1215</b> transmits, to the UA <b>1213</b>, an SRVCC success message indicating a handover.
In step <b>1248</b>, the UA <b>1213</b> requests the media proxy <b>1214</b> to change an RTP communication section or route between the media proxy <b>1214</b> and the eIMS-AGW <b>1223</b> into a PCM communication section or route between the media proxy <b>1214</b> and the CP <b>1216</b>. When the network switching is completed, a user may resume a 3GPP/3GPP2 CS call after the SRVCC through a web browser.
In step <b>1249</b>, the communication of RTP data is executed between the browser/WIC <b>1211</b> and the media proxy <b>1214</b>. In step <b>1250</b>, as the communication of PCM data is executed between the media proxy <b>1214</b> and the CP <b>1216</b>, real time communication between the browser/WIC <b>1211</b> and the partner device is executed through the 3GPP/3GPP2 CS network.
In step <b>1251</b>, the browser/WIC <b>1211</b> receives an input for requesting the termination of a call through a screen that provides a WebRTC service.
In step <b>1252</b>, the browser/WIC <b>1211</b> requests the termination of a call from the UA <b>1213</b>.
In step <b>1253</b>, the UA <b>1213</b> requests the termination of the call from the telephony/RIL <b>1215</b>.
In step <b>1254</b>, the telephony/RIL <b>1215</b> transmits, to the CP <b>1216</b>, a message such as IPC_CALL_RELEASE that requests the termination of the call.
<figref idrefs="DRAWINGS">FIG. 13</figref> illustrates a communication method of an electronic device according to embodiments of the present disclosure. In step <b>1310</b>, a controller of an electronic device executes real time communication through a first user interface such as a web browser or a phone application. For example, the controller executes real time communication through a screen of the web browser that provides a WebRTC service, or executes real time communication through the phone application.
In step <b>1320</b>, the controller receives an input for switching user interfaces, such as through a screen that provides a WebRTC service. According to an embodiment of the present disclosure, the controller receives an input for switching user interfaces through a screen of the phone application.
In step <b>1330</b>, the controller executes switching user interfaces. The controller terminates or deactivates the first user interface and provides a second user interface. For example, the controller terminates or deactivates the web browser and provides a screen of the phone application, or terminates or deactivates the phone application and provides a screen of the web browser.
In step <b>1340</b>, the controller executes real time communication through the second user interface.
According to an embodiment of the present disclosure, the controller suspends the real time communication with the partner device through the first user interface, for switching user interfaces, and resumes real time communication with the partner device through the second user interface after switching the user interfaces.
<figref idrefs="DRAWINGS">FIGS. 14A and 14B</figref> illustrate a communication method of an electronic device according to embodiments of the present disclosure. In step <b>1431</b>, the browser/WIC <b>1411</b> receives a call connection request over an IMS PDN through a screen that provides a WebRTC service.
In step <b>1432</b>, the browser/WIC <b>1411</b> transmits an INVITE message to the UA <b>1145</b> so as to initiate a call. The INVITE message includes identification information such as a phone number associated with the destination of the call, and the UA <b>1415</b> determines the target of the call to be initiated based on the identification information.
In step <b>1433</b>, the UA <b>1415</b> corrects SDP data in the INVITE message by changing, into a media proxy <b>1416</b>, an address to which the real time communication data (or media packet) is to be transmitted, and transmits the INVITE message to an eP-CSCF <b>1422</b> of an IMS <b>1420</b>.
In step <b>1434</b>, the eP-CSCF <b>1422</b> transmits a 200 OK message including information associated with the Connected state in which a partner device grants a call connection request. The UA <b>1415</b> receives the 200 OK message including the state information through a CP.
In step <b>1435</b>, the UA <b>1415</b> corrects SDP data included in the 200 OK message that includes the state information by changing, into the media proxy <b>1416</b>, an address to which the real time communication data or a media or RTP packet is to be transmitted, and transmits the 200 OK message to the browser/WIC <b>1411</b>.
In step <b>1436</b>, the communication of RTP data is executed between the browser/WIC <b>1411</b> and the media proxy <b>1416</b>. As the communication of RTP data is executed between the media proxy <b>1416</b> and an eIMS-AGW through the CP, real time communication between the browser/WIC <b>1211</b> and the partner device is executed through the IMS PDN.
In step <b>1437</b>, the browser/WIC <b>1411</b> receives a request for switching user interfaces through a screen that provides a WebRTC service.
In step <b>1438</b>, the browser/WIC <b>1411</b> requests a phone application <b>1412</b> to initiate a new call, by transmitting an OUTGOING_CALL message that includes the “sip:me@127.0.0.1” content set in advance to request a call for switching user interfaces. The content set in advance may be a previously set number, URI, or the like. The number or URI may have a predetermined value under a condition in which the browser/WIC <b>1411</b>, the phone application <b>1412</b>, or a native IMS client <b>1414</b> corresponding to a second client agree to use the number or URI, to switch calls internally, which is not known to the IMS <b>1420</b>. The native IMS client <b>1414</b> is configured to provide a real time communication service by controlling the phone application <b>1412</b>.
In step <b>1439</b>, the phone application <b>1412</b> requests the telephony/RIL <b>1413</b> to initiate a call.
In step <b>1440</b>, the telephony/RIL <b>1413</b> requests the native IMS client <b>1414</b> to initiate the call.
In step <b>1441</b>, the native IMS client <b>1414</b> requests the UA <b>1415</b> to begin the call. The native IMS client <b>1414</b> transmits, to the UA <b>1415</b>, an INVITE message that includes the “sip:me@127.0.0.1” content set in advance to request a call for switching user interfaces. Although a method for the native IMS client <b>1414</b> to determine requesting the UA <b>1415</b> to initiate a call is not limited, the present example uses a method in which the native IMS client <b>1414</b> makes a decision using the content or number set in advance, which the native IMS client <b>1414</b> receives.
Referring to <figref idrefs="DRAWINGS">FIG. 14B</figref>, in step <b>1442</b>, the UA <b>1415</b> transmits, to the eP-CSCF <b>1422</b>, an INVITE(hold) message that requests the suspension of the real time communication over a currently established call connection.
In step <b>1443</b>, the eP-CSCF <b>1422</b> transmits a 200 OK message that includes information associated with the hold state in which the real time communication over the currently established call connection is suspended. The UA <b>1415</b> receives a 200 OK message including the state information through a CP.
In step <b>1444</b>, the UA <b>1415</b> requests the media proxy <b>1416</b> to change an RTP communication section or route between the media proxy <b>1416</b> and the browser/WIC <b>1411</b> into an RTP communication section or route between the media proxy <b>1416</b> and the native IMS client <b>1414</b>.
In step <b>1445</b>, the UA <b>1415</b> transmits, to the native IMS client <b>1414</b>, a 200 OK message containing information associated with the state in which switching user interfaces is completed.
In step <b>1446</b>, the UA <b>1415</b> transmits, to the eP-CSCF <b>1422</b>, an INVITE(Unhold) message that requests the resumption of the real time communication through the currently established call connection.
In step <b>1447</b>, the eP-CSCF <b>1422</b> transmits a 200 OK message containing information associated with the unhold state in which the real time communication through the currently established call connection is resumed, to the UA <b>1415</b>. The UA <b>1415</b> receives the 200 OK message including the state information through a CP.
In step <b>1448</b>, as the communication of RTP data is executed between the media proxy <b>1416</b> and the native IMS client <b>1414</b>, the real time communication between the phone application <b>1412</b>/native IMS client <b>1414</b> and the partner device over the IMS/PDN may be resumed.
<figref idrefs="DRAWINGS">FIGS. 15 and 16</figref> illustrate examples of a WebRTC screen.
Referring to <figref idrefs="DRAWINGS">FIG. 15</figref>, a screen <b>1510</b> of a web browser may be displayed on a display <b>1506</b> of an electronic device <b>1500</b>.
The screen <b>1510</b> of the web browser includes an address input bar <b>1520</b> for inputting an IP address (and a port). For example, the controller receives an address input by a user with respect to the address input bar <b>1520</b>, and controls the web browser to access a web server, a website, or a WWSF that provides a WebRTC connection corresponding to the address.
The screen <b>1510</b> of the web browser includes at least one of a first item <b>1531</b> for switching interfaces, such as between a web browser and a phone application, a second item <b>1532</b> for switching networks, such as WiFi/IMS/3GPP/3GPP2 CS networks, a third item <b>1533</b> for a video call, a fourth item <b>1534</b> for a voice call, and a fifth item <b>1535</b> for file transmission. For example, when one of the first to fifth items <b>1531</b> to <b>1535</b> is selected, the controller executes a function corresponding to the selected item.
The screen <b>1510</b> of the web browser includes a first video screen <b>1540</b> that is captured by a camera of the electronic device <b>1500</b>.
The screen <b>1510</b> of the web browser includes a contact list (a contact number list) <b>1550</b> including contacts (or contact numbers) <b>1551</b> registered in the web server or the electronic device <b>1500</b>. For example, when one of the contacts <b>1551</b> is selected, the controller controls the web browser to execute the real time communication with the selected contact.
The screen <b>1510</b> of the web browser includes a network/channel/service information screen part/area <b>1560</b> that displays information associated with a currently connected network, such as MCC, MNC, RAT, RSSI, and/or characteristic information such as QoS or security level of a currently used channel or circuit. The network/channel/service information screen part/area <b>1560</b> displays that a call is currently executed through the IMS PDN, LTE, or 3GPP/3GPP2 CS network, or through WiFi, for example, displays that a call is executed through a secure channel, displays that a network is switched among LTE/WiFi/3GPP/3GPP2 CS networks, or displays that LTE and WiFi are simultaneously used.
The screen <b>1510</b> of the web browser includes a text input bar for inputting text, a transmission button <b>1572</b> for transmitting input text, and a message window <b>1573</b> for displaying transmitted and received messages.
Referring to <figref idrefs="DRAWINGS">FIG. 16</figref>, the controller detects a user input associated with the contact <b>1551</b> of user B, establishes a connection with an electronic device of user B, and executes a video call with the electronic device of user B. The screen <b>1510</b> of the web browser includes the first video screen <b>1540</b>, which is captured by a camera of the electronic device, and a second video screen <b>1545</b> displaying a second video received from the electronic device of user B.
The first and second videos may be real-time videos generated by photographing a user through cameras of corresponding electronic devices. The electronic device <b>1500</b> transmits the real-time video of the user to the electronic device of user B. The electronic device <b>1500</b> displays the second video received from the electronic device of user B, on the display <b>1506</b>. The electronic device <b>1500</b> transmits the voice of the user, recorded using a microphone, to the electronic device of user B. The electronic device <b>1500</b> outputs the voice received from the electronic device of user B through a speaker. The electronic device <b>1500</b> transmits, to the electronic device of user B, a text input by the user into the text input bar <b>1571</b> in response to a selection of a message sending button <b>1572</b>. The electronic device <b>1500</b> displays the transmitted message and the message received from the electronic device of user B on the message window <b>1573</b>. The electronic device <b>1500</b> detects a user input of the fourth item <b>1534</b> for the voice call and a user input of one of the contacts of the contact list <b>1550</b>, establishes a connection with the electronic device of the selected contact (or a user of the selected contact), and performs the voice call with the electronic device of the selected contact. During the voice call, the electronic device <b>1500</b> transmits the voice of the user, recorded using the microphone, to the electronic device of the selected contact in real time, and outputs the voice received from the electronic device of the selected contact through the speaker in real time. The electronic device <b>1500</b> detects a user input of the fifth item <b>1535</b> for the file transfer, displays a file search window, and transmits a file selected by the user to the electronic device of user B.
According to embodiments of the present disclosure, a communication method of an electronic device includes executing a web browser, requesting registration in an IMS using a first client associated with the web browser, and displaying, in a part of the web browser, information associated with a network to which the electronic device is connected by using the first client.
According to embodiments of the present disclosure, a communication method of an electronic device includes executing a web browser, receiving real time communication data from a partner device through an IMS or 3GPP/3GPP2 CS network, and outputting the real time communication data using the web browser.
According to embodiments of the present disclosure, displaying the information associated with the network in a part of the web browser includes receiving, from the CP through a telephony module, at least one of information associated with a network to which the electronic device is connected and characteristic information of a channel that the electronic device currently uses, and displaying the received information through the web browser.
According to embodiments of the present disclosure, the method may further include receiving an execution instruction of a service from among a voice call, a video call, sharing an image, and P2P file transmission using partner identification information, through an interface provided from the web browser, and displaying information associated with the service in a part of the web browser when the service is executed.
According to embodiments of the present disclosure, at least one of the information associated with the service and the information associated with the network to which the electronic device is connected includes at least one of a notification indicating that a VoLTE call is currently executed, that packet communication through an IMS PDN is currently executed, that a call is executed through a secure channel, that switching between LTE and WiFi is performed, and that LTE and WiFi are simultaneously used.
According to embodiments of the present disclosure, the method includes accessing a web server using the web browser, receiving loading data for loading the first client from the web server, and loading the first client into the electronic device using the loading data.
According to embodiments of the present disclosure, the electronic device includes a first client that is configured to control the web browser and to provide a real time communication service.
According to embodiments of the present disclosure, the electronic device includes a first client that is configured to control the web browser and to provide a real time communication service, and the method includes receiving loading data for loading the first client from a web server, and loading the first client into the electronic device using the loading data.
According to embodiments of the present disclosure, the method further includes establishing a communication connection between the electronic device and a PDN, wherein the communication connection includes a web socket connection, and real time communication data is received from the partner device through the communication connection.
According to embodiments of the present disclosure, the electronic device includes a communication processor that is configured to communicate with the IMS or 3GPP/3GPP2 CS network, and the method further includes executing a control using a first API to enable the CP to establish a communication connection between the electronic device and the PDN.
According to embodiments of the present disclosure, the electronic device includes a communication processor configured to communicate with the IMS or the 3GPP/3GPP2 CS network, and a telephony module configured to communicate with the CP, and the method further includes executing a control using a first API to enable the telephony module to request, from the CP, a communication connection between the electronic device and a PDN; and establishing, by the CP, the communication connection between the electronic device and the PDN.
According to embodiments of the present disclosure, the method further includes registering, in the IMS, subscriber identification information stored in the electronic device.
According to embodiments of the present disclosure, the method further includes obtaining subscriber identification information stored in a SIM using a communication processor of the electronic device, and transmitting, to the IMS, a registration message that includes the subscriber identification information.
According to embodiments of the present disclosure, the method further includes obtaining subscriber identification information stored in a SIM using a communication processor of the electronic device, and transmitting, to the IMS, a registration message containing the subscriber identification information, and the subscriber identification information includes at least one of an IMPI and an IMPU.
According to embodiments of the present disclosure, the method further includes obtaining subscriber identification information stored in a SIM using a communication processor of the electronic device, and transmitting, to the IMS, a registration message containing the subscriber identification information, the subscriber identification information includes at least one of an IMPI and an IMPU, and the registration message further includes an identifier indicating a web socket connection.
According to embodiments of the present disclosure, the electronic device includes a communication processor configured to communicate with the IMS or the 3GPP/3GPP2 CS network, and a telephony module configured to communicate with the CP, and the method further includes executing a control using an API to enable the telephony module to request subscriber identification information from the CP, obtaining, by the CP, the subscriber identification information stored in a SIM. and transmitting, to the IMS, a registration message containing the subscriber identification information.
According to embodiments of the present disclosure, the electronic device includes a communication processor configured to communicate with the IMS or the 3GPP/3GPP2 CS network, and a telephony module configured to communicate with the CP, and the method further includes executing a control using a second API to enable the telephony module to request subscriber identification information from the CP, obtaining, by the CP, the subscriber identification information stored in a SIM, and transmitting, to the IMS, a registration message including the subscriber identification information.
According to embodiments of the present disclosure, the method further includes obtaining subscriber identification information stored in a SIM using a communication processor of the electronic device, transmitting a registration message that includes the subscriber identification information to an IMS of the communication network, receiving a first message that includes a first value from the IMS, and generating a second value based on the first value and transmitting a second message that includes the second value to the IMS.
According to embodiments of the present disclosure, information associated with the IMS, the PDN, or the 3GPP/3GPP2 CS network is displayed in the web browser.
According to embodiments of the present disclosure, the method further includes receiving a user input through the web browser, and establishing a call connection between the electronic device and the partner device through the 3GPP/3GPP2 CS network in response to the user input.
According to embodiments of the present disclosure, the electronic device includes a communication processor configured to communicate with the IMS or the 3GPP/3GPP2 CS network, and the method further includes receiving a user input through the web browser, establishing a call connection between the electronic device and the partner device through the 3GPP/3GPP2 CS network in response to the user input, converting the real time communication data provided in a format supported by the web browser into the real time communication data of a format supported by the 3GPP/3PP2 CS network, and transmitting, by the CP, the real time communication data of which the format is converted, to the partner device through the call connection.
According to embodiments of the present disclosure, the electronic device includes a first client configured to control the web browser and to provide a real time communication service, a communication processor configured to communicate with the IMS or the 3GPP/3GPP2 CS network, a telephony module configured to communicate with the CP, and a user agent configured to communicate with each of the first client and the telephony module, and the method includes registering the first client in the user agent, transmitting, by the first client, a message containing identification information of the partner device to the user agent, requesting, by the user agent, a call to the partner device from the telephony module, requesting, by the telephony module, a call to the partner device from the CP, and establishing, by the CP, a call connection between the electronic device and the partner device through the 3GPP/3GPP2 CS network.
According to embodiments of the present disclosure, the method further includes converting the format of real time communication data received from the partner device into a format supported by the web browser.
According to embodiments of the present disclosure, the electronic device includes a communication processor configured to communicate with the IMS or the 3GPP/3GPP2 CS network, and the method further includes receiving a user input through the web browser, establishing, by the CP, a call connection between the electronic device and the partner device through the 3GPP/3GPP2 CS network in response to the user input, and converting the format of real time communication data received from the partner device through the call connection into a format supported by the web browser.
According to embodiments of the present disclosure, the electronic device includes a first client configured to control the web browser and to provide a real time communication service, a communication processor configured to communicate with the IMS or 3GPP/3GPP2 CS network, and a media proxy configured to communicate with each of the first client and the CP, and the method further includes receiving, by the media proxy, real time communication data from the CP, converting, by the media proxy, the format of real time communication data into a format supported by the web browser, and transmitting to the first client, by the media proxy, the real time communication data of which the format is converted.
According to embodiments of the present disclosure, receiving the real time communication data includes receiving real time communication data through a PDN, receiving a signal indicating a handover, receiving real time communication data through the 3GPP/eGPP2 CS network in response to the signal indicating a handover, and converting the format of the real time communication data received through the 3FPP/3GPP2 CS network into a format supported by the web browser.
According to embodiments of the present disclosure, the electronic device includes a first client configured to control the web browser and to provide a real time communication service a communication processor configured to communicate with the IMS or the 3GPP/3GPP2 CS network, and a media proxy configured to communicate with each of the first client and the CP, and receiving the real time communication data further includes receiving, by the CP, real time communication data through a PDN, receiving, by the CP, a signal indicating a handover, receiving, by the CP, real time communication data through the 3GPP/3GPP2 CS network in response to the signal indicating the handover, converting, by the media proxy, the format of real time communication data received through the 3GPP/3GPP2 CS network into a format supported by the web browser, and transmitting to the first client, by the media proxy, the real time communication data of which the format is converted.
According to embodiments of the present disclosure, the method includes receiving a user input through the web browser, and outputting, through a phone application, real time communication data received from the partner device in response to the user input.
According to embodiments of the present disclosure, the method includes receiving a user input through the web browser, transmitting, to the IMS, a first message indicating the suspension of real time communication, in response to the user input, transmitting, to the IMS, a second message indicating the resumption of real time communication, and outputting, through a phone application, real time communication data received from the partner device.
According to embodiments of the present disclosure, the electronic device includes a first client configured to control the web browser and to provide a real time communication service, a second client configured to control a phone application and to provide a real time communication service, a communication processor configured to communicate with the IMS or 3GPP/3GPP2 CS network, and a media proxy configured to communicate with each of the first client, the second client, and the CP, and the method includes receiving, by the media proxy, first real time communication data from the CP, transmitting, by the media proxy, the first real time communication data to the first client, receiving a user input through the web browser, receiving, by the media proxy, second real time communication data from the CP, transmitting, by the media proxy, the second real time communication data to a second client in response to the user input, and outputting, by the second client, the second real time communication data through the phone application.
According to embodiments of the present disclosure, the electronic device includes a first client configured to control the web browser and to provide a real time communication service, a second client configured to control a phone application and to provide a real time communication service, a communication processor configured to communicate with the IMS or 3GPP/3GPP2 CS network, a media proxy configured to communicate with each of the first client, the second client, and the CP, and a user agent.
The method includes receiving, by the media proxy, first real time communication data from the CP, transmitting, by the media proxy, the first real time communication data to the first client, receiving a user input through the web browser, transmitting, by the user agent, a first message indicating the suspension of real time communication to the IMS through the CP in response to the user input, requesting, by the user agent, the media proxy to transmit real time communication data to a second client, transmitting, by the user agent, a second message indicating the resumption of real time communication to the IMS through the CP, receiving, by the media proxy, second real time communication data from the CP, transmitting, by the media proxy, the second real time communication data to the second client, and outputting, by the second client, the second real time communication data through the phone application.
According to embodiments of the present disclosure, an electronic device includes a display, a CP configured to communicate with an IMS or 3GPP/3GPP2 CS network, and a controller configured to execute a web browser, to request registration in the IMS through the CP using a first client associated with the web browser, and to display information associated with a network to which the electronic device is connected in a part of the web browser through the display using the first client.
According to embodiments of the present disclosure, an electronic device includes, a display, a communication processor configured to communicate with an IMS or a 3GPP/3GPP2 CS network, and a controller configured to execute a web browser, to control the display to display a screen of the executed web browser, to receive real time communication data from a partner device through the IMS or 3GPP/3GPP2 CS network, and to output the real time communication data using the web browser.
According to embodiments of the present disclosure, the controller is configured to access a web server using the web browser, to receive installation data for installing a first client from the web server, and to install the first client in the electronic device using the installation data.
According to embodiments of the present disclosure, the controller is configured to execute a first client that is configured to control the web browser and to provide a real time communication service.
According to embodiments of the present disclosure, the controller is configured to establish a communication connection between the electronic device and a PDN, the communication connection includes a web socket connection, and real time communication data is received from the partner device through the communication connection.
According to embodiments of the present disclosure, the controller is configured to establish a communication connection between the electronic device and a PDN through the CP using a first API.
According to embodiments of the present disclosure, the electronic device includes a telephony module configured to communicate with the CP, and the controller is configured to request, from the CP, a communication connection between the electronic device and a PDN using the first API and the telephony module, and to establish the communication connection between the electronic device and the PDN through the CP.
According to embodiments of the present disclosure, the controller is configured to register, in the IMS, subscriber identification information stored in the electronic device.
According to embodiments of the present disclosure, the controller is configured to obtain subscriber identification information stored in a SIM using the CP, and to transmit a registration message containing the subscriber identification information to the IMS through the CP.
According to embodiments of the present disclosure, the controller is configured to obtain subscriber identification information stored in a SIM using the CP, and to transmit a registration message that includes the subscriber identification information to the IMS through the CP, and the subscriber identification information includes at least one of an IMPI and an IMPU.
According to embodiments of the present disclosure, the controller is configured to obtain subscriber identification information stored in a SIM using the CP, and to transmit a registration message containing the subscriber identification information to the IMS through the CP, and the subscriber identification information includes at least one of an IMPI and an IMPU, and the registration message further includes an identifier indicating a web socket connection.
According to embodiments of the present disclosure, the electronic device includes a telephony module configured to communicate with the CP, and the controller is configured to request subscriber identification information from the CP using an API and the telephony module, to obtain the subscriber identification information stored in a SIM using the CP, and to transmit, to the IMS, a registration message that includes the subscriber identification information through the CP.
According to embodiments of the present disclosure, the electronic device includes a telephony module configured to communicate with the CP, and the controller is configured to receive a user input associated with the use of a second API, to request subscriber identification information from the CP using the second API and the telephony module, to obtain the subscriber identification information stored in a SIM using the CP, and to transmit, to the IMS, a registration message that includes the subscriber identification information through the CP.
According to embodiments of the present disclosure, the controller is configured to obtain subscriber identification information stored in a SIM using the CP, to transmit a registration message including the subscriber identification information to the IMS through the CP, to receive a first message including a first value from the IMS through the CP, and to transmit a second message including a second value generated based on the first value to the IMS through the CP.
According to embodiments of the present disclosure, the controller may be configured to display information associated with the PDN, the IMS, or the 3GPP/3GPP2 CS network in the web browser through the display.
According to embodiments of the present disclosure, the controller is configured to receive a user input through the web browser; and to establish a call connection between the electronic device and the partner device over the 3GPP/3GPP2 CS network through the CP in response to the user input.
According to embodiments of the present disclosure, the controller is configured to receive a user input through the web browser, to establish a call connection between the electronic device and the partner device over the 3GPP/3GPP2 CS network through the CP, to convert the real time communication data of a format supported by the web browser into the real time communication data of a format supported by the 3GPP/3GPP2 CS network, and to transmit, to the partner device through the call connection using the CP, the real time communication data of which the format is converted.
According to embodiments of the present disclosure, the electronic device includes a first client configured to control the web browser and to provide a real time communication service, a telephony module configured to communicate with the CP, and a user agent configured to communicate with each of the first client and the telephony module, and the method includes registering the first client in the user agent, transmitting, using the first client, a message containing identification information of the partner device to the user agent, requesting, using the user agent, a call to the partner device from the telephony module, requesting, using the telephony module, a call to the partner device from the CP, and establishing, using the CP, a call connection between the electronic device and the partner device through the 3GPP/3GPP2 CS network.
According to embodiments of the present disclosure, the controller is configured to convert the format of real time communication data received from the partner device into a format supported by the web browser.
According to embodiments of the present disclosure, the controller is configured to receive a user input through the web browser in order to establish a call connection between the electronic device and the partner device over the 3GPP/3GPP2 CS network through the CP in response to the user input, and to convert the format of the real time communication data received from the partner device through the call connection into the format supported by the web browser.
According to embodiments of the present disclosure, the electronic device includes a first client configured to control the web browser and to provide a real time communication service; and a media proxy configured to communicate with each of the first client and the CP, and the controller is configured to receive real time communication data from the CP using the media proxy, to convert, using the media proxy, the format of the real time communication data into a format that is supported by the web browser, and to transmit, using the media proxy, the real time communication data of which the format is converted to the first client.
According to embodiments of the present disclosure, the controller is configured to receive real time communication data through a PDN, to receive a signal indicating a handover through the CP, to receive real time communication data through the 3GPP/3GPP2 CS network in response to the signal indicating the handover, and to convert the format of real time communication data received through the 3GPP/3GPP2 CS network into the format supported by the web browser.
According to embodiments of the present disclosure, the electronic device includes a first client configured to control the web browser and to provide a real time communication service, and a media proxy configured to communicate with each of the first client and the CP, and the controller is configured to receive real time communication data through a PDN, to receive a signal indicating a handover through the CP, to receive real time communication data through the 3GPP/3GPP2 CS network in response to the signal indicating the handover, to convert, using the media proxy, the format of the real time communication data received through the 3GPP/3GPP2 CS network into the format supported by the web browser, to transmit to the first client, using the media proxy, the real time communication data of which the format is converted.
According to embodiments of the present disclosure, the controller is configured to receive a user input through the web browser, and to output, through a phone application, real time communication data received from the partner device in response to the user input.
According to embodiments of the present disclosure, the controller is configured to receive a user input through the web browser, to transmit, through the CP, a first message indicating the suspension of real time communication to the IMS, in response to the user input, to transmit, through the CP, a second message indicating the resumption of real time communication to the IMS, and to output, through a phone application, real time communication received from the partner device.
According to embodiments of the present disclosure, the electronic device includes a first client configured to control the web browser and to provide a real time communication service, a second client configured to control a phone application and to provide a real time communication service, and a media proxy configured to communicate with each of the first client, the second client, and the CP, and the controller is configured to receive, using the media proxy, first real time communication data from the CP, to transmit, using the media proxy, the first real time communication data to the first client, to receive a user input through the web browser, to receive, using the media proxy, second real time communication data from the CP, to transmit, using the media proxy, the second real time communication data to a second client in response to the user input, and to output the second real time communication data through the phone application.
According to embodiments of the present disclosure, the electronic device includes a first client configured to control the web browser and to provide a real time communication service, a second client configured to control a phone application and to provide a real time communication service, a media proxy configured to communicate with each of the first client, the second client, and the CP, and a user agent, and the controller is configured to receive, using the media proxy, first real time communication data from the CP, to transmit, using the media proxy, the first real time communication data to the first client, to receive a user input through the web browser, to transmit, using the user agent, a first message indicating the suspension of real time communication to the IMS through the CP in response to the user input, to request, using the user agent, the media proxy to transmit real time communication data to a second client, to transmit, using the user agent, a second message indicating the resumption of real time communication to the IMS through the CP, to receive, using the media proxy, second real time communication data from the CP, to transmit, using the media proxy, the second real time communication data to the second client, and to output the second real time communication data through the phone application.
<figref idrefs="DRAWINGS">FIG. 17</figref> is a block diagram <b>1700</b> of an electronic device <b>1701</b> according to embodiments of the present disclosure. The electronic device <b>1701</b> may form, for example, a part or the entirety of the electronic device <b>101</b> illustrated in <figref idrefs="DRAWINGS">FIG. 1</figref>.
Referring to <figref idrefs="DRAWINGS">FIG. 17</figref>, the electronic device <b>1701</b> includes at least one AP <b>1710</b>, a communication module <b>1720</b>, a SIM card <b>1724</b>, a memory <b>1730</b>, a sensor module <b>1740</b>, an input module <b>1750</b>, a display <b>1760</b>, an interface <b>1770</b>, an audio module <b>1780</b>, a camera module <b>1791</b>, a power management module <b>1795</b>, a battery <b>1796</b>, an indicator <b>1797</b>, and a motor <b>1798</b>.
The AP <b>1710</b> controls a plurality of hardware or software components connected thereto by driving an operating system or an application program, processes various types of data including multimedia data, and performs calculations. The AP <b>1710</b> may be embodied as, for example, a system on chip (SoC), and may further include a graphic processing unit (GPU).
The communication module <b>1720</b> performs data transmission/reception in communication between the electronic device <b>1701</b> and other electronic devices connected thereto through a network. According to an embodiment, the communication module <b>1720</b> includes at least one of a cellular module <b>1721</b>, a Wi-Fi module <b>1723</b>, a BlueTooth® (BT) module <b>1725</b>, a global positioning system (GPS) module <b>1727</b>, a Near Field Communication (NFC) module <b>1728</b>, and a Radio Frequency (RF) module <b>1729</b>.
The cellular module <b>1721</b> provides at least one of a voice call, a video call, a message service, and an Internet service through a communication network such as LTE, LTE-A, CDMA, WCDMA, UMTS, WiBro, or GSM. The cellular module <b>1721</b> identifies and authenticates an electronic device in a communication network by using, for example, the SIM card <b>1724</b>. According to an embodiment, the cellular module <b>1721</b> performs at least some of functions which the AP <b>1710</b> provides, such as a part of a multimedia control function.
According to an embodiment of the present disclosure, the CP may be included in the cellular module <b>1721</b>, and the cellular module <b>1721</b> may be implemented by an SoC. Although the elements such as the cellular module <b>1721</b>, the memory <b>1730</b>, and the power management module <b>1795</b> are illustrated separate from the AP <b>1710</b> in <figref idrefs="DRAWINGS">FIG. 17</figref>, the AP <b>1710</b> may be implemented to include at least some of the above described elements according to one embodiment.
According to an embodiment of the present disclosure, the AP <b>1710</b> or the cellular module <b>1721</b> loads a command or data received from at least one of a non-volatile memory and other component elements connected to each of the AP <b>1710</b> and the cellular module <b>1721</b> to a volatile memory, processes the loaded command or data, and stores data received from or generated by at least one of the other component elements in a non-volatile memory.
The Wi-Fi module <b>1723</b>, the BT module <b>1725</b>, the GPS module <b>1727</b>, and the NFC module <b>1728</b> include, for example, a processor for processing data transmitted/received through a corresponding module. Although the cellular module <b>1721</b>, the Wi-Fi module <b>1723</b>, the BT module <b>1725</b>, the GPS module <b>1727</b>, and the NFC module <b>1728</b> are illustrated as individual blocks in <figref idrefs="DRAWINGS">FIG. 17</figref>, at least two of these modules may be included within one Integrated Chip (IC) or one IC package. For example, at least some of processors corresponding to the cellular module <b>1721</b>, the Wi-Fi module <b>1725</b>, the BT module <b>1727</b>, the GPS module <b>1728</b>, and the NFC module <b>1728</b> may be implemented as one SoC.
The RF module <b>1729</b> transmits/receives data, for example, an RF signal. Although not illustrated, the RF module <b>1729</b> includes at least one of, for example, a transceiver, a power amp module (PAM), a frequency filter, and a low noise amplifier (LNA). The RF module <b>1729</b> further includes a component for transmitting/receiving an electromagnetic wave in free air space in radio communication, such as at least one of a conductor and a conducting wire. Although the cellular module <b>1721</b>, the Wi-Fi module <b>1723</b>, the BT module <b>1725</b>, the GPS module <b>1727</b>, and the NFC module <b>1728</b> are illustrated as sharing one RF module <b>1729</b> in <figref idrefs="DRAWINGS">FIG. 17</figref>, at least one of these modules may transmit/receive the RF signal through a separate RF module.
The SIM card <b>1724</b> is inserted into a slot formed in a particular portion of the electronic device, and includes unique identification information such as an ICCID or subscriber information such as an IMSI.
The memory <b>1730</b> includes an embedded memory <b>1732</b> and, optionally, an external memory <b>1734</b>. The internal memory <b>1732</b> includes at least one of a volatile memory such as a dynamic random access memory (DRAM), a static RAM (SRAM), and a synchronous dynamic RAM (SDRAM), and a non-volatile memory such as a one time programmable read only memory (OTPROM), a programmable ROM (PROM), an erasable and programmable ROM (EPROM), an electrically erasable and programmable ROM (EEPROM), a mask ROM, a flash ROM, a NAND flash memory, and a NOR flash memory.
According to an embodiment of the present disclosure, the embedded memory <b>1732</b> may be a solid state drive (SSD). The external memory <b>1734</b> may further include a flash drive, such as at least one of a compact flash (CF), a secure digital (SD), a micro-SD, a Mini-SD, an extreme digital (xD), and a memory stick. The external memory <b>1734</b> may be functionally connected to the electronic device <b>1701</b> through various interfaces, and the electronic device <b>1701</b> may further include a storage device such as a hard drive.
The sensor module <b>1740</b> measures a physical quantity or detects an operation state of the electronic device <b>1701</b>, and converts the measured or detected information to an electric signal. The sensor module <b>1740</b> includes, for example, at least one of a gesture sensor <b>1740</b>A, a gyro sensor <b>1740</b>B, an atmospheric pressure sensor <b>1740</b>C, a magnetic sensor <b>1740</b>D, an acceleration sensor <b>1740</b>E, a grip sensor <b>1740</b>F, a proximity sensor <b>1740</b>G, a color sensor <b>1740</b>H such as a red, green, and blue (RGB) sensor, a biometric sensor <b>1740</b>I, a temperature/humidity sensor <b>1740</b>J, an illumination sensor <b>1740</b>K, and an ultra violet (UV) sensor <b>1740</b>M. Additionally or alternatively, the sensor module <b>1740</b> may include an E-nose sensor, an electromyography (EMG) sensor, an electroencephalogram (EEG) sensor, an electrocardiogram (ECG) sensor, an infrared (IR) sensor, an iris sensor, and a fingerprint sensor. The sensor module <b>1740</b> further includes a control circuit for controlling at least one sensor included therein.
The input device <b>1750</b> includes a touch panel <b>1752</b>, a (digital) pen sensor <b>1754</b>, a key <b>1756</b>, or an ultrasonic input device <b>1758</b>. The touch panel <b>1752</b> recognizes a touch input through at least one of, for example, a capacitive scheme, a resistive scheme, an infrared scheme, and an ultrasonic scheme. The touch panel <b>1752</b> further includes a control circuit. A capacitive touch panel recognizes a physical contact or proximity. The touch panel <b>1752</b> further includes a tactile layer which provides a tactile reaction to a user.
The (digital) pen sensor <b>1754</b> may be embodied, for example, using a method identical or similar to a method of receiving a touch input of a user, or using a separate recognition sheet. The key <b>1756</b> includes, for example, a physical button, an optical key or a keypad. The ultrasonic input device <b>1758</b> generates an ultrasonic signal through an input tool, and identifies data by detecting a sonic wave through a microphone <b>1788</b> in the electronic device <b>1701</b>, and is capable of wireless recognition. According to an embodiment, the electronic device <b>1701</b> receives a user input from an external device connected to the electronic device <b>801</b> by using the communication module <b>1720</b>.
The display <b>1760</b> includes a panel <b>1762</b>, a hologram device <b>1764</b>, and a projector <b>1766</b>. The panel <b>1762</b> may be, for example, a liquid crystal display (LCD), or an active-matrix organic light emitting diode (AM-OLED. The panel <b>1762</b> may be flexible, transparent, or wearable, and configured to be integrated with the touch panel <b>1752</b> as a single module. The hologram device <b>1764</b> displays a stereoscopic image in the air by using interference of light. The projector <b>1766</b> projects light onto a screen to display an image. For example, the screen may be located inside or outside the electronic device <b>1701</b>. According to an embodiment of the present disclosure, the display <b>1760</b> further includes a control circuit for controlling the panel <b>1762</b>, the hologram device <b>1764</b>, or the projector <b>1766</b>.
The interface <b>1770</b> includes, for example, an HDMI <b>1772</b>, a universal Serial Bus (USB) <b>1774</b>, an optical interface <b>1776</b>, and a d-subminiature (D-sub) <b>1778</b>. The interface <b>1770</b> may be included in, for example, the communication interface <b>170</b> illustrated in <figref idrefs="DRAWINGS">FIG. 1</figref>. Additionally or alternatively, the interface <b>1770</b> includes a mobile high-definition link (MHL) interface, an SD card/multi-media card (MMC) interface, or an infrared data association (IrDA) standard interface.
The audio module <b>1780</b> bidirectionally converts a sound and an electric signal. At least some components of the audio module <b>1780</b> may be included in, for example, the input/output interface <b>150</b> illustrated in <figref idrefs="DRAWINGS">FIG. 1</figref>. The audio module <b>1780</b> processes sound information input or output through, for example, at least one of a speaker <b>1782</b>, a receiver <b>1784</b>, earphones <b>1786</b>, and the microphone <b>1788</b>.
The camera module <b>1791</b> captures a still image or a video, and according to an embodiment, includes one or more image sensors such as a front sensor or a rear sensor), a lens, an image signal processor (ISP), and a flash such as an LED or xenon lamp.
The power management module <b>1795</b> manages electric power of the electronic device <b>1701</b>, and includes a power management integrated circuit (PMIC), a charger IC, or a battery or fuel gauge.
The PMIC may be mounted to, for example, an integrated circuit or an SoC semiconductor. Charging methods may be classified into a wired charging method and a wireless charging method. The charger IC charges a battery and prevents over voltage or over current from a charger. According to an embodiment of the present disclosure, the charger IC includes a charger IC for at least one of the wired charging method and the wireless charging method. Examples of the wireless charging include magnetic resonance charging, magnetic induction charging, and electromagnetic charging, and an additional circuit such as a coil loop, a resonance circuit, and a rectifier may be added for the wireless charging.
The battery fuel gauge measure, for example, the remaining amount of battery, a charging voltage and current, or temperature. The battery <b>1796</b> stores or generates electricity, and supplies power to the electronic device <b>1701</b> using the stored or generated electricity. The battery <b>1796</b> includes, for example, a rechargeable battery or a solar battery.
The indicator <b>1797</b> displays a particular status of the electronic device <b>1701</b> or a part thereof, for example, at least one of a booting status, a message status, and a charging status. The motor <b>1798</b> converts an electric signal to a mechanical vibration. Although not illustrated, the electronic device <b>1701</b> includes a processing device such as a GPU) for supporting mobile TV. The processing device for supporting mobile TV processes media data according to a standard of digital multimedia broadcasting (DMB)digital video broadcasting (DVB), or media flow for example.
The above described components of the electronic device according to embodiments of the present disclosure may be formed of one or more components, and a name of a corresponding component element may be changed based on the type of electronic device. The electronic device according to the present disclosure may include one or more of the aforementioned components and may further include other additional components, or some of the aforementioned components may be omitted. Further, some of the components of the electronic device according to the embodiments of the present disclosure may be combined to form a single entity, and thus, may equivalently execute functions of the corresponding elements prior to the combination.
The term “module” used in the embodiments of the present disclosure refers to, for example, a unit including one or more combinations of hardware, software, and firmware. The “module” may be interchangeable with a term, such as a unit, a logic, a logical block, a component, or a circuit. The “module” may be the smallest unit of an integrated component or a part thereof. The “module” may be a minimum unit for performing one or more functions or a part thereof. The “module” may be mechanically or electronically implemented. For example, the “module” according to the embodiments of the present disclosure may include at least one of an application-specific IC (ASIC) chip, a field-programmable gate array (FPGA), and a programmable-logic device for performing operations which have been known or are to be developed hereinafter.
According to embodiments, at least some of the devices such as modules or functions thereof, or methods according to the embodiments of the present disclosure may be implemented as, for example, instructions stored in a non-transitory computer readable storage media in the form of programming modules. When the command is executed by one or more processors, the one or more processors execute a function corresponding to the command The computer-readable storage medium may be, for example, the memory <b>130</b>. At least some of the programming modules may be implemented by the processor <b>120</b>. At least some of the programming modules include, for example, a module, a program, a routine, a set of instructions or a process for performing one or more functions.
The computer readable recording medium may include magnetic media such as a hard disc, a floppy disc, and a magnetic tape, optical media such as a compact disc read only memory (CD-ROM) and a digital versatile disc (DVD), magneto-optical media such as a floptical disk, and hardware devices specifically configured to store and execute program commands, such as a read only memory (ROM), a random access memory (RAM), and a flash memory. In addition, the program instructions may include high class language codes, which can be executed in a computer by using an interpreter, as well as machine codes made by a compiler. The aforementioned hardware device may be configured to operate as one or more software modules in order to perform the operation of embodiments of the present disclosure, and vice versa.
A module or a programming module according to the present disclosure may include at least one of the described component elements, a few of the component elements may be omitted, or additional component elements may be included. Operations executed by a module, a programming module, or other component elements according to embodiments of the present disclosure may be executed sequentially, in parallel, repeatedly, or in a heuristic manner. Further, some operations may be executed according to another order or may be omitted, or other operations may be added.
According to embodiments of the present disclosure, a storage medium stores instructions, which are set to enable at least one processor to execute at least one operation when the instructions are executed by at least one processor, and the one or more operations includes executing a web browser; requesting registration in an IMS using a first client associated with the web browser, and displaying, in a part of the web browser using the first client, information associated with the network to which the electronic device is connected.
The embodiments of the present disclosure disclosed in the specification and the drawings are only particular examples disclosed in order to easily describe the technical matters of the present disclosure and help with comprehension of the present disclosure, and do not limit the scope of the present disclosure. Therefore, in addition to the embodiments disclosed herein, the scope of the embodiments of the present disclosure should be construed to include all modifications or modified forms drawn based on the technical idea of the embodiments of the present disclosure.
While the present disclosure has been shown and described with reference to certain embodiments thereof, it will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the scope of the present disclosure. Therefore, the scope of the present disclosure should not be defined as being limited to the embodiments, but should be defined by the appended claims and equivalents thereof.
Contents5
22 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4 Sheet 5 Sheet 6 Sheet 7 Sheet 8 Sheet 9 Sheet 10 Sheet 11 Sheet 12 Sheet 13 Sheet 14 Sheet 15 Sheet 16 Sheet 17 Sheet 18 Sheet 19 Sheet 20 Sheet 21 Sheet 22
Every citation, both ways
| Document | Relation | Office | Cited during |
|---|---|---|---|
| US10986219B2 | Cited by | United States of America | Applicant |
| US11063991B2 | Cited by | United States of America | Search report |
| US11509697B2 | Cited by | United States of America | Applicant |
| US2021132981A1 | Cited by | United States of America | Search report |
| US10834569B2 | Cited by | United States of America | Applicant |
| US10674347B2 | Cited by | United States of America | Applicant |
| CN110535871A | Cited by | China | Search report |
| CN110234177A | Cited by | China | Search report |
| US10866481B2 | Cited by | United States of America | Applicant |
| US11323937B2 | Cited by | United States of America | Applicant |
| US11223686B2 | Cited by | United States of America | Search report |
| US10846029B2 | Cited by | United States of America | Applicant |
| US11558433B2 | Cited by | United States of America | Applicant |
| US11064387B1 | Cited by | United States of America | Applicant |
| US10111068B2 | Cited by | United States of America | Applicant |
| US2019069229A1 | Cited by | United States of America | Search report |
| US11366621B2 | Cited by | United States of America | Applicant |
| CN106454484A | Cited by | China | Search report |
| US11457102B2 | Cited by | United States of America | Applicant |
| US10805869B2 | Cited by | United States of America | Search report |
| US10171987B1 | Cited by | United States of America | Search report |
| US10536489B2 | Cited by | United States of America | Search report |
| US2017134471A1 | Cited by | United States of America | Pre-grant |
| US2017134471A1 | Cited by | United States of America | Search report |
| US10470029B2 | Cited by | United States of America | Applicant |
| US10917256B2 | Cited by | United States of America | Search report |
| US2013117555A1 | Cites | United States of America | Pre-grant |
| US2014223452A1 | Cites | United States of America | Pre-grant |
| US2014325078A1 | Cites | United States of America | Pre-grant |
| US2015033300A1 | Cites | United States of America | Pre-grant |
| US2015081769A1 | Cites | United States of America | Pre-grant |
| US2015280963A1 | Cites | United States of America | Pre-grant |
| US2015373056A1 | Cites | United States of America | Pre-grant |
| US2016105468A1 | Cites | United States of America | Pre-grant |
| US2016119788A1 | Cites | United States of America | Pre-grant |
| US2017141934A1 | Cites | United States of America | Pre-grant |
3 members in 2 offices
Priority claims3
| Document | Office | Kind | Date |
|---|---|---|---|
| 20140159043 | Republic of Korea | A | |
| 1020140159043 | – | – | – |
| KR20140159043 | – | – | – |
Members3
| Document | Office | Kind | |
|---|---|---|---|
| US2016142467A1 | United States of America | A1 | |
| KR20160057873A | Republic of Korea | A | |
| US10440091B2 | United States of America | B2 |
6 legal events, as the office reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | |
|---|---|---|
| Maintenance fee paymentMAFP | MAFP | |
| Information on status: patent grantGrantedPATENTED CASESTCF | STCF | |
| Information on status: patent application and granting procedure in generalPUBLICATIONS -- ISSUE FEE PAYMENT VERIFIEDSTPP | STPP | |
| Information on status: patent application and granting procedure in generalNOTICE OF ALLOWANCE MAILED -- APPLICATION RECEIVED IN OFFICE OF PUBLICATIONSSTPP | STPP | |
| Information on status: patent application and granting procedure in generalNON FINAL ACTION MAILEDSTPP | STPP | |
| AssignmentAS | AS |
Numbers
- Publication
- 20160142467
- Publication, DOCDB
- 2016142467
- Publication, EPODOC
- US2016142467
- Application
- 14942632
- Application, DOCDB
- 201514942632
- Application, EPODOC
- US201514942632
Titles
- English
- COMMUNICATION METHOD, ELECTRONIC DEVICE AND STORAGE MEDIUM
Classification
- CPC, 6
- H04L67/02
- H04L65/1006
- H04L65/1016
- H04L65/105
- H04L65/1069
- H04L67/34
- IPC, 2
- H04L29 08
- H04L29 06
- USPC, 1
- 709219000