KR20090024847A - Communication system - Google Patents

Communication system Download PDF

Info

Publication number
KR20090024847A
KR20090024847A KR1020070089724A KR20070089724A KR20090024847A KR 20090024847 A KR20090024847 A KR 20090024847A KR 1020070089724 A KR1020070089724 A KR 1020070089724A KR 20070089724 A KR20070089724 A KR 20070089724A KR 20090024847 A KR20090024847 A KR 20090024847A
Authority
KR
South Korea
Prior art keywords
state
event
manager
protocol
media
Prior art date
Application number
KR1020070089724A
Other languages
Korean (ko)
Other versions
KR101427416B1 (en
Inventor
신용경
Original Assignee
엘지전자 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 엘지전자 주식회사 filed Critical 엘지전자 주식회사
Priority to KR1020070089724A priority Critical patent/KR101427416B1/en
Publication of KR20090024847A publication Critical patent/KR20090024847A/en
Application granted granted Critical
Publication of KR101427416B1 publication Critical patent/KR101427416B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1101Session protocols
    • H04L65/1104Session initiation protocol [SIP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1069Session establishment or de-establishment
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/65Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Computer Security & Cryptography (AREA)
  • Telephonic Communication Services (AREA)

Abstract

A communication system is provided to deal with an error of an application service stably by defining an event processing method according to a state when implementing SIP(Session Initiation Protocol) internet phone communication. A communications system includes a service management unit(100), a protocol stack management unit(200) and a media stack management unit(300). The service management unit handles the UI(User Interface) and the other task(10). The service management unit processes the event generated in the sub module. The protocol stack management unit is connected to the service management unit based on the event. The protocol stack management unit manages the protocol related stack. The protocol related stack decodes the SIP protocol for phone connection. The media stack management unit is connected to the service management unit based on the event. The media stack management unit charges the transmission of the media.

Description

통신 시스템{Communication System}Communication System {Communication System}

본 발명은 SIP(Session Initiation Protocol) 기반의 인터넷 전화 시스템에 관한 것이다.The present invention relates to an Internet telephony system based on Session Initiation Protocol (SIP).

인터넷을 기반으로 하는 전화 시스템이 구현되고 있다. 이른 바 인터넷 전화로 불리는 이 통신 시스템은 일반적은 음성신호의 송수신은 물론, 데이터 통신도 병행할 수 있다. 인터넷 전화 시스템은 인터넷을 기반으로 단말기 간의 음성과 데이터 통신을 수행한다. 기존의 통신망인 PSTN이 아니라 인터넷 망을 통하여 음성 통화를 구현한다. 인터넷 또는 IP를 이용한 통화방식으로 패킷 기반 망을 사용하기 때문에 일반적으로 저렴한 비용으로 전화를 할 수 있으며, VoIP는 ITU-T 표준인 Codec H.323을 사용하여 음성 뿐만 아니라 화상까지 송수신할 수 있는 멀티미디어 통신 기술이다. A telephone system based on the Internet is being implemented. This communication system, which is called an internet telephone, can generally transmit and receive data as well as transmit and receive voice signals. The Internet phone system performs voice and data communication between terminals based on the Internet. The voice call is implemented through the Internet instead of the PSTN. Since the packet-based network is used as a communication method using the Internet or IP, it is generally possible to make a low-cost call. VoIP is a multimedia that can transmit and receive not only voice but also video using Codec H.323, an ITU-T standard. Communication technology.

본 발명은 이벤트(event) 전달과 처리에 근거하여 SIP 인터넷 전화 통신을 수행하는 통신 시스템을 제공한다.The present invention provides a communication system for performing SIP Internet telephony based on event delivery and processing.

본 발명은 SIP 기반의 전화 연결 시, 사용자의 요구에 따라 변화하는 상태를 정의하고, 각 상태를 전이하는 이벤트를 두어 SIP 프로토콜로 콜 셋업(Call-Setup)을 하는 응용 시나리오에 적용할 수 있는 통신 시스템을 제공한다.The present invention defines a state that changes according to a user's request when SIP-based telephone connection, and the communication that can be applied to the application scenario of call setup (Call-Setup) to the SIP protocol by placing an event to transition each state Provide a system.

본 발명은 SIP 인터넷 전화 시스템으로서, 프록시 서버(proxy server), 단말 등에 따라 발생하는 (예외) 상황을 7가지의 스테이트(state)로 구분하고, 각 스테이트 별로 이벤트(event)를 처리하는 방법을 정의하여, 응용 서비스의 시나리오에 따른 오류에 안정적으로 대처할 수 있는 통신 시스템을 제공한다.The present invention is a SIP Internet telephony system, which classifies (exception) situations occurring according to a proxy server, a terminal, etc. into seven states, and defines a method of processing events for each state. By providing a communication system that can stably cope with errors according to scenarios of application services.

실시예에 따른 본 발명의 통신 시스템은, UI 및 다른 타스크(Task)와의 핸들링을 담당하며 하부 모듈에서 발생하는 이벤트를 받아 처리하는 서비스 관리부; 상기 서비스 관리부와 이벤트 기반으로 연결되어, 전화 연결을 위한 SIP 프로토콜을 인코딩/디코딩하는 프로토콜 관련 스택(stack)을 관리하는 프로토콜 스택 관리부; 상기 서비스 관리부와 이벤트 기반으로 연결되어, 전화 연결 프로토콜을 기반으로 통신이 이루어지면 해당 미디어의 전송을 담당하는 미디어 스택 관리부; 를 포함하는 것을 특징으로 한다.Communication system according to an embodiment of the present invention, the service management unit for handling the UI and other tasks (Task) and receives and processes events occurring in the lower module; A protocol stack manager connected to the service manager based on an event basis and managing a protocol related stack for encoding / decoding a SIP protocol for a telephone connection; A media stack manager connected to the service manager based on an event basis and responsible for transmitting corresponding media when communication is performed based on a telephone connection protocol; Characterized in that it comprises a.

실시예에 따른 본 발명의 통신 제어방법은, SIP 전화 연결시 이벤트를 기반으로 전화 통신을 관리하기 위하여, 정의된 스테이트(state)를 판별하는 단계; 정의된 스테이트에서, 규정된 이벤트 메시지 타입을 기반으로 이벤트 메시지를 생성하여 전달하고 스테이트 전이를 실행하는 단계; 전달된 이벤트 메시지를 토대로 SIP 전화 통신을 제어하는 단계; 를 포함하는 것을 특징으로 한다.According to an aspect of the present invention, there is provided a communication control method, comprising: determining a defined state to manage telephony communication based on an event when a SIP telephone connection is made; In the defined state, generating and delivering an event message based on the defined event message type and executing a state transition; Controlling SIP telephony based on the forwarded event message; Characterized in that it comprises a.

본 발명의 실시예에 따르면, 단말에서 응용 서비스를 효율적으로 개발하기 위하여 적절한 스테이트를 설정하고, 발생할 수 있는 이벤트를 정의하여 SIP 프로토콜로 콜-셋업(Call-Setup)을 하는 모든 응용 시나리오에 적용할 수 있으며, 응용 서비스에 따라 다양한 예외 상황이 발생하고 단말의 치명적인 오류에 대하여 안정적으로 이를 처리할 수 있는 통신 시스템을 제공한다.According to an embodiment of the present invention, in order to efficiently develop an application service in a terminal, an appropriate state may be set, and events that may occur may be applied to all application scenarios in which call-setup is performed using the SIP protocol. In addition, various exceptions occur according to application services and provide a communication system that can stably handle a fatal error of a terminal.

본 발명의 실시예에 따르면, 기존의 SIP 프로토콜을 이용하여 전화 연결시, 사용자의 요구에 따라 수시로 변하는 상태를 정의하고, 각 상태를 전이하는 이벤트를 두어, 개발자의 관점에서 SIP 프로토콜을 이용한 새로운 응용 서비스를 개발하고자 할 때, 객체 지향적인 시스템 설계를 할 수 있다.According to an embodiment of the present invention, when a telephone connection is made using the existing SIP protocol, a new application using the SIP protocol is defined from a developer's point of view by defining a state that changes from time to time according to a user's request, and placing an event to transition each state. When developing a service, you can design an object-oriented system.

본 발명의 실시예에 따르면, 상용망에서 콜-셋업 과정을 따라 인터넷 전화 연결 시스템을 설계할 때, 예외 처리 및 과다한 트래픽이 발생하여 시스템 오류가 초래될 수 있는 문제점을 해결할 수 있으며, 이는 시스템의 스테이트를 보고 예상된 이벤트일 경우에는 정형화된 루틴으로 대처하고, 그렇지 않을 경우에도 예외 상황을 효율적으로 처리할 수 있다는데 근거를 둔다.According to an embodiment of the present invention, when designing an Internet telephony connection system according to a call-setup process in a commercial network, it is possible to solve the problem that an exception may occur and excessive traffic may cause a system error. It is based on the fact that in case of expected event, it can be handled by a formal routine and handle exceptions efficiently.

도 1은 실시예에 따른 SIP 인터넷 전화 연결 시스템의 구조를 보여주고 있다. UI(User Interface) 및 다른 타스크(Task)(10)와의 핸들링을 담당하며 하부 모듈에서 발생하는 이벤트를 받아서 처리하는 서비스 메인 관리부(SM: Service Main Manager)(100), 전화 연결을 위하여 SIP 프로토콜을 인코딩/디코딩하는 프로토콜 관련 스택(Stack)을 관리하는 프로토콜 스택 관리부(PM: Protocol Stack Manager)(200), 전화 연결 프로토콜을 이용하여 통신이 이루어지기 위해 음성이나 영상과 같은 미디어 전송을 관리하는 미디어 스택 관리부(MM: Media Stack Manager)(300)를 포함한다.1 shows the structure of a SIP Internet telephony connection system according to an embodiment. Service Main Manager (SM) 100, which handles UI (User Interface) and other tasks (10) and receives and processes events occurring in lower modules, uses SIP protocol for telephone connection. Protocol Stack Manager (PM) 200 for managing a protocol-related stack for encoding / decoding, a media stack for managing media transmission such as voice or video for communication using a telephony protocol. A management unit (MM: Media Stack Manager) 300 is included.

서비스 메인 관리부(100)는 UI와 다른 시스템 타스크들 과의 인터페이스 역할을 하며, SIP 콜(Call)과 연관된 이벤트를 생성하고 처리하며, 사용자 정보와 관련된 데이터 베이스(DB)를 관리한다. 서비스 메인 관리부(100)는 서비스 이벤트 프로세스(Service Event Process)(110), 프레즌스 데이터 베이스 관리부(Presence DB Manager)(120), 동기 제어부(Synchronization Controller)(130), 사용자 프로파일 환경 관리부(User Profile Configuration Manager)(140), 비휘발성 데이터 베이스(NVDB: Non-Volatile DB)(20)의 데이터를 관리하는 비휘발성 데이터 베이스 관리부(NVDB Manager: Non-Volatile DB Manager)(150), 멀티미디어 코덱(Multimedia Codec)(30)과 연결되어 오디오/비디오 인코딩/디코딩을 제어하기 위한 오디오/비디오 제어부(Audio/Video Controller)(160)를 포함한다.The service main manager 100 serves as an interface between the UI and other system tasks, generates and processes an event associated with a SIP call, and manages a database related to user information. The service main manager 100 may include a service event process 110, a presence database manager 120, a synchronization controller 130, and a user profile environment manager. Manager (140), Non-Volatile DB (NVDB) 20, the non-volatile database management unit (NVDB Manager: Non-Volatile DB Manager) 150, multimedia codec And an audio / video controller 160 for controlling audio / video encoding / decoding.

서비스 이벤트 프로세스(110)는 UI(10)에서 들어오는 정의된 이벤트를 해석하여 다른 모듈에 전달하고, 다른 모듈에서 들어오는 이벤트를 해석하여 그 결과를 UI(10)로 알려준다. SIP로 전화를 연결할 때, 원하는 서비스를 수행하는 특정 어플리케이션(application)을 위하여 그 이벤트가 어떤 어플리케이션을 위한 SIP 전화 연결인지를 구분하여 관리하는 것이다. 이를 위하여, 서비스 이벤트 프로세스(110)는 보이스 콜 서비스(Voice Call Service) 프로세스(110a), 비디오 콜 서비 스(Video Call Service) 프로세스(110b), 컨퍼런스 콜 서비스(Conf. Call Service) 프로세스(110c)를 포함한다. 보이스 콜 서비스 프로세스(110a)는 음성 기반의 전화 연결을 처리하는 것이며, 비디오 콜 서비스 프로세스(100b)는 영상 기반의 전화 연결을 처리하는 것이며, 컨퍼런스 콜 서비스 프로세스(110c)는 다자간 통화 연결을 처리하는 것이다.The service event process 110 interprets the defined event coming from the UI 10 to another module, interprets the event coming from another module, and informs the UI 10 of the result. When connecting a telephone by SIP, for the specific application performing a desired service, the event is distinguished and managed for which application the SIP telephone connection. To this end, the service event process 110 includes a voice call service process 110a, a video call service process 110b, and a conference call service process 110c. It includes. The voice call service process 110a is to handle voice-based phone connection, the video call service process 100b is to handle video-based phone connection, and the conference call service process 110c is to handle multi-party call connection. will be.

프레즌스 데이터 베이스 관리부(120)는 버디(Buddy)의 프레즌스(Presence) 및 그룹(Group) 정보를 해당 데이터 베이스(Presence DB)(120a)에 저장 및 관리한다. 버디(Buddy)의 프레즌스(Presence) 정보로는 통신 상태(Status), 그룹 정보, 이름, 성별, 기호 등이 있으며, 어플리케이션(Application)의 요구 사항에 따라 이곳에 프레즌스(Presence)정보를 추가할 수 있다. 버디(Buddy) 의 그룹(Group) 정보로는 그룹 이름, 그룹 ID(Identification) 등이 있으며, 마찬가지로 어플리케이션(Application)의 요구 사항에 따라 이곳에 그룹 정보를 추가할 수 있다. 데이터 베이스 형태로 저장되는 버디 DB(Buddy DB), 그룹 DB(Group DB)를 관리할 수 있는 펑션(Function)들로 구성되어 있다. 또한 데이터 베이스의 액세스(Access), 삭제(Delete), 추가(Add), 업데이트(Update)를 위해 링크-리스트-메카니즘(Linked-List Mechanism)을 응용하여 적용한다.The presence database manager 120 stores and manages the presence and group information of the buddy in the corresponding database 120a. Buddy's presence information includes communication status, group information, name, gender, symbol, etc. Presence information can be added here according to the requirements of the application. have. Group information of Buddy includes group name and group ID, and similarly, group information can be added to the requirements of the application. It consists of functions that can manage Buddy DB and Group DB, which are stored in database form. In addition, Linked-List Mechanism is applied to access, delete, add, and update the database.

동기 제어부(Synchronization Controller)(130)는 CCB/NICB 풀(Pool)(130a)에 연결되어 오버랩 트랜잭션(Overlap Transaction), 미드-콜 트랜잭션(Mid-Call Transaction)을 처리한다. 또한, 동시에 여러 개의 트랜잭션(Transaction) 또는 다이얼로그(Dialog)를 구별하고, 동시에 처리되는 각각의 트랜잭션(Transaction) 또 는 다이어로그(Dialog)들 상호간의 독립성을 최대한 유지하는 역할을 한다.The synchronization controller 130 is connected to the CCB / NICB pool 130a to process an overlap transaction and a mid-call transaction. It also distinguishes several transactions or dialogs at the same time and maintains maximum independence between each transaction or dialog processed at the same time.

사용자 프로파일 환경 관리부(User Profile Configuration Manager)(140)는 사용자 프로파일 저장부(140a)에 연결되어 어플리케이션(Application) 별로 해당 데이터(Provisioning Profile Data)를 저장하거나, 초기화하는 등의 관리를 수행한다. 예를 들면 인증 파라미터(Authentication Parameter), 등록(기술) 종료값(Registration(Subscription) Expire Value)를 관리한다. 프로토콜 스택 관리부(200)에서 이 프로파일 데이터(Profile Data)를 이용하여 콜 객체(Call Object)의 초기 데이터를 구성한다.The user profile configuration manager 140 is connected to the user profile storage 140a to store or initialize provisioning data for each application. For example, it manages an Authentication Parameter and a Registration (Subscription) Expire Value. The protocol stack manager 200 configures initial data of a call object using this profile data.

비휘발성 데이터 베이스 관리부(NVDB Manager)(150)는 비휘발성 데이터 베이스(20)와 연결되어 서버의 연결정보(Server URI/IP Address), 서비스 제어 파라미터(Service Enable/Disable Parameter), 수신 모드(Receiving Mode), 로그인 프로세스(Login Process) 등을 결정하는 비휘발성 데이터를 관리한다.Non-volatile database manager (NVDB Manager) 150 is connected to the non-volatile database 20, the server connection information (Server URI / IP Address), service control parameters (Service Enable / Disable Parameter), Receiving mode (Receiving) Mode), non-volatile data that determines login process and so on.

오디오/비디오 제어부(Audio/Video Controller)(160)는 멀티미디어 코덱(30)과 연결되어 멀티미디어 코덱(30)을 제어함으로써 오디오 및/또는 비디오 등의 멀티미디어 데이터의 인코딩이나 디코딩 등을 관리한다.The audio / video controller 160 is connected to the multimedia codec 30 to control the multimedia codec 30 to manage encoding or decoding of multimedia data such as audio and / or video.

프로토콜 스택 관리부(Protocol Stack Manager)(200)는 프로토콜 스택 관리부 내에서 SIP 다이얼로그(SIP Dialog) 또는 SIP 콜 프로세션(SIP Call Procession)을 위해 사용되는 콜 객체(Call Object)를 관리한다. RFC 3261에서 제시하는 SIP 기본 메카니즘을 사용하고, 서비스 메인 관리부(100)에서 전달받은 사용자 정보를 기본으로 하여 콜을 생성한다. 이를 위하여 프로토콜 스택 관리 부(200)는 SIP 이벤트 핸들러(210)를 두고 있으며, SIP 이벤트 핸들러(210)에 의하여 SIP 콜(SIP Call) 핸들러(220) 및 비 SIP 콜(SIP Non-Call) 핸들러(230), 타이머(Timer)(240), 네트워크(Network) 관리부(250), 프로토콜(Protocol) 관리부(260), SDP(Session Description Protocol) 관리부(270), XML 관리부(280), 환경설정부(Configuration)(290)를 포함한다. SIP 콜 핸들러(220, 230)는 SIP Call 및 SIP Non-Call을 관리하고, 타이머(Timer)(240)는 시간정보를 제공 및 관리하며, 네트워크 관리부(250)는 PPP 접속(Connection) 설정, 해제, 상태 체크 등을 수행하고 SIP를 위한 소켓 제어(Socket Control) 및 SIP 메시지 송/수신(SIP Message Sending/Receiving)을 수행한다. 프로토콜 관리부(260)는 관련 프로토콜을 관리하며, SDP 관리부(270)는 미디어 전송 및 수신을 위하여 메시지 구성(Message Forming) 및 교섭(Negotiation)을 수행한다. XML 관리부(280)는 SIP 이벤트 핸들링을 위한 XML 정보를 다루며, 환경설정부(290)는 SIP 이벤트 핸들링을 위한 환경정보의 설정 및 관리를 담당한다.The protocol stack manager 200 manages a call object used for a SIP dialog or a SIP call process in the protocol stack manager. Using the SIP basic mechanism proposed in RFC 3261, and creates a call based on the user information received from the service main management unit 100. To this end, the protocol stack management unit 200 has a SIP event handler 210, and the SIP call handler 220 and the SIP Non-Call handler (SIP) by the SIP event handler 210. 230, a timer 240, a network manager 250, a protocol manager 260, a session description protocol (SDP) manager 270, an XML manager 280, an environment setup unit ( Configuration 290). The SIP call handlers 220 and 230 manage SIP calls and SIP non-calls, a timer 240 provides and manages time information, and the network manager 250 sets and releases a PPP connection. It performs a status check and performs socket control for SIP and SIP message sending / receiving. The protocol manager 260 manages related protocols, and the SDP manager 270 performs message forming and negotiation for media transmission and reception. The XML manager 280 handles XML information for SIP event handling, and the environment setting unit 290 is in charge of setting and managing environment information for SIP event handling.

미디어 스택 관리부(Media Stack Manager)(300)는 미디어 이벤트 핸들러(Media Event Handler)(310)를 포함하며, 전화 연결이 이루어졌을 때 음성이나 영상과 같은 미디어 전송을 관리한다. 이를 위하여 RTP/RTCP(Real Time Transport Protocol/RTP Control Protocol) 스택 관리부(320), MSRP(Message Session Relay Protocol) 스택 관리부(330), 미디어 프로파일(Media Profile) 관리부(340)를 포함한다. 미디어 스택 관리부(300)에 의해서 이루어지는 미디어 전송 관리는 다음과 같이 수행된다.The media stack manager 300 includes a media event handler 310 and manages media transmission such as voice or video when a telephone connection is made. To this end, it includes a Real Time Transport Protocol / RTP Control Protocol (RTP) stack manager 320, a Message Session Relay Protocol (MSRP) stack manager 330, and a media profile manager 340. Media transmission management performed by the media stack manager 300 is performed as follows.

SIP 콜 연결이 설정되면 두 단말은 데이터를 주고 받는다. 이때 데이터로는 음성, 이미지, 동영상 등 다양한 형태를 지원한다. SIP 프로토콜로는 콜 연결만 가능하고 데이터를 위한 채널은 다른 프로토콜을 이용하여야 한다. 미디어 스택 관리부(30))는 데이터를 주고 받기 위한 추가적인 프로토콜을 관리한다. 본 발명에서 제시하는 데이터 교환 프로토콜로는 MSRP(Message Session Relay Procotol)를 사용한다. 콜 연결시 SDP로 데이터 교환을 위하여 어떤 프로토콜을 이용할 것인지 정의하고 포트 번호를 교섭(negotiation)한다. 서로 간의 네트워크 채널이 정상적으로 열리면 MSRP 형식으로 데이터를 만들어 전달하고, 이벤트 및 전송상태를 미디어 스택 관리부(300)에서 체크한다. SIP 콜이 해제되면 MSRP 채널도 자동으로 닫혀야 하므로 서비스 메인 관리부(100)에서 실시간으로 이벤트를 주고 받을 수 있다.When the SIP call connection is established, the two terminals exchange data. At this time, various types of data such as voice, image, and video are supported. The SIP protocol only allows call connection and the channel for data should use another protocol. The media stack manager 30 manages an additional protocol for sending and receiving data. As the data exchange protocol proposed in the present invention, MSRP (Message Session Relay Procotol) is used. Define the protocol to use for data exchange with SDP when negotiating a call and negotiate port numbers. When the network channels are normally opened with each other, data is created and transmitted in the form of MSRP, and the media stack manager 300 checks the event and transmission status. When the SIP call is released, the MSRP channel should be automatically closed, so the service main management unit 100 can send and receive events in real time.

도 1에 나타낸 SIP 인터넷 전화 연결 시스템을 기반으로 단말 간의 전화 연결은 다음과 같이 이루어진다.On the basis of the SIP Internet telephone connection system shown in FIG. 1, a telephone connection between terminals is performed as follows.

MO(전화를 거는 단말)와 MT(전화를 받는 단말)가 프록시 서버(Proxy Server)에 등록(REGISTER) 과정을 끝내고 전화연결의 유효한 상태가 되면 'NULL'로 초기화 된다. MO가 원하는 상대를 선택하여 MT에 전화를 걸면 'INVITE request'를 보내고 'ESTABLISHING State'가 된다. MT는 이를 받고 요구되는 미디어 정보를 해석하여 MO와 미디어 채널 연결 가능 여부를 판단한다. 이때 MT는 'WAITMEDIAANSWER state'가 된다. MT가 해석할 수 없는 미디어 채널 혹은 미디어 코덱을 요구할 경우 MT는 실패 메시지(Failure message)를 보내야 하므로 'CLEARING state'로 간다. 'NULL'상태로 바로 가지 않고 'CLEARING state'에서 SIP 시그널 특성 상 주고 받아야 하 는 메시지를 걸러주어 시스템에 예외상황을 막는 역할을 한다. MT가 해석 가능한 미디어 채널을 요구할 경우 자신의 시스템 정보를 SDP 메시지에 실어서 응답 메시지(response message)를 보내고 MT는 'RESPONDING state'로 전이한다. 'INVITE'에 대해 '200 OK response'를 보냈더라도 'ACK' 메시지를 받아야 콜 연결이 성공하기 때문에 'RESPONDING state'에서 MO로부터의 'ACK' 메시지를 기다린다. 한편 MT로부터 응답을 받은 MO는 'ACK' 메시지를 보낸 후 '200 OK'일 경우 미디어 채널을 생성 및 해제 관리하는 미디어 스택 관리부(MM)에 세션 생성 이벤트를 보내어 데이터를 받을 준비를 한다.The MO (calling terminal) and MT (calling terminal) complete the REGISTER process on the proxy server and are initialized to NULL when the telephone connection is valid. When the MO selects the desired partner and calls the MT, it sends 'INVITE request' and becomes 'ESTABLISHING State'. The MT receives the information and interprets the required media information to determine whether the MO and media channel can be connected. At this time, MT becomes 'WAITMEDIAANSWER state'. If the MT requires a media channel or media codec that cannot be interpreted, the MT must send a failure message, so go to the CLEARING state. It does not go to 'NULL' state immediately but filters the message that needs to be sent and received due to the characteristics of SIP signal in 'CLEARING state' to prevent an exception to the system. When the MT requests an interpretable media channel, it sends its response information by putting its system information in the SDP message and the MT transitions to the 'RESPONDING state'. Even if '200 OK response' is sent for 'INVITE', 'ACK' message must be received before the call connection is successful, so wait for 'ACK' message from MO in 'RESPONDING state'. On the other hand, the MO, which receives the response from the MT, prepares to receive data by sending a session creation event to the media stack management unit (MM) that manages the generation and release of the media channel when the message is '200 OK'.

본 발명에서는 7가지의 스테이트(Seven States)를 두어 전화를 거는 단말(Mobile Originator, 이하 MO라 함)과 전화를 받는 단말(Mobile Terminator, 이하 MT라 함)에서 발생할 수 있는 예외 상황을 효율적으로 처리하는 과정을 설명한다. RFC3261에서 제시하는 프록시 서버(Proxy Server)나 릴레이 서버(Relay Server)에 의해 나타날 수 있는 MO와 MT의 에러 상황을 제외하고는 서버 시스템 내부 에러 상황에 관련된 내용은 본 발명의 범위를 벗어나므로 다루지 않는다.The present invention efficiently handles exceptions that may occur in a terminal making a call (Mobile Originator, hereinafter referred to as MO) and a terminal receiving a call (Mobile Terminator, hereinafter referred to as MT) with seven states. Explain the process. Except for the error situations of MO and MT, which may be indicated by the proxy server or relay server presented in RFC3261, the contents related to the internal error situation of the server system are not covered because they are outside the scope of the present invention. .

먼저, MO의 전화연결 과정을 살펴본다.First, let's look at the phone connection process of MO.

MO는 등록(REGISTER) 과정을 통하여 프록시 서버(Proxy Server)에 주소 및 세션(Session) 정보를 등록한다. 등록과정이 성공적으로 끝나면 사용자는 연결하고자 하는 상대방을 선택하여 전화 연결을 시도하는데 MO는 현재의 상태정보를 가지고 인바이트 메시지(INVITE MESSAGE or INVITE METHOD)를 텍스트(text) 기반으로 인코딩하여 프록시 서버(Proxy Server)에 보낸다. 그리고 상대방의 상태에 따라 '100 Trying'이 오거나 '200 OK' 응답 메시지(response message)가 온다. 또한 이와 함께 전달되는 SDP 메시지를 해석하여 콜-셋업(Call-Setup)이 성공하였는지, 실패하였는지, 아니면 내가 가지고 있는 상대방의 미디어 정보 및 주소 정보를 변경해야 하는지를 판단하게 된다. 그리고 나서 SDP 정보를 해석하여 적합한 미디어 채널을 열어 음성이나 영상을 주고받는다. 전화 연결을 끊을 경우는 MO이든 MT이든 관계없이 한쪽에서 'BYE' 요청 메시지(request message)를 생성하여 보내고, '200 OK' 응답 메시지(response message)를 받으면 미디어 세션 및 SIP 인터넷 전화연결이 끊어진다.The MO registers address and session information with a proxy server through a REGISTER process. When the registration process is successful, the user selects the other party to connect to and attempts to connect the phone. The MO encodes the byte message (INVITE MESSAGE or INVITE METHOD) based on the text with the current status information. Proxy Server). Then, depending on the status of the other party, '100 Trying' or '200 OK' response message comes. In addition, by interpreting the SDP message delivered with this to determine whether the call-setup (Call-Setup) succeeded or failed, or whether you need to change the media information and address information of the other party. It then interprets the SDP information and opens the appropriate media channels to send and receive voice or video. When disconnecting a phone, regardless of whether it is MO or MT, one side generates a 'BYE' request message and sends it, and when a '200 OK' response message is received, the media session and SIP Internet call are disconnected. .

다음, MT의 전화연결 과정을 살펴본다.Next, look at the MT's telephone connection process.

MT도 등록(REGISTER)과정이 우선되어야 하며, 등록과정이 성공적으로 끝나면 상대방으로부터 전화가 걸려온다. 상대방이 연결을 시도하는 채널의 형태가 음성인지 영상인지에 따라 MT는 이를 인코딩 및 디코딩 가능한지를 결정해야 한다. In the MT, the REGISTER process must be prioritized. If the registration process is successful, a call is received from the other party. The MT must determine whether it can encode and decode according to whether the channel of the other party attempts to connect is voice or video.

예를 들어, MO가 실어 보내는 SDP의 세션 정보를 해석하여 미디어 채널 생성이 가능한지를 판단하여 '200 OK response message'를 보내고, 그렇지 않을 경우 'Request Failure 4xx', 'Server Failure 5xx', 'Global Failure 6xx' 중에서 MT의 상태를 알릴 수 있는 적절한 응답 메시지(Response message)를 선택하여 보낸다. '200 OK'를 보낸 경우 MO가 잘 받았는지 확인 하기 위하여 'ACK request message'를 기다린다. 'ACK'를 받으면 미디어를 위한 채널을 열어 데이터를 주고 받는다.For example, it interprets the session information of the SDP sent by the MO to determine whether it is possible to create a media channel, and sends a '200 OK response message'. Otherwise, 'Request Failure 4xx', 'Server Failure 5xx', 'Global Failure' 6xx 'select and send appropriate response message (Response message) that can inform the status of MT. If '200 OK' is sent, wait for 'ACK request message' to check if MO is well received. When it receives 'ACK', it opens a channel for media to send and receive data.

본 발명의 실시예에서는 상기한 바와 같은 과정으로 SIP 전화 연결이 이루어질 때 발생할 수 있는 이벤트의 명명 규칙(Event Naming Rule)을 다음과 같이 구분 하였다.In the embodiment of the present invention, an event naming rule of an event that may occur when a SIP telephone connection is made in the above-described process is classified as follows.

기본적으로 이벤트 명명은 '대분류_중분류_접미사'의 구조를 기반으로 한다. 여기서 '대분류' 항목은 이벤트를 처리하는 주체를 표현하고, '중분류' 항목은 의미 전달이 명확하게 이루어질 수 있도록 이벤트의 오퍼레이션(Operation)에 대한 동사나 명사를 표현하고, '접미사' 항목은 반드시 짝을 이루어야 하는 경우에 대한 이벤트 접미사(postfix)와 짝을 이루지 않고 홀로 존재하는 이벤트 접미사로 몇 가지의 경우를 표현하였다. 표1은 이벤트 명명 규칙에 따라 SIP 인터넷 전화 연결 시 발생하는 이벤트 명(Event Name), 내용(Event Contents), 이벤트 전달의 방향(경로)(Direction)의 예를 보여주고 있다.Basically, event naming is based on the structure of 'large classification_mid classification_suffix'. In this case, the 'categorization' item expresses the subject that processes the event, the 'middle classification' item expresses a verb or noun about the operation of the event so that the meaning can be clearly communicated, and the 'suffix' item must match Several cases are expressed as event suffixes that exist alone, not in pairs with event suffixes for cases where this is to be done. Table 1 shows an example of Event Name, Event Contents, and Event Forwarding (Direction) that occur when connecting to SIP Internet Phone according to event naming convention.

Figure 112007064447208-PAT00001
Figure 112007064447208-PAT00001

표 1에서는 본 발명에서 제시하는 이벤트 이름과 어떤 상황에서 이벤트가 발생하는지 설명하고 있으며, 발생 방향은 화살표 왼쪽이 송신측(Sender)이 되고, 오른쪽이 수신측(Receiver)이 되어 해당 메시지를 주고 받는다. 후에 설명될 본 발명에 따른 각 스테이트(State)의 전이는 위와 같은 이벤트를 기본으로 설명하게 된다. 발생방향에서 UI는 사용자 인터페이스(User Interface)를 나타낸다. 이벤트 설명에서 발신자는 전화를 거는 사람, 수신자는 전화를 받는 사람, 발신 측은 전화를 거는 단말(MO), 수신 측은 전화를 받는 단말(MT), 상대방은 발신 측 혹은 수신 측을 말한다.Table 1 describes the event name suggested in the present invention and under what circumstances the event occurs. In the direction of occurrence, the left side of the arrow becomes a sender and the right side receives a receiver to send and receive messages. . The transition of each state according to the present invention to be described later will be described based on the above events. In the generation direction, the UI represents a user interface. In the event description, the caller is the person who makes the call, the receiver is the person who receives the call, the caller is the caller terminal (MO), the receiver is the caller terminal (MT), and the caller is the caller or receiver.

'대분류' 항목은 이벤트를 처리하는 주체로서, 메인 서비스 관리부(100)는 'SM'으로 표현하고, 프로토콜 스택 관리부(200)는 'PM'으로 표현하고, 미디어 스택 관리부(300)는 'MM'으로 표현한다.The 'classification' item is a subject for processing an event, the main service manager 100 is expressed as 'SM', the protocol stack manager 200 is expressed as 'PM', the media stack manager 300 is 'MM' Express as

'중분류' 항목은 의미 전달이 명확하도록 이벤트의 오퍼레이션(Operation)에 대한 동사나 명사로서, 예를 들면 'ESTABLISH', 'INCOMING', 'SENDINVITE' 와 같은 메시지 타입에 따르며, 표1에 여러 가지 중분류 항목들의 예들을 더욱 상세하게 나타내었다.The 'middle category' is a verb or noun for the operation of an event so that the meaning is clearly communicated, depending on the message type such as 'ESTABLISH', 'INCOMING', and 'SENDINVITE', for example. Examples of items are shown in more detail.

'접미사' 항목 중에서 반드시 짝을 이루어야 하는 경우에 대한 이벤트 접미사는 'REQ(REQuest)', 'RES(RESponse)', 'RPT(RePorT)', 'CNF(CoNFirm)'이 있다. 도 2를 참조하면, 'REQ(REQuest)'는 상위 계층(Upper Layer)에서 하위 계층(Lower Layer)으로 특정 오퍼레이션을 요청하는 경우를 표현하고, 'RES(RESponse)'는 REQ에 대한 오퍼레이션을 완료한 이후에 대한 응답을 보내는 경우를 표현하고, 'RPT(RePorT)'는 하위 계층(Lower Layer)에서 상위 계층(Upper Layer)으로 특정 오퍼레이션을 요청하는 경우를 표현하고, 'CNF(CoNFirm)'는 RPT에 대한 처리가 완료되었음을 하위 계층(Lower Layer)으로 다시 알려주는 응답을 보내는 경우를 표현한다.Event suffixes for the case that must be paired among 'suffix' items are 'REQ (REQuest)', 'RES (RESponse)', 'RPT (RePorT)', and 'CNF (CoNFirm)'. Referring to FIG. 2, 'REQ (REQuest)' represents a case of requesting a specific operation from an upper layer to a lower layer, and 'RES (RESponse)' completes an operation for REQ. Represents a case in which a response is sent afterwards, 'RPT (RePorT)' represents a case of requesting a specific operation from a lower layer to an upper layer, and 'CNF (CoNFirm)' Represents a case in which a response is sent to notify the lower layer that the RPT processing has been completed.

'접미사' 항목 중에서 짝을 이루지 않고 홀로 존재하는 이벤트 접미사는, 'IND(Indication)', 'CMD(Command)'가 있다. 도2를 참조하면, 'IND(Indication)'는 하위 계층(Lower Layer)에서 상위 계층(Upper Layer)으로 특정 상황을 알리고, 이에 대한 추가 이벤트 프리미티브(primitive) 교환이 필요하지 않은 경우를 표현하고, 'CMD(Command)'는 상위 계층(Upper Layer)에서 하위 계층(Lower Layer)으로 특정 상황을 알리고 이에 대한 추가 이벤트 프리미티브(primitive) 교환이 필요하지 않은 경우를 표현한다. 따라서, 'CMD'에 대해서는 'RES'를 동반하지 않으며, 'IND'에 대해서는 'CNF'를 동반하지 않는다.Event suffixes that are not paired among the 'suffix' items are 'IND (Indication)' and 'CMD (Command)'. Referring to FIG. 2, 'IND (Indication)' indicates a specific situation from a lower layer to an upper layer and expresses a case in which an additional event primitive exchange is not necessary. 'CMD (Command)' indicates a case in which a specific situation is notified from an upper layer to a lower layer and an additional event primitive exchange is not required. Therefore, 'CM' is not accompanied by 'RES' and 'IND' is not accompanied by 'CNF'.

본 발명에서는 SIP 인터넷 전화 연결시 프록시 서버, 단말 등에 따라 발생하는 (예외) 상황을 7가지의 스테이트(state)로 구분하고, 각 스테이트별로 이벤트를 처리하는 방법을 정하였다.In the present invention, a situation in which (exception) occurs depending on a proxy server, a terminal, and the like when a SIP Internet telephone is connected is divided into seven states, and a method of processing an event for each state is determined.

실시예에 따른 스테이트(State)는 'NULL', 'CLEARING', 'ESTABLISHING', 'WAITMEDIAANSWER', 'WAITUSERANSWER', 'RESPONDING', 'ACTIVE'로써 7개이다.According to the embodiment, seven states are 'NULL', 'CLEARING', 'ESTABLISHING', 'WAITMEDIAANSWER', 'WAITUSERANSWER', 'RESPONDING', and 'ACTIVE'.

각 스테이트의 전이 과정에 대해서 첨부된 도 3 내지 도 9를 참조하여 살펴본다.The transition process of each state will be described with reference to FIGS. 3 to 9.

먼저, 'NULL' 스테이트는 MO(전화를 거는 단말)와 MT(전화를 받는 단말)가 프록시 서버(Proxy Server)에 등록을 거치고 유효한 사용자 인증을 받은 후 초기화 되는 스테이트이다. 'NULL' 스테이트의 전이 과정은 도 3에 나타낸 바와 같다.First, the NULL state is a state where the MO (calling terminal) and the MT (calling terminal) are initialized after registering with a proxy server and valid user authentication. The transition process of the 'NULL' state is shown in FIG. 3.

단말은 NULL 상태에서 'INVITE request'를 보내는 쪽이 MO가 되고 받는 쪽이 MT가 된다. 제 1 단계(S111)로 표현된 단계 'SM_ESTABLISH_CMD'는 UI(10)로부터 서비스 메인 관리부(SM)(100)로 SIP 전화연결 요청이 시작되는 이벤트이고, 제 2 단계(S112)로 표현된 단계 'PM_SEDNINVITE_CMD'는 서비스 메인 관리부(SM)(100)로부터 프로토콜 스택 관리부(PM)(200)로 'INVITE message'를 만들어서 수신측에 전달하도록 요청하는 이벤트이다. 제 3 단계(S113)로 표현된 단계 'PM_RECEIVEINVITE_IND'는 프로토콜 스택 관리부(PM)(200)로부터 서비스 메인 관리부(SM)(100)로 발신측에서 'INVITE message'가 왔음을 알리는 이벤트이고, 제 4 단계(S114)로 표현된 단계 'MM_SESSIONCREATE_REQ'는 서비스 메인 관리부(SM)(100)로부터 미디어 스택 관리부(MM)(300)로 멀티미디어 데이터를 받기 위하여 세션을 생성하도록 요청하는 이벤트이다. 제 2 단계(S112) 이후에는 'ESTABLISHING' 스테이트로 전이하고, 제 4 단계(S114) 이후에는 'WAITMEDIAANSWER' 스테이트로 전이한다.In the NULL state, the terminal sends the 'INVITE request' to the MO and the receiving side becomes the MT. The step 'SM_ESTABLISH_CMD' represented by the first step S111 is an event in which a SIP call connection request is started from the UI 10 to the service main manager SM 100, and the step 'represented by the second step S112 is performed. PM_SEDNINVITE_CMD 'is an event for requesting to make an' INVITE message 'from the service main manager (SM) 100 to the protocol stack manager (PM) 200 and to deliver it to the receiver. The step 'PM_RECEIVEINVITE_IND' represented by the third step S113 is an event indicating that the 'INVITE message' has come from the calling party to the service main manager (SM) 100 from the protocol stack manager (PM) 200, and the fourth step (S113). Step 'MM_SESSIONCREATE_REQ' represented by step S114 is an event requesting to create a session in order to receive multimedia data from the service main manager (SM) 100 to the media stack manager (MM) 300. After the second step S112, the state transitions to the 'ESTABLISHING' state, and after the fourth step S114, the state transitions to the 'WAITMEDIAANSWER' state.

'CLEARING' 스테이트의 전이 과정을 도 4에 나타내었다.The transition process of the 'CLEARING' state is shown in FIG. 4.

RFC 3261에서 제시하는 SIP 시그널링(Signaling)은 '200 OK'를 보내고 나서도 'ACK'를 받아야 최종적으로 미디어 세션이 열린다. '200 OK'가 아닌 시스템 상의 문제로 연결이 실패할 경우라도 해당 메시지(Failure message)를 보내고 'ACK'를 받아야 한다. 그렇지 않을 경우 재전송 해야 한다. 따라서 전화연결이 실패할 경우 이전 스테이트에서 'NULL' 상태로 전이하게 되면 'ACK'를 받았는지 확인 할 수 없으므로 상대방의 시스템이나 서버에 치명적인 에러를 일으킬 수 있다. 따라서 'CLEARING' 상태로 우선 전이 한 다음 'NULL' 상태로 전이하기 위한 처리를 반드시 해야 한다. 도 4에서 'PM_END_RES' 단계(S211)는 프로토코 스택 관리부(PM)(200)에서 서비스 메인 관리부(SM)(100)로 전달되는 이벤트로서 수신측으로부터 'BYE'에 대한 응답 메시지(response message)가 왔음을 알리는 이벤트이고, 'PM_ACK_IND' 단계(S212)는 프로토콜 스택 관리부(PM)(200)에서 서비스 메인 관리부(SM)(100)로 전달되는 이벤트로서 발신 측에서 'ACK' 메시지가 왔음을 알리는 이벤트이다. S211, S212 이후에는 'NULL' 스테이트로 전이한다.SIP signaling suggested in RFC 3261 requires 'ACK' even after sending '200 OK' to finally open a media session. Even if the connection fails due to a system problem other than '200 OK', a corresponding message (Failure message) must be sent and an 'ACK' is received. If not, it must be resent. Therefore, if the telephone connection fails, it can cause a fatal error to the other party's system or server because it can't check whether the 'ACK' is received if the previous state transitions to NULL. Therefore, you must first process the transition to the 'CLEARING' state and then to the 'NULL' state. In FIG. 4, the 'PM_END_RES' step (S211) is an event transmitted from the protoco stack manager (PM) 200 to the service main manager (SM) 100 and a response message for 'BYE' from the receiver. It is an event indicating that it has been received, and the 'PM_ACK_IND' step (S212) is an event transmitted from the protocol stack manager (PM) 200 to the service main manager (SM) 100 and informs that the 'ACK' message has been received from the calling party. It is an event. After S211 and S212, the state transitions to the NULL state.

'ESTABLISHING' 스테이트의 전이 과정을 도 7에 나타내었다. 이 과정은 MO(전화를 거는 단말)가 상대방에게 전화를 걸어 연결 의사를 묻고 있는 상태를 말한다. MO의 미디어 정보를 SDP에 실어 SIP 시그널과 함께 보내면 MT(전화를 받는 단말)로부터 연결 가능여부를 알려준다. MO는 'ESTABLISING' 상태에서 MT의 결과값을 해석하여 다른 스테이트로 전이한다.The transition process of the 'ESTABLISHING' state is shown in FIG. 7. This process is the state where the MO (calling terminal) calls the other party and asks for the connection. When the media information of the MO is loaded on the SDP and sent along with the SIP signal, it indicates whether the MT (phone receiving terminal) can connect. The MO interprets the MT result in the 'ESTABLISING' state and transitions to another state.

제 1 단계(S311)(PM_FINALRESPONSE_IND)는 프로토콜 스택 관리부(PM)(200)에서 서비스 메인 관리부(SM)(100)로 전달하는 이벤트로서 수신측으로부터 'INVITE'에 대한 응답 메시지가 왔음을 알리는 이벤트이고, 제 2 단계(S321)는 '200 OK'인지를 판별하는 단계이다. '200 OK'이면 제 3 단계(S313)(MM_SESSIONCREATE_REQ)로 이행하여 서비스 메인 관리부(SM)(100)로부터 미디어 스택 관리부(MM)(300)로 멀티미디어 데이터를 받기 위하여 세션을 형성하도록 요청하는 이벤트를 전달하고, 제 4 단계(S314)(PM_ACK_CMD)에서 서비스 메인 관리부(SM)(100)로부터 프로토콜 스택 관리부(PM)(200)로 '200 OK'를 수신하였음을 알리기 위하여 'ACK' 메시지를 만들어서 수신측에 전달하도록 요청하는 이벤트를 보낸다. '200 OK'가 아니면 제 5 단계(S315)(SM_ESTABLISH_IND)로 이행하여 서비스 메인 관리부(SM)(100)로부터 SIP 전화 연결이 시작됨을 알리는 이벤트를 전달하고, 제 6 단계(S316)(PM_ACK_CMD)로 이행하여 관련 이벤트를 보낸다. 제 7 단계(S317)(SM_END_CMD)는 사용자 인터페이스 (UI)로부터 서비스 메인 관리부(SM)(100)로 발신자가 전화 연결을 해제하는 이벤트를 발생시키는 단계이며, 전화 연결 시도 중에서 이벤트 발생이 가능하다. 제 8 단계(S318)(PM_END_REQ)는 서비스 메인 관리부(SM)(100)로부터 프로토콜 스택 관리부(PM)(200)로 'BYE' 메시지를 만들어서 상대방에게 전달하도록 요청하는 이벤트를 발생시키는 단계이다. 제 4 단계(S314) 이후에는 'WAITMEDIAANSWER' 스테이트로 전이하고, 제 6 단계(S316) 및 제 8 단계(S318) 이후에는 'CLEARING' 스테이트로 전이한다.The first step S311 (PM_FINALRESPONSE_IND) is an event transmitted from the protocol stack manager (PM) 200 to the service main manager (SM) 100 and indicates that a response message for 'INVITE' has been received from the receiver. , Second step S321 is a step of determining whether or not '200 OK'. If it is '200 OK', the process proceeds to the third step S313 (MM_SESSIONCREATE_REQ) and requests an event to form a session for receiving multimedia data from the service main manager (SM) 100 to the media stack manager (MM) 300. In the fourth step S314 (PM_ACK_CMD), a 'ACK' message is generated and received to inform the protocol stack manager (PM) 200 of the service stack manager (SM) 100 to receive the 200 OK. Send an event requesting delivery to the side. If it is not '200 OK', the process proceeds to the fifth step (S315) (SM_ESTABLISH_IND) to transmit an event indicating that the SIP telephone connection is started from the service main management unit (SM) 100, and to the sixth step (S316) (PM_ACK_CMD). Transmit and send related events. A seventh step S317 (SM_END_CMD) is a step of generating an event in which the caller releases a telephone call from the user interface (UI) to the service main manager (SM) 100. The eighth step S318 (PM_END_REQ) is a step of generating an event for requesting to make a 'BYE' message from the service main manager (SM) 100 to the protocol stack manager (PM) 200 and to deliver it to the counterpart. After the fourth step S314, the state transitions to the 'WAITMEDIAANSWER' state, and after the sixth step S316 and the eighth step S318, the state transitions to the 'CLEARING' state.

'WAITMEDIAANSWER' 전이 과정을 도 6에 나타내었다. 'WAITMEDIAANSWER' 는 상대 단말에서 요구하는 미디어 채널의 능력(capacity)이나 코덱 정보 및 성능(performance)으로 내 단말과 통신이 가능한지를 판단하는 상태를 말한다. MO(전화를 거는 단말)는 '200 OK' 응답 메시지와 함께 전달되고, MT(전화를 받는 단말)는 'INVITE' 요청 메시지에 실려 온다. 따라서 MO는 'ESTABLISHING' 상태에서 '200 OK'가 오면 'WAITMEDIAANSWER'로 전이하고 그렇지 않은 경우 'CLEARING'으로 전이한다.The 'WAITMEDIAANSWER' transition process is shown in FIG. 6. 'WAITMEDIAANSWER' refers to a state of determining whether communication with an internal terminal is possible based on capacity, codec information, and performance of a media channel required by an opposite terminal. The MO (calling terminal) is delivered with a '200 OK' response message, and the MT (terminal receiving a call) is carried in the 'INVITE' request message. Therefore, the MO transfers to 'WAITMEDIAANSWER' when '200 OK' is received in the 'ESTABLISHING' state, and otherwise to 'CLEARING'.

제 1 단계(S411)(MM_SESSIONCREATE_RES)는 멀티미디어 스택 관리부(MM)(300)로부터 서비스 메인 관리부(SM)(100)로 세션 생성 결과를 알리는 이벤트이며, 제 2 단계(S412)는 세션 생성의 성공 여부를 판별하는 단계로서, 성공의 경우 제 3 단계(S413)로 이행하고, 그렇지 않은 경우 'CLEARING' 스테이트로 전이한다. 제 3 단계(S413)에서 MO(전화를 거는 단말)이면 제 4 단계(S414)로 이행하고, 그렇지 않으면 제 6 단계(S416)로 이행한다. 제 4 단계(S414)(PM_SUBSCRIP_CMD)는 서비스 메인 관리부(SM)(100)로부터 프로토콜 스택 관리부(PM)(200)로 서버에게 'SUBSCRIBE' 메시지를 보내도록 요청하는 이벤트이고, 제 5 단계(S415)(SM_ESTABLISHED_IND)는 해당 이벤트 처리 상황을 알리는 단계이며 'ACTIVE' 스테이트로 전이한다. 제 6 단계(S416)는 타이머(240)를 구동시키는 단계이며, 제 7 단계(S417)(SM_INCOMING_RPT)는 수신자에게 전화가 왔음을 알리는 이벤트에 해당되며, 이후에 'WAITUSERANSWER' 스테이트로 전이한다.The first step S411 (MM_SESSIONCREATE_RES) is an event informing the session creation result from the multimedia stack management unit (MM) 300 to the service main management unit (SM) 100, and the second step (S412) indicates whether the session creation is successful. As a step of determining, if it is successful, the process proceeds to the third step (S413), otherwise it transitions to the 'CLEARING' state. If it is MO (terminal for making a call) in the third step S413, the flow advances to the fourth step S414, and if not, the flow moves to the sixth step S416. The fourth step (S414) (PM_SUBSCRIP_CMD) is an event requesting the server to send a 'SUBSCRIBE' message from the service main management unit (SM) 100 to the protocol stack management unit (PM) 200, the fifth step (S415) (SM_ESTABLISHED_IND) informs the event handling status and transitions to the 'ACTIVE' state. The sixth step S416 is a step of driving the timer 240, and the seventh step S417 (SM_INCOMING_RPT) corresponds to an event indicating that the call is received by the receiver, and then transitions to the 'WAITUSERANSWER' state.

한편, 제 8 단계(S418)(SM_END_CMD)는 발신자가 전화 연결을 해제하는 이벤트이고, 이에 따라 제 9 단계(S419)(PM_END_REQ)에서 'BYE' 메시지를 만들어 상대방에게 전달하도록 요청한 후 'CLEARING' 스테이트로 전이한다. 제 10 단계(S420)(PM_END_RPT)에서는 발신측에서 'BYE' 메시지가 왔음을 알리고, 제 11 단계(S421)(PM_END_CNF)에서는 'BYE' 메시지에 대한 응답을 상대방에게 전달하도록 요청하며, 제 12 단계(S422)(PM_FINALRESPONSE_CMD)에서는 'INVITE' 메시지를 수신하고 응답을 상대방에게 전달하도록 요청한 후, 'CLEARING' 스테이트로 전이한다.On the other hand, the eighth step (S418) (SM_END_CMD) is the event that the caller releases the call connection, and accordingly according to the ninth step (S419) (PM_END_REQ) to make a 'BYE' message and to deliver to the other party 'CLEARING' state Transition to In the tenth step S420 (PM_END_RPT), the calling party notifies that the 'BYE' message has arrived, and in the eleventh step (S421) (PM_END_CNF), requests to transmit a response to the 'BYE' message to the counterpart; (S422) (PM_FINALRESPONSE_CMD) receives the 'INVITE' message, requests to deliver a response to the other party, and then transitions to the 'CLEARING' state.

'WAITUSERANSWER' 전이 과정을 도 7에 나타내었다. 이 과정에서, MT는 상대방에서 요구하는 미디어 정보로 미디어 채널 연결이 가능하더라도 최종 사용자(End-User)에게 전화연결을 할 것인지 의사 결정을 요구해야 하는데, 최종 사용자가 상대방의 전화를 받을 의사가 없다면 MT는 '200 OK'가 아닌 다른 실패 메시지(Failure message)를 생성하여 상대방에게 보낸다.The 'WAITUSERANSWER' transition process is shown in FIG. 7. In this process, the MT should request the end-user to make a call even if the media channel can be connected to the media information requested by the other party. The MT generates a failure message other than '200 OK' and sends it to the counterpart.

제 1 단계(S511)(SM_USERANSWER_CMD)는 전화 연결을 할 것인지의 의사 결정을 요구하는 이벤트를 생성하여 전달하는 단계이고, 제 2 단계(S512)는 타이머(240)를 구동 중지시키는 단계이며, 제 3 단계(S513)는 전화 연결이 허락(accept)되었는지의 여부를 판별하는 단계로서, 허락된 경우 제 4 단계(S514)(PM_FINALRESPONSE_CMD)로 이행하여 'INVITE' 메시지를 수신하고 응답을 상대방에게 전달하도록 요청한 후 'RESPONDING' 스테이트로 전이한다. 허락되지 않은 경우에는 제 5 단계(S515)(PM_FINALRESPONSE_CMD)로 이행하여 'INVITE' 메시지를 수신하고 응답을 상대방에게 전달하도록 요청한 후, 제 6 단계(S516)(MM_SESSIONDEL_CMD)에서 멀티미디어 데이터를 받거나 주기 위해 생성한 세션을 제거하도록 요청한다. 그리고 'CLEARING' 스테이트로 전이한다. 제 7 단계(S517)(PM_END_RPT)는 발신측에서 'BYE' 메시지가 왔음을 알리는 이벤트를 생성하여 프로토콜 스택 관리부(PM)(200)로부터 서비스 메인 관리부(SM)(100)로 전달하고, 제 8 단계(S518)(PM_END_CNF)에서 'BYE' 메시지에 대한 응답을 상대방에게 전달하도록 요청한다. 그리고, 제 9 단계(S519)(PM_FINALRESPONSE_CMD)에서 'INVITE' 메시지를 수신하고 응답을 상대방에게 전달하도록 요청한 후 'CLEARING' 스테이트로 전이한다. 제 10 단계(S520)(SM_INCOMING_CNF)에서 수신자가 걸려온 전화에 승인 응답을 주고, 제 11 단계(S511)에서 전화를 받을 것인지의 여부를 결정한다(S521). 콜-억셉트(Call Accept)가 아니면 제 9 단계(S519)로 이행하고, 콜-억셉트(Call Accept)이면 제 12 단계(S512)(PM_END_CNF)로 이행하여 'BYE' 메시지에 대한 응답을 상대방에게 전달하도록 요청한다. 제 13 단계(S523)에서는 자동 모드인지의 여부를 판별하여 자동 모드가 아니면 'WAITUSERANSWER' 스테이트로 전이하고, 자동 모드인 경우에는 제 14 단계(S524)(PM_FINALRESPONSE_CMD)로 이행하여 'INVITE' 메시지를 수신하고 응답을 상대방에게 전달하도록 요청한 후, 'RESPONDING' 스테이트로 전이한다.The first step S511 (SM_USERANSWER_CMD) is a step of generating and delivering an event requesting a decision of whether to make a telephone connection, and the second step (S512) is a step of stopping the timer 240, and a third step Step S513 is a step of determining whether the telephone connection is accepted. If allowed, the process proceeds to the fourth step S514 (PM_FINALRESPONSE_CMD) to receive an 'INVITE' message and to transmit a response to the other party. Then transition to the 'RESPONDING' state. If it is not allowed, move to the fifth step (S515) (PM_FINALRESPONSE_CMD) to receive the 'INVITE' message, request to forward the response to the other party, and then create or receive the multimedia data in the sixth step (S516) (MM_SESSIONDEL_CMD). Request to remove a session. And transition to the 'CLEARING' state. The seventh step S517 (PM_END_RPT) generates an event indicating that the 'BYE' message has arrived from the calling party, and delivers it from the protocol stack manager (PM) 200 to the service main manager (SM) 100, and the eighth step. In step S518 (PM_END_CNF), a request for forwarding a response to the 'BYE' message to the other party is requested. In step 9 (S519) (PM_FINALRESPONSE_CMD), after receiving the 'INVITE' message and requesting to deliver a response to the other party, the process transitions to the 'CLEARING' state. In the tenth step S520 (SM_INCOMING_CNF), the receiver gives an approval response to the incoming call, and it is determined whether or not to answer the call in the eleventh step S511 (S521). If it is not call accept, move to the ninth step (S519). If it is call accept, move to the twelfth step (S512) (PM_END_CNF) to respond to the 'BYE' message. Ask for it. In the thirteenth step (S523), it is determined whether it is in the automatic mode or not, and if it is not in the automatic mode, the state transitions to the 'WAITUSERANSWER' state. In the case of the automatic mode, the process moves to the fourteenth step (S524) (PM_FINALRESPONSE_CMD) to receive the 'INVITE' message. After requesting to forward the response to the other party, it transitions to the 'RESPONDING' state.

'RESPONDING' 스테이트의 전이 과정을 도 8에 나타내었다. MT(전화를 받는 단말)가 '200 OK'를 보내고 나서 MO(전화를 거는 단말)로부터 'ACK'를 받아야 미디어 채널을 열 수 있다. 그러므로, '200 OK'를 보냈지만 네트워크나 서버의 에러로 시그널 데이터가 손실 되어 MO가 받지 못하였을 경우, MT는 몇 차례 재전송 한 후 타임 아웃(timeout)된다. 이때 'CLEARING' 스테이트로 전이한다.The transition process of the 'RESPONDING' state is shown in FIG. 8. The MT (terminal receiving the call) sends a '200 OK' and then receives an 'ACK' from the MO (terminal calling) to open the media channel. Therefore, if '200 OK' is sent but signal data is lost due to network or server error, and MO is not received, MT will timeout after retransmitting several times. At this time, the transition to the 'CLEARING' state.

제 1 단계(S611)(PM_ACK_IND)에서 발신측에서 'ACK' 메시지가 왔음을 알리고, 제 2 단계(S612)에서 유효한 정보인지를 판별한다. 즉, '200 OK' 이면 제 3 단계(S613)(PM_SUBSCRIP_CMD)에서 서버에게 'SUBSCRIBE' 메시지를 보내도록 요청하고 'ACTIVE' 스테이트로 전이하며, 타임 아웃이면 제 4 단계(S614)(PM_END_REQ)에서 'BYE' 메시지를 만들어서 상대방에게 전달하도록 요청한 후, 'CLEARING' 스테이트로 전이한다. 제 5 단계(S615)(PM_END_RPT)에서는 발신측에서 'BYE' 메시지가 왔음을 알리고, 제 6 단계(S616)(PM_END_CNF)에서 'BYE' 메시지에 대한 응답을 상대방에게 전달하도록 요청한다. 그리고 제 7 단계(S617)(PM_FINALRESPONSE_CMD)에서 'INVITE' 메시지를 수신하고 응답을 상대방에게 전달하도록 요청한 후, 'CLEARING' 스테이트로 전이한다.In the first step S611 (PM_ACK_IND), the caller informs that the 'ACK' message has arrived, and determines whether it is valid information in the second step (S612). That is, if it is '200 OK', the third step S613 (PM_SUBSCRIP_CMD) requests the server to send a 'SUBSCRIBE' message to the server and transitions to the 'ACTIVE' state, and if it times out, the fourth step (S614) (PM_END_REQ) BYE 'message is created and requested to be delivered to the other party, and then transferred to the' CLEARING 'state. In the fifth step S615 (PM_END_RPT), the caller informs that the 'BYE' message has arrived, and in step 6 (S616) (PM_END_CNF), requests to send a response to the 'BYE' message to the counterpart. In step S617 (PM_FINALRESPONSE_CMD), after receiving the 'INVITE' message and requesting to transmit a response to the counterpart, the terminal transitions to the 'CLEARING' state.

'ACTIVE' 전이 과정을 도 9에 나타내었다. 이 과정에 놓이면 MO와 MT가 음성이나 영상과 같은 미디어 데이터를 주고 받을 수 있는 상태이다. 또한, SIP 시그널(signal) 중에서 'BYE request'를 이용하여 전화연결을 해제할 수 있는 상태이다. 제 1 단계(S711)(SM_END_CMD)에서 발신자가 전화 연결을 해제하는 이벤트를 생성하여 전달하고, 제 2 단계(S712)(PM_END_REQ)에서 'BYE' 메시지를 만들어서 상대방에게 전달하도록 요청한 후, 'CLEARING' 스테이트로 전이한다. 제 3 단계(S713)(PM_END_RPT)에서는 발신측에서 'BYE' 메시지가 왔음을 알리고, 제 4 단계(S718)(PM_END_CNF)에서 'BYE' 메시지에 대한 응답을 상대방에게 전달하도록 요청한다. 그리고, 제 5 단계(S715)(MM_SESSIONEDL_CMD)에서 멀티미디어 데이터를 받거나 주기 위하여 생성된 세션을 제거하도록 요청하고, 제 6 단계(S716)(SM_RELEASED_IND)에서 상대방에 의해 전화 연결이 해제되었음을 사용자에게 알려준 후, 'NULL' 스테이트로 전이한다.The 'ACTIVE' transition process is shown in FIG. 9. In this process, the MO and MT can exchange media data such as voice and video. In addition, it is a state in which a telephone connection can be released by using 'BYE request' among SIP signals. In step S711 (SM_END_CMD), the caller generates and forwards an event for releasing the call, and in step S712 (PM_END_REQ), a message 'BYE' is created and requested to be delivered to the other party, and then 'CLEARING' Transition to state In the third step S713 (PM_END_RPT), the calling party notifies that the 'BYE' message has arrived, and in the fourth step S718 (PM_END_CNF), requests to transmit a response to the 'BYE' message to the counterpart. Then, in step S715 (MM_SESSIONEDL_CMD), a request is made to remove the session created in order to receive or give multimedia data, and in step S716 (SM_RELEASED_IND), the user is informed that the telephone connection is released by the other party. Transition to 'NULL' state.

지금까지 설명한 각 스테이트별 이벤트 처리는 FSM(Finite State Machine)으로 관리한다. FSM은 유한한 개수의 상태들을 가진 하나의 기계이고, 그 상태들 중 하나가 현재 상태인 것이다. FSM은 입력을 받고 어떠한 상태 전이 함수에 기반해서 현재 상태로부터 출력 상태로의 상태 전이를 일으킨다. 그리고 출력 상태는 새로운 현재 상태가 된다. FSM 테이블(table)을 두어 현재 상태에서 유효한 이벤트를 정의해 둠으로써, 해당 이벤트가 입력되면 조건에 맞는 상태로 전이한다. FSM에서는 이전의 상태를 읽어 올 수도 있고, 전처리 테이블(Preprocessing Table)을 두어 현재 상태에서 우선적으로 처리되어야 하는 이벤트를 실시간으로 받아 들여 시스템의 치명적인 오류를 막을 수 있다. 즉, 사용자 종결(User Termination)이거나 네트워크 폐쇄(Network Close)에 관련된 이벤트는 모든 상태에서 미리 정의되지 않았더라도 우선적으로 시스템에서 처리 및 안정적인 복구를 필요로 한다. 따라서 FSM의 전처리 테이블(Preprocessing Table)에서 처리되도록 하는 것이 바람직하다.Event processing for each state described so far is managed by finite state machine (FSM). An FSM is a machine with a finite number of states, one of which is the current state. The FSM receives an input and causes a state transition from the current state to the output state based on some state transition function. The output state becomes the new current state. By defining an event that is valid in the current state by placing an FSM table, when the event is entered, it transitions to the state that meets the condition. FSM can read the previous state, or you can put a preprocessing table to receive events that should be prioritized in the current state in real time to prevent fatal errors in the system. That is, an event related to user termination or network close requires processing and stable recovery in the system, even if not previously defined in all states. Therefore, it is desirable to be processed in the preprocessing table of the FSM.

한편, 실시간으로 들어오는 이벤트 처리에 있어 'CLEARING' 스테이트는 복잡한 SIP 시그널을 효율적으로 관리할 수 있도록 한다. MO가 전화를 걸어 MT가 OK응답을 보냈더라도 SIP 시그널 상으로 MO로부터 ACK가 오지 않으면 콜(Call)은 성공적으로 연결된 것이 아니므로 'CLEARING' 스테이트로 전이하여 콜 실패(Call Fail)에 대한 시그널 처리를 마무리한다. MO나 MT에서 갑작스런 시스템 오류로 인하여 콜-셋업(Call-setup) 중에 END를 요청하는 경우도 'CLEARING'에서 처리하도록 한다. On the other hand, the 'CLEARING' state allows for the efficient management of complex SIP signals when processing incoming events in real time. Even if the MO makes a call and MT responds OK, if ACK is not received from the MO on the SIP signal, the call is not connected successfully. Therefore, the signal is transferred to the 'CLEARING' state to handle the call failure. To finish. In case of END request during Call-setup due to sudden system error in MO or MT, 'CLEARING' should be handled.

도 1은 본 발명의 실시예에 따른 통신 시스템 구조를 나타낸 도면1 illustrates a communication system structure according to an embodiment of the present invention.

도 2는 본 발명의 실시예에 따른 이벤트별 명명 규칙(Naming Rule)의 예를 나타낸 도면2 is a diagram illustrating an example of a naming rule for each event according to an embodiment of the present invention.

도 3은 본 발명의 실시예에 따른 'NULL' 스테이트의 전이 과정을 나타낸 도면3 is a view illustrating a transition process of a NULL state according to an embodiment of the present invention.

도 4는 본 발명의 실시예에 따른 'CLEARING' 스테이트의 전이 과정을 나타낸 도면4 is a view illustrating a transition process of a 'CLEARING' state according to an embodiment of the present invention.

도 5는 본 발명의 실시예에 따른 'ESTABLISHING' 스테이트의 전이 과정을 나타낸 도면5 is a view showing a transition process of the 'ESTABLISHING' state according to an embodiment of the present invention

도 6은 본 발명의 실시예에 따른 'WAITMEDIAANSWER' 스테이트의 전이 과정을 나타낸 도면6 is a view showing a transition process of the 'WAITMEDIAANSWER' state according to an embodiment of the present invention

도 7은 본 발명의 실시예에 따른 'WAITUSERANSWER' 스테이트의 전이 과정을 나타낸 도면7 is a view showing a transition process of the 'WAITUSERANSWER' state according to an embodiment of the present invention

도 8은 본 발명의 실시예에 따른 'RESPONDING' 스테이트의 전이 과정을 나타낸 도면8 is a view illustrating a transition process of a 'RESPONDING' state according to an embodiment of the present invention.

도 9는 본 발명의 실시예에 따른 'ACTIVE' 스테이트의 전이 과정을 나타낸 도면9 is a view showing a transition process of the 'ACTIVE' state according to an embodiment of the present invention

표 1은 본 발명의 실시예에 따른 이벤트 메시지 타입의 예를 나타낸 도면Table 1 shows an example of an event message type according to an embodiment of the present invention.

Claims (18)

UI 및 다른 타스크(Task)와의 핸들링을 담당하며 하부 모듈에서 발생하는 이벤트를 받아 처리하는 서비스 관리부;A service manager for handling UI and other tasks and receiving and processing events occurring in a lower module; 상기 서비스 관리부와 이벤트 기반으로 연결되어, 전화 연결을 위한 SIP 프로토콜을 디코딩하는 프로토콜 관련 스택(stack)을 관리하는 프로토콜 스택 관리부;A protocol stack manager connected to the service manager based on an event basis and managing a protocol related stack for decoding a SIP protocol for a telephone connection; 상기 서비스 관리부와 이벤트 기반으로 연결되어, 전화 연결 프로토콜을 기반으로 통신이 이루어지면 해당 미디어의 전송을 담당하는 미디어 스택 관리부; A media stack manager connected to the service manager based on an event basis and responsible for transmitting corresponding media when communication is performed based on a telephone connection protocol; 를 포함하는 것을 특징으로 하는 통신 시스템.Communication system comprising a. 제 1 항에 있어서, 상기 서비스 관리부는 콜 서비스 관련 프로세스 관리부, 버디(Buddy)의 프레즌스 및 그룹 정보를 관리하는 프레즌스 관리부, 트랜잭션(Transaction) 및 다이얼로그(Dialog) 관리를 위한 동기 제어부, 사용자 프로파일 관리를 위한 사용자 프로파일 관리부, 서버 주소와 서비스 파라미터 및 수신모드, 로그인 프로세스를 관리하는 데이터 베이스 관리부, 멀티미디어 코덱을 관리하는 제어부를 포함하는 것을 특징으로 하는 통신 시스템.The method of claim 1, wherein the service manager comprises a call service related process manager, a presence manager that manages presence and group information of a buddy, a synchronization controller for managing transactions and dialogs, and user profile management. And a user profile manager, a server address and a service parameter and a reception mode, a database manager to manage a login process, and a controller to manage a multimedia codec. 제 1 항에 있어서, 상기 프로토콜 스택 관리부는 SIP 이벤트 핸들러를 토대로 SIP 콜 관리, 타이머 구동, 네트워크 관리, 프로토콜 관리, SDP 관리 및 XML 관 리를 수행하는 것을 특징으로 하는 통신 시스템.The communication system of claim 1, wherein the protocol stack manager performs SIP call management, timer operation, network management, protocol management, SDP management, and XML management based on a SIP event handler. 제 1 항에 있어서, 상기 미디어 스택 관리부는 미디어 이벤트 핸들러를 토대로 RTP/RTCP, MSRP, 미디어 프로파일 중 하나 이상을 관리하는 것을 특징으로 하는 통신 시스템.The communication system of claim 1, wherein the media stack manager manages one or more of an RTP / RTCP, an MSRP, and a media profile based on a media event handler. SIP 전화 연결시 이벤트를 기반으로 전화 통신을 관리하기 위하여,To manage telephony based on events during SIP telephony, 정의된 스테이트(state)를 판별하는 단계;Determining a defined state; 정의된 스테이트에서, 규정된 이벤트 메시지 타입을 기반으로 이벤트 메시지를 생성하여 전달하고 스테이트 전이를 실행하는 단계;In the defined state, generating and delivering an event message based on the defined event message type and executing a state transition; 전달된 이벤트 메시지를 토대로 SIP 전화 통신을 제어하는 단계;Controlling SIP telephony based on the forwarded event message; 를 포함하는 것을 특징으로 하는 통신 제어방법.Communication control method comprising a. 제 5 항에 있어서, 상기 스테이트(state)는 'NULL', 'CLEARING', 'ESTABLISHING', 'WAITMEDIAANSWER', 'WAITUSERANSWER', 'RESPONDING', 'ACTIVE' 중의 적어도 어느 하나 이상인 것을 특징으로 하는 통신 제어방법.The communication control according to claim 5, wherein the state is at least one of 'NULL', 'CLEARING', 'ESTABLISHING', 'WAITMEDIAANSWER', 'WAITUSERANSWER', 'RESPONDING' and 'ACTIVE'. Way. 제 6 항에 있어서, 상기 'NULL' 스테이트는 전화를 거는 단말과 전화를 받는 단말이 프록시 서버(proxy server)에 등록을 거치고 유효한 사용자 인증을 받은 후 초기화되는 스테이트로 정의된 것을 특징으로 하는 통신 제어방법.7. The communication control according to claim 6, wherein the 'NULL' state is defined as a state in which a terminal for making a call and a terminal for receiving a call are initialized after registering with a proxy server and receiving valid user authentication. Way. 제 6 항에 있어서, 상기 'CLEARING' 스테이트는 수신측 단말로부터 'BYE'에 대한 응답 메시지가 왔음을 알리는 이벤트나 발신측에서 'ACK' 메시지가 왔음을 알리는 이벤트 중의 적어도 어느 하나의 실행 후 'NULL' 스테이트로 전이하는 것을 특징으로 하는 통신 제어방법.The method of claim 6, wherein the 'CLEARING' state is 'NULL' after execution of at least one of an event indicating that a response message for 'BYE' has been received from a receiving terminal or an event indicating that an 'ACK' message has been received from a calling party. Communication control method characterized in that the transition to the state. 제 6 항에 있어서, 상기 'ESTABLISHING' 스테이트는 전화를 걷는 단말에서 상대방에게 전화를 걸어 연결 의사를 확인하고 그 결과에 따라 해당 이벤트 메시지를 전달한 후, 'WAITMEDIAANSWER' 스테이트 또는 'CLEARING' 스테이트로 전이하는 것을 특징으로 하는 통신 제어방법.The method of claim 6, wherein the 'ESTABLISHING' state makes a call from the terminal making the call to confirm the connection intention and transfers the corresponding event message according to the result, and then transitions to the 'WAITMEDIAANSWER' state or the 'CLEARING' state. Communication control method, characterized in that. 제 6 항에 있어서, 상기 'WAITMEDIAANSWER' 스테이트는 상대 단말에서 요구하는 미디어 채널의 성능(Capacity, Perfoemance), 코덱 정보에 따라 통신이 가능한지의 여부를 판단하고, 그 결과에 따라 해당 이벤트 메시지를 전달한 후, 'ACTIVE', 'WAITUSERANSWER', 'CLEARING' 스테이트 중의 어느 하나로 전이하는 것을 특징으로 하는 통신 제어방법.The method of claim 6, wherein the 'WAITMEDIAANSWER' state determines whether communication is possible according to the capacity (Capacity, Perfoemance) and codec information of the media channel requested by the counterpart terminal, and transmits the corresponding event message according to the result. , 'ACTIVE', 'WAITUSERANSWER', 'CLEARING' state of the communication control method characterized in that the transition. 제 6 항에 있어서, 상기 'WAITUSERANSWER' 스테이트는 최종 사용자(end-user)의 콜 억셉트(Call Accept) 의사를 판단하고, 그 판단 결과에 따라 해당 이벤트 메시지를 전달한 후, 'RESPONDING' 또는 'CLEARING' 스테이트로 전이하는 것을 특징으로 하는 통신 제어방법.The method of claim 6, wherein the 'WAITUSERANSWER' state determines an end-user's call accept intention and delivers the event message according to the determination result, and then 'RESPONDING' or 'CLEARING'. Communication control method characterized in that the transition to the state. 제 6 항에 있어서, 상기 'RESPONDING' 스테이트는 상대 단말로부터의 응답 확인 여부를 판단하고, 그 결과에 따라 해당 이벤트 메시지를 전달한 후, 'ACTIVE' 또는 'CLEARING' 스테이트로 전이하는 것을 특징으로 하는 통신 제어방법.The communication method according to claim 6, wherein the 'RESPONDING' state determines whether or not a response from the counterpart terminal is checked, transfers the corresponding event message according to the result, and then transitions to the 'ACTIVE' or 'CLEARING' state. Control method. 제 6 항에 있어서, 상기 'ACTIVE' 스테이트는 단말 간에 미디어 데이터를 송수신할 수 있는 상태의 구축을 위한 이벤트 메시지를 생성하여 전달하고, 그 결과에 따라 'CLEARING' 또는 'NULL' 스테이트로 전이하는 것을 특징으로 하는 통신 제어방법.The method of claim 6, wherein the 'ACTIVE' state generates and transmits an event message for establishing a state capable of transmitting and receiving media data between terminals, and transitions to a 'CLEARING' or 'NULL' state according to the result. Communication control method characterized in that. 제 5 항에 있어서, 상기 이벤트 메시지 타입은 대분류_중분류_접미사의 구조에 기반하고, 여기서 '대분류'는 이벤트를 처리하는 주체를 표현하고, '중분류'는 이벤트에 대한 동사나 명사형으로 표현되고, '접미사'는 이벤트의 타입을 표현하는 것을 특징으로 하는 통신 제어방법.The method according to claim 5, wherein the event message type is based on the structure of the major classification _ middle classification _ suffix, wherein the 'large classification' represents a subject that processes an event, and the 'middle classification' is expressed as a verb or noun form for an event. 'Suffix' is a communication control method, characterized in that to represent the type of event. 제 14 항에 있어서, 상기 이벤트 메시지 타입에서 이벤트를 처리하는 주체는 통신 시스템에서 UI/타스크 핸들링 및 이벤트 처리를 담당하는 서비스 관리부, 전화연결을 위한 SIP 프로토콜 관리를 담당하는 프로토콜 스택 관리부 및, 미디어 전송을 담당하는 미디어 스택 관리부 중의 어느 하나가 선택되는 것을 특징으로 하는 통신 제어방법.15. The apparatus of claim 14, wherein the subject for processing an event in the event message type comprises: a service manager responsible for UI / task handling and event processing in a communication system, a protocol stack manager responsible for SIP protocol management for telephony, and media transmission; Communication control method, characterized in that any one of the media stack management unit responsible for the selection. 제 14 항에 있어서, 상기 이벤트 메시지 타입을 표현하는 정보는, 상위 계층(Upper Layer)에서 하위 계층(Lower)으로 특정 오퍼레이션(Operation)을 요청하는 'REQ' 및 이에 대한 응답 'RES', 하위 계층에서 상위 계층으로 특정 오퍼레이션을 요청하는 'RPT' 및 RPT에 대한 처리가 완료되었음을 하위 계층으로 알려주는 'CNF', 하위 계층에서 상위 계층으로 특정 상황을 알려주기 위한 'IND', 상위 계층에서 하위 계층으로 특정 상황을 알려주기 위한 'CMD' 중의 어느 하나에 의해서 표현되는 것을 특징으로 하는 통신 제어방법.15. The method of claim 14, wherein the information representing the event message type, 'REQ' requesting a specific operation (Operation) from the upper layer (Upper Layer) to the lower layer (Lower) and the response 'RES' for this, the lower layer 'RPT' requesting a specific operation from the upper layer to the upper layer and 'CNF' to inform the lower layer that the processing for the RPT is completed, 'IND' to inform the specific situation from the lower layer to the upper layer, and the lower layer from the upper layer Communication control method, characterized in that represented by any one of the 'CMD' to inform a specific situation. 제 5 항에 있어서, 상기 각각의 스테이트 별 이벤트 처리는 FSM(Finite State Macnine)을 기반으로 관리하는 것을 특징으로 하는 통신 제어방법.The communication control method according to claim 5, wherein the event processing for each state is managed based on finite state macnine (FSM). 제 17 항에 있어서, FSM 테이블을 기반으로 상기 이벤트를 추가하거나 삭제 가능한 것을 특징으로 하는 통신 제어방법.18. The method of claim 17, wherein the event can be added or deleted based on an FSM table.
KR1020070089724A 2007-09-05 2007-09-05 Communication System KR101427416B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020070089724A KR101427416B1 (en) 2007-09-05 2007-09-05 Communication System

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070089724A KR101427416B1 (en) 2007-09-05 2007-09-05 Communication System

Publications (2)

Publication Number Publication Date
KR20090024847A true KR20090024847A (en) 2009-03-10
KR101427416B1 KR101427416B1 (en) 2014-08-08

Family

ID=40693475

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070089724A KR101427416B1 (en) 2007-09-05 2007-09-05 Communication System

Country Status (1)

Country Link
KR (1) KR101427416B1 (en)

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100587643B1 (en) * 1999-12-24 2006-06-08 주식회사 케이티 SIP protocol server apparatus

Also Published As

Publication number Publication date
KR101427416B1 (en) 2014-08-08

Similar Documents

Publication Publication Date Title
US7167468B2 (en) Internet protocol telephony voice/video message deposit and retrieval
EP2342883B1 (en) File transfer in conference services
US7937463B2 (en) Method and server for invoking application servers in a SIP network
TW200904100A (en) Signaling of early media capabilities in IMS terminals
US11588933B2 (en) Methods and apparatus for identification and optimization of artificial intelligence calls
JP2005318503A (en) Presence server, session control server, packet relay system, server, and system
CN102075737A (en) Video monitoring conversation method
US7855965B2 (en) Packet network telecommunication system
JP5172850B2 (en) Session-based communication
US8331352B2 (en) Interworking supplementary call services between different communication protocols
US20090168778A1 (en) Extending communication protocols
CN113301025B (en) IMS audio and video transcoding and transmission control system and implementation method
US9071690B2 (en) Call transfer processing in SIP mode
CN102484641B (en) For selecting the method for Internet resources
US20080112390A1 (en) Apparatus to override the redirect or reject feature at an SIP end point
JP2015091125A (en) Method of expanding application interface for future application
US8824481B2 (en) System, method, and apparatus to correlate a TCAP web service request to an application server session
US9973623B2 (en) Methods, devices and system for logging calls for terminals
US8351355B2 (en) H.323 to SIP interworking for call forward/redirection
KR101427416B1 (en) Communication System
GB2442280A (en) Message format allowing SIP/SOAP protocol interoperability
JP5233714B2 (en) Communication media conversion system, method and program
JP2013042490A (en) Call connecting method and system based on mvoip
WO2023197593A1 (en) Multimedia conference control method and apparatus, and communication system
CN116962364A (en) Control method and device for multimedia conference and communication system

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
FPAY Annual fee payment

Payment date: 20170614

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180614

Year of fee payment: 5