KR101534160B1 - Apparatus and method for VoLTE session management in 4G mobile network - Google Patents

Apparatus and method for VoLTE session management in 4G mobile network Download PDF

Info

Publication number
KR101534160B1
KR101534160B1 KR1020150007831A KR20150007831A KR101534160B1 KR 101534160 B1 KR101534160 B1 KR 101534160B1 KR 1020150007831 A KR1020150007831 A KR 1020150007831A KR 20150007831 A KR20150007831 A KR 20150007831A KR 101534160 B1 KR101534160 B1 KR 101534160B1
Authority
KR
South Korea
Prior art keywords
packet
user information
information table
message
delete delete
Prior art date
Application number
KR1020150007831A
Other languages
Korean (ko)
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 KR1020150007831A priority Critical patent/KR101534160B1/en
Application granted granted Critical
Publication of KR101534160B1 publication Critical patent/KR101534160B1/en
Priority to PCT/KR2015/011934 priority patent/WO2016114476A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • 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/22Parsing or analysis of headers
    • 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/10Architectures or entities
    • H04L65/1016IP multimedia subsystem [IMS]
    • 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/1066Session management
    • H04L65/1073Registration or de-registration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/75Indicating network or usage conditions on the user display

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

Provided are an apparatus and a method for managing a VoLTE session in 4G mobile networks. According to the present invention, the apparatus for managing the VoLTE session comprises: a packet management unit for receiving a GTP packet in order to classify the same into a GTP-U packet and a GTP-C packet, and extracting packet information from the GTP-U packet; a packet analysis unit for receiving the packet information in order to analyze a message type included in the packet information; and a database unit for storing an information table of first and second users, wherein the packet analysis unit creates or deletes the information table of the first user, or creates, updates, or deletes the information table of the second user according to the message type.

Description

4G 모바일 네트워크에서의 VoLTE 세션 관리 장치 및 방법{Apparatus and method for VoLTE session management in 4G mobile network}[0001] Apparatus and method for VoLTE session management in 4G mobile network [

본 발명은 VoLTE 세션 관리 장치 및 방법에 관한 것으로, 보다 상세하게는 GTP(GPRS Tunneling Protocol)를 사용하는 4G 모바일 네트워크에서의 VoLTE 세션 관리 장치 및 방법에 관한 것이다.The present invention relates to a VoLTE session management apparatus and method, and more particularly, to a VoLTE session management apparatus and method in a 4G mobile network using GTP (GPRS Tunneling Protocol).

4G 네트워크(또는 LTE 네트워크)는 무선 자원을 관리하는 4G E-RAN(Enterprise Radio Access Network)과 데이터 처리/인증/과금 등을 수행하는 4G EPC(Evolved Packet Core)를 포함하여 구성된다.The 4G network (or LTE network) includes 4G Enterprise Radio Access Network (E-RAN) for managing radio resources and 4G Evolved Packet Core (EPC) for data processing / authentication / billing.

4G E-RAN은 사용자 단말(UE; User Equipment), eNB(evolved Node B) 등의 구성 요소를 포함하고, 4G EPC는 MME(Mobility Management Entity), S-GW(Serving Gateway), P-GW(PDN Gateway), HSS(Home Subscriber Server), PCRF(Policy & Charging Rule Function) 등의 구성 요소를 포함한다.The 4G E-RAN includes components such as a user equipment (UE) and an evolved Node B (eNB), and the 4G EPC includes a Mobility Management Entity (MME), a Serving Gateway (S-GW) PDN Gateway), Home Subscriber Server (HSS), Policy & Charging Rule Function (PCRF), and the like.

4G 네트워크 내부에서는 eNB와 S-GW간 생성되는 S1-U GTP(GPRS Tunneling Protocol) 터널과, S-GW와 P-GW간 생성되는 생성되는 S5 GTP 터널을 통해 데이터 패킷이 송수신될 수 있다. 데이터 패킷은 VoLTE 호 설정을 위한 SIP(Session Initiaion Protocol) 메시지를 포함하고, 이러한 데이터 패킷은 GTP 패킷의 페이로드에 캡슐화되어 송수신될 수 있다.In the 4G network, data packets can be transmitted / received through the S1-U GTP (GPRS Tunneling Protocol) tunnel generated between the eNB and the S-GW and the generated S5 GTP tunnel generated between the S-GW and the P-GW. The data packet includes a Session Initiation Protocol (SIP) message for setting up a VoLTE call, which may be encapsulated in a payload of a GTP packet and transmitted and received.

P-GW는 SIP 메시지 내에 포함되는 값들을 고려하지 않고, 데이터 패킷을 IMS(IP Multimedia Subsystem) 네트워크 내부로 전달한다. 따라서, SIP 메시지 내에 조작된 값이 포함되는 경우에도, 데이터 패킷은 제약 없이 IMS 네트워크의 내부로 전달될 수 있다.The P-GW delivers the data packet into the IMS (IP Multimedia Subsystem) network without considering the values contained in the SIP message. Thus, even if the manipulated value is included in the SIP message, the data packet can be passed into the IMS network without restriction.

한국공개특허 제2014-0038846호에는 이동 통신 시스템에서 어플리케이션에 대한 세션의 유지를 제어하는 방법 및 장치에 관하여 개시되어 있다. Korean Patent Publication No. 2014-0038846 discloses a method and apparatus for controlling the maintenance of a session for an application in a mobile communication system.

본 발명이 해결하고자 하는 과제는, GTP-U 패킷 정보에 포함된 메시지 타입을 분석하여, 사용자 정보 테이블을 관리할 수 있는 VoLTE 세션 관리 장치를 제공하는 것이다. SUMMARY OF THE INVENTION It is an object of the present invention to provide a VoLTE session management apparatus capable of analyzing a message type included in GTP-U packet information and managing a user information table.

본 발명이 해결하고자 하는 다른 과제는, GTP-U 패킷 정보에 포함된 메시지 타입을 분석하여, 사용자 정보 테이블을 관리할 수 있는 VoLTE 세션 관리 방법을 제공하는 것이다. Another object of the present invention is to provide a VoLTE session management method capable of managing a user information table by analyzing a message type included in GTP-U packet information.

본 발명이 해결하고자 하는 과제들은 이상에서 언급한 과제들로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.The problems to be solved by the present invention are not limited to the above-mentioned problems, and other matters not mentioned can be clearly understood by those skilled in the art from the following description.

상기 과제를 해결하기 위한 본 발명의 VoLTE 세션 관리 장치의 일 실시예는, GTP 패킷을 전송받아 GTP-U 패킷과 GTP-C 패킷으로 분류하고, 상기 GTP-U 패킷으로부터 패킷 정보를 추출하는 패킷 관리부, 상기 패킷 정보를 전송받아 상기 패킷 정보에 포함된 메시지 타입을 분석하는 패킷 분석부, 및 제1 및 제2 사용자 정보 테이블을 저장하는 데이터베이스부를 포함하되, 상기 패킷 분석부는 상기 메시지 타입에 따라, 상기 제1 사용자 정보 테이블을 생성 또는 삭제하거나, 상기 제2 사용자 정보 테이블을 생성, 갱신, 또는 삭제한다. In order to solve the above problems, an embodiment of the VoLTE session management apparatus of the present invention includes a packet management unit for classifying a GTP packet into GTP-U packets and GTP-C packets and extracting packet information from the GTP- A packet analyzing unit for analyzing a message type included in the packet information by receiving the packet information, and a database unit for storing first and second user information tables, wherein the packet analyzing unit analyzes, Creates or deletes a first user information table, or creates, updates or deletes the second user information table.

본 발명의 몇몇 실시예에서, 상기 제1 사용자 정보 테이블은 단말 등록에 관한 정보를 포함하고, 상기 제2 사용자 정보 테이블은 콜(call) ID에 관한 정보를 포함할 수 있다. In some embodiments of the present invention, the first user information table includes information on terminal registration, and the second user information table includes information on a call ID.

본 발명의 몇몇 실시예에서, 상기 패킷 분석부는, 상기 메시지 타입이 REGISTER, DE-REGISTER, INVITE, BYE, 또는 UPDATE 타입 중 어느 하나에 해당하는지 여부를 분석할 수 있다. In some embodiments of the present invention, the packet analyzer may analyze whether the message type corresponds to REGISTER, DE-REGISTER, INVITE, BYE, or UPDATE type.

본 발명의 몇몇 실시예에서, 상기 패킷 분석부는, 상기 메시지 타입이 REGISTER 타입인 경우에, 상기 패킷 정보에 포함된 사용자 단말 식별 번호 정보가 상기 제1 사용자 정보 테이블에 존재하는지 판단하고, 상기 제1 사용자 정보 테이블에 상기 사용자 단말 식별 번호 정보가 존재하는 경우에, 상기 제1 사용자 정보 테이블을 삭제하고, 새로운 제3 사용자 정보 테이블을 생성할 수 있다. In some embodiments of the present invention, the packet analyzing unit may determine whether the user terminal identification number information included in the packet information exists in the first user information table when the message type is a REGISTER type, If the user terminal identification number information exists in the user information table, the first user information table may be deleted and a new third user information table may be created.

본 발명의 몇몇 실시예에서, 상기 패킷 분석부는, 상기 제1 사용자 정보 테이블에 상기 사용자 단말 식별 번호 정보가 존재하지 않는 경우에, 상기 제1 사용자 정보 테이블을 비삭제하고, 상기 제3 사용자 정보 테이블을 생성할 수 있다. In some embodiments of the present invention, when the user terminal identification number information does not exist in the first user information table, the packet analyzing unit discards the first user information table, Can be generated.

본 발명의 몇몇 실시예에서, 상기 패킷 분석부는, 상기 메시지 타입이 DE-REGISTER 타입인 경우에, 상기 패킷 정보에 포함된 사용자 단말 식별 번호 정보가 상기 제1 사용자 정보 테이블에 존재하는지 판단하고, 상기 제1 사용자 정보 테이블에 상기 사용자 단말 식별 번호 정보가 존재하는 경우에, 상기 제1 사용자 정보 테이블을 삭제할 수 있다. In some embodiments of the present invention, the packet analyzing unit may determine whether the user terminal identification number information included in the packet information exists in the first user information table when the message type is the DE-REGISTER type, If the user terminal identification number information exists in the first user information table, the first user information table can be deleted.

본 발명의 몇몇 실시예에서, 상기 패킷 분석부는, 상기 메시지 타입이 INVITE 타입인 경우에, 상기 패킷 정보에 포함된 콜 ID 정보가 상기 제2 사용자 정보 테이블에 존재하는지 판단하고, 상기 제2 사용자 정보 테이블에 상기 콜 ID 정보가 존재하는 경우에, 상기 제2 사용자 정보 테이블을 삭제하고, 새로운 제4 사용자 정보 테이블을 생성할 수 있다. In some embodiments of the present invention, when the message type is INVITE type, the packet analyzing unit determines whether call ID information included in the packet information exists in the second user information table, If the call ID information exists in the table, the second user information table may be deleted and a new fourth user information table may be created.

본 발명의 몇몇 실시예에서, 상기 패킷 분석부는, 상기 제2 사용자 정보 테이블에 상기 콜 ID 정보가 존재하지 않는 경우에, 상기 제2 사용자 정보 테이블을 비삭제하고, 상기 제4 사용자 정보 테이블을 생성할 수 있다. In some embodiments of the present invention, when the call ID information does not exist in the second user information table, the packet analyzing unit discards the second user information table and generates the fourth user information table can do.

본 발명의 몇몇 실시예에서, 상기 패킷 분석부는, 상기 메시지 타입이 BYE 타입인 경우에, 상기 패킷 정보에 포함된 콜 ID 정보가 상기 제2 사용자 정보 테이블에 존재하는지 판단하고, 상기 제2 사용자 정보 테이블에 상기 콜 ID 정보가 존재하는 경우에, 상기 제2 사용자 정보 테이블을 삭제할 수 있다. In some embodiments of the present invention, when the message type is a BYE type, the packet analyzing unit determines whether call ID information included in the packet information is present in the second user information table, If the call ID information exists in the table, the second user information table can be deleted.

본 발명의 몇몇 실시예에서, 상기 패킷 분석부는, 상기 메시지 타입이 UPDATE 타입인 경우에, 상기 패킷 정보에 포함된 콜 ID 정보가 상기 제2 사용자 정보 테이블에 존재하는지 판단하고, 상기 제2 사용자 정보 테이블에 상기 콜 ID 정보가 존재하는 경우에, 상기 제2 사용자 정보 테이블에 포함된 사용자 정보를 갱신할 수 있다. In some embodiments of the present invention, when the message type is UPDATE, the packet analyzing unit determines whether call ID information included in the packet information exists in the second user information table, When the call ID information exists in the table, the user information included in the second user information table can be updated.

본 발명의 몇몇 실시예에서, 상기 사용자 정보는, Timestamp 정보일 수 있다. In some embodiments of the invention, the user information may be Timestamp information.

본 발명의 몇몇 실시예에서, 상기 패킷 분석부는, 상기 제2 사용자 정보 테이블 내에서 상기 콜 ID 정보에 대응하는 상기 Timpstamp 정보를 갱신할 수 있다. In some embodiments of the present invention, the packet analyzing unit may update the Timpstamp information corresponding to the call ID information in the second user information table.

본 발명의 몇몇 실시예에서, 상기 패킷 정보는, 목적지 IP, 목적지 PORT, 출발지 IP, 출발지 PORT, 또는 사용자 단말 식별 번호를 포함할 수 있다. In some embodiments of the invention, the packet information may include a destination IP, a destination PORT, a source IP, a source PORT, or a user terminal identification number.

본 발명의 몇몇 실시예에서, 상기 사용자 단말 식별 번호는, MSISDN(Mobile Station International ISDN Number)을 포함할 수 있다. In some embodiments of the present invention, the user terminal identification number may include an MSISDN (Mobile Station International ISDN Number).

본 발명의 몇몇 실시예에서, 상기 패킷 분석부는, 요청(request) 메시지 및 응답(response) 메시지를 통해 단일 메시지를 완성하는 제어 메시지 관리 모듈과, 상기 단일 메시지를 통해 상기 제1 또는 제2 사용자 정보 테이블을 관리하는 메시지 처리 모듈을 포함할 수 있다. In some embodiments of the present invention, the packet analyzer includes a control message management module for completing a single message through a request message and a response message, and a control message management module for receiving the first or second user information And a message processing module for managing the table.

상기 과제를 해결하기 위한 본 발명의 VoLTE 세션 관리 장치의 다른 실시예는, GTP 패킷을 전송받아 GTP-U 패킷과 GTP-C 패킷으로 분류하고, 상기 GTP-U 패킷으로부터 제1 패킷 정보를 추출하고, 상기 GTP-C 패킷으로부터 제2 패킷 정보를 추출하는 패킷 관리부, 및 상기 제1 및 제2 패킷 정보를 전송받아 분석하고, 상기 제1 패킷 정보에 포함된 메시지 타입에 따라, 제1 사용자 정보 테이블을 생성 또는 삭제하거나, 제2 사용자 정보 테이블을 생성, 갱신, 또는 삭제하는 패킷 분석부를 포함하되, 상기 패킷 분석부는, 요청 메시지 및 응답 메시지를 통해 단일 메시지를 완성하는 제어 메시지 관리 모듈과, 상기 단일 메시지를 통해 상기 제1 또는 제2 사용자 정보 테이블을 관리하는 메시지 처리 모듈을 포함한다. In another embodiment of the VoLTE session management apparatus of the present invention for solving the above-mentioned problems, a GTP packet is received and classified into a GTP-U packet and a GTP-C packet, and first packet information is extracted from the GTP-U packet A packet management unit for extracting second packet information from the GTP-C packet, and analyzing the received first and second packet information and analyzing the first and second packet information according to a message type included in the first packet information, And a packet analyzer for generating, updating, or deleting a second user information table, wherein the packet analyzer comprises: a control message management module for completing a single message through a request message and a response message; And a message processing module for managing the first or second user information table through a message.

본 발명의 몇몇 실시예에서, 상기 제1 사용자 정보 테이블은 단말 등록에 관한 정보를 포함하고, 상기 제2 사용자 정보 테이블은 콜(call) ID에 관한 정보를 포함할 수 있다. In some embodiments of the present invention, the first user information table includes information on terminal registration, and the second user information table includes information on a call ID.

본 발명의 몇몇 실시예에서, 상기 패킷 분석부는, 상기 메시지 타입이 REGISTER, DE-REGISTER, INVITE, BYE, 또는 UPDATE 타입 중 어느 하나에 해당하는지 여부를 분석할 수 있다. In some embodiments of the present invention, the packet analyzer may analyze whether the message type corresponds to REGISTER, DE-REGISTER, INVITE, BYE, or UPDATE type.

본 발명의 몇몇 실시예에서, 상기 패킷 분석부는, 상기 메시지 타입이 REGISTER 타입인 경우에, 상기 제1 패킷 정보에 포함된 사용자 단말 식별 번호 정보가 상기 제1 사용자 정보 테이블에 존재하는지 판단하고, 상기 제1 사용자 정보 테이블에 상기 사용자 단말 식별 번호 정보가 존재하는 경우에, 상기 제1 사용자 정보 테이블을 삭제하고, 새로운 제3 사용자 정보 테이블을 생성할 수 있다. In some embodiments of the present invention, the packet analyzing unit may determine whether the user terminal identification number information included in the first packet information exists in the first user information table when the message type is a REGISTER type, If the user terminal identification number information exists in the first user information table, the first user information table can be deleted and a new third user information table can be created.

본 발명의 몇몇 실시예에서, 상기 패킷 분석부는, 상기 제1 사용자 정보 테이블에 상기 사용자 단말 식별 번호 정보가 존재하지 않는 경우에, 상기 제1 사용자 정보 테이블을 비삭제하고, 상기 제3 사용자 정보 테이블을 생성할 수 있다. In some embodiments of the present invention, when the user terminal identification number information does not exist in the first user information table, the packet analyzing unit discards the first user information table, Can be generated.

본 발명의 몇몇 실시예에서, 상기 패킷 분석부는, 상기 메시지 타입이 DE-REGISTER 타입인 경우에, 상기 제1 패킷 정보에 포함된 사용자 단말 식별 번호 정보가 상기 제1 사용자 정보 테이블에 존재하는지 판단하고, 상기 제1 사용자 정보 테이블에 상기 사용자 단말 식별 번호 정보가 존재하는 경우에, 상기 제1 사용자 정보 테이블을 삭제할 수 있다.In some embodiments of the present invention, when the message type is the DE-REGISTER type, the packet analyzing unit determines whether the user terminal identification number information included in the first packet information exists in the first user information table And delete the first user information table when the user terminal identification number information exists in the first user information table.

본 발명의 몇몇 실시예에서, 상기 패킷 분석부는, 상기 메시지 타입이 INVITE 타입인 경우에, 상기 제1 패킷 정보에 포함된 콜 ID 정보가 상기 제2 사용자 정보 테이블에 존재하는지 판단하고, 상기 제2 사용자 정보 테이블에 상기 콜 ID 정보가 존재하는 경우에, 상기 제2 사용자 정보 테이블을 삭제하고, 새로운 제4 사용자 정보 테이블을 생성할 수 있다. In some embodiments of the present invention, the packet analyzing unit may determine whether call ID information included in the first packet information exists in the second user information table when the message type is INVITE type, When the call ID information exists in the user information table, the second user information table can be deleted and a new fourth user information table can be created.

본 발명의 몇몇 실시예에서, 상기 패킷 분석부는, 상기 제2 사용자 정보 테이블에 상기 콜 ID 정보가 존재하지 않는 경우에, 상기 제2 사용자 정보 테이블을 비삭제하고, 상기 제4 사용자 정보 테이블을 생성할 수 있다. In some embodiments of the present invention, when the call ID information does not exist in the second user information table, the packet analyzing unit discards the second user information table and generates the fourth user information table can do.

본 발명의 몇몇 실시예에서, 상기 패킷 분석부는, 상기 메시지 타입이 BYE 타입인 경우에, 상기 제1 패킷 정보에 포함된 콜 ID 정보가 상기 제2 사용자 정보 테이블에 존재하는지 판단하고, 상기 제2 사용자 정보 테이블에 상기 콜 ID 정보가 존재하는 경우에, 상기 제2 사용자 정보 테이블을 삭제할 수 있다. In some embodiments of the present invention, the packet analyzing unit may determine whether call ID information included in the first packet information exists in the second user information table when the message type is the BYE type, When the call ID information exists in the user information table, the second user information table can be deleted.

본 발명의 몇몇 실시예에서, 상기 패킷 분석부는, 상기 메시지 타입이 UPDATE 타입인 경우에, 상기 제1 패킷 정보에 포함된 콜 ID 정보가 상기 제2 사용자 정보 테이블에 존재하는지 판단하고, 상기 제2 사용자 정보 테이블에 상기 콜 ID 정보가 존재하는 경우에, 상기 제2 사용자 정보 테이블에 포함된 사용자 정보를 갱신할 수 있다. In some embodiments of the present invention, the packet analyzing unit may determine whether call ID information included in the first packet information is present in the second user information table when the message type is UPDATE type, When the call ID information exists in the user information table, the user information included in the second user information table can be updated.

본 발명의 몇몇 실시예에서, 상기 사용자 정보는, Timestamp 정보일 수 있다. In some embodiments of the invention, the user information may be Timestamp information.

본 발명의 몇몇 실시예에서, 상기 패킷 분석부는, 상기 제2 사용자 정보 테이블 내에서 상기 콜 ID 정보에 대응하는 상기 Timpstamp 정보를 갱신할 수 있다. In some embodiments of the present invention, the packet analyzing unit may update the Timpstamp information corresponding to the call ID information in the second user information table.

본 발명의 몇몇 실시예에서, 상기 제1 패킷 정보는, 목적지 IP, 목적지 PORT, 출발지 IP, 출발지 PORT, 또는 사용자 단말 식별 번호를 포함하고, 상기 제2 패킷 정보는, 상기 GTP-C 패킷의 헤더로부터 추출된 GTP-C TEID, GTP-U TEID, 또는 UE IP를 포함할 수 있다. In some embodiments of the present invention, the first packet information includes a destination IP, a destination PORT, a source IP, a source PORT, or a user terminal identification number, and the second packet information includes a header of the GTP- The GTP-C TEID, the GTP-U TEID, or the UE IP extracted from the UE.

본 발명의 몇몇 실시예에서, 상기 사용자 단말 식별 번호는, MSISDN(Mobile Station International ISDN Number)을 포함할 수 있다. In some embodiments of the present invention, the user terminal identification number may include an MSISDN (Mobile Station International ISDN Number).

상기 과제를 해결하기 위한 본 발명의 VoLTE 세션 관리 방법의 일 실시예는, GTP 패킷을 전송받아 GTP-U 패킷과 GTP-C 패킷으로 분류하는 단계, 상기 GTP-U 패킷으로부터 패킷 정보를 추출하는 단계, 상기 패킷 정보로부터 메시지 타입을 분석하는 단계, 및 상기 메시지 타입에 따라, 제1 사용자 정보 테이블을 생성 또는 삭제하거나, 제2 사용자 정보 테이블을 생성, 갱신, 또는 삭제하는 단계를 포함하되, 상기 제1 사용자 정보 테이블은 단말 등록에 관한 정보를 포함하고, 상기 제2 사용자 정보 테이블은 콜(call) ID에 관한 정보를 포함한다. According to an aspect of the present invention, there is provided a VoLTE session management method comprising the steps of: receiving a GTP packet and classifying it into a GTP-U packet and a GTP-C packet; extracting packet information from the GTP- Analyzing a message type from the packet information, and generating or deleting a first user information table or generating, updating, or deleting a second user information table according to the message type, 1 user information table includes information on terminal registration, and the second user information table includes information on a call ID.

본 발명의 몇몇 실시예에서, 상기 제1 사용자 정보 테이블을 생성하는 단계는, 상기 메시지 타입이 REGISTER 타입인 경우에, 상기 패킷 정보에 포함된 사용자 단말 식별 번호 정보가 기 생성된 사용자 정보 테이블에 존재하는지 판단하고, 상기 기 생성된 사용자 정보 테이블에 상기 사용자 단말 식별 번호 정보가 존재하는 경우에, 상기 기 생성된 사용자 정보 테이블을 삭제하고, 새로운 사용자 정보 테이블을 생성할 수 있다. In some embodiments of the present invention, the step of generating the first user information table may include: when the message type is REGISTER type, the user terminal identification number information included in the packet information is present in the created user information table If the user terminal identification number information exists in the pre-created user information table, the pre-generated user information table can be deleted and a new user information table can be created.

본 발명의 몇몇 실시예에서, 상기 제1 사용자 정보 테이블을 생성하는 단계는, 상기 기 생성된 사용자 정보 테이블에 상기 사용자 단말 식별 번호 정보가 존재하지 않는 경우에, 상기 기 생성된 사용자 정보 테이블을 비삭제하고, 상기 새로운 사용자 정보 테이블을 생성할 수 있다. In some embodiments of the present invention, the step of generating the first user information table may include the step of, when the user terminal identification number information does not exist in the pre-generated user information table, And generate the new user information table.

본 발명의 몇몇 실시예에서, 상기 제1 사용자 정보 테이블을 삭제하는 단계는, 상기 메시지 타입이 DE-REGISTER 타입인 경우에, 상기 패킷 정보에 포함된 사용자 단말 식별 번호 정보가 상기 제1 사용자 정보 테이블에 존재하는지 판단하고, 상기 제1 사용자 정보 테이블에 상기 사용자 단말 식별 번호 정보가 존재하는 경우에, 상기 제1 사용자 정보 테이블을 삭제할 수 있다. In some embodiments of the present invention, the step of deleting the first user information table may include: when the message type is the DE-REGISTER type, the user terminal identification number information included in the packet information is the first user information table And if the user terminal identification number information exists in the first user information table, the first user information table can be deleted.

본 발명의 몇몇 실시예에서, 상기 제2 사용자 정보 테이블을 생성하는 단계는, 상기 메시지 타입이 INVITE 타입인 경우에, 상기 패킷 정보에 포함된 콜 ID 정보가 기 생성된 사용자 정보 테이블에 존재하는지 판단하고, 상기 기 생성된 사용자 정보 테이블에 상기 콜 ID 정보가 존재하는 경우에, 상기 기 생성된 사용자 정보 테이블을 삭제하고, 새로운 사용자 정보 테이블을 생성할 수 있다. In some embodiments of the present invention, the step of generating the second user information table may include determining whether the call ID information included in the packet information exists in the created user information table when the message type is INVITE type If the call ID information exists in the pre-generated user information table, the pre-generated user information table can be deleted and a new user information table can be created.

본 발명의 몇몇 실시예에서, 상기 제2 사용자 정보 테이블을 생성하는 단계는, 상기 기 생성된 사용자 정보 테이블에 상기 콜 ID 정보가 존재하지 않는 경우에, 상기 기 생성된 사용자 정보 테이블을 비삭제하고, 상기 새로운 사용자 정보 테이블을 생성할 수 있다. In some embodiments of the present invention, the step of generating the second user information table may include deleting the previously generated user information table when the call ID information does not exist in the previously created user information table , The new user information table can be generated.

본 발명의 몇몇 실시예에서, 상기 제2 사용자 정보 테이블을 삭제하는 단계는, 상기 메시지 타입이 BYE 타입인 경우에, 상기 패킷 정보에 포함된 콜 ID 정보가 상기 제2 사용자 정보 테이블에 존재하는지 판단하고, 상기 제2 사용자 정보 테이블에 상기 콜 ID 정보가 존재하는 경우에, 상기 제2 사용자 정보 테이블을 삭제할 수 있다. In some embodiments of the present invention, the step of deleting the second user information table may include determining whether the call ID information included in the packet information exists in the second user information table when the message type is a BYE type And if the call ID information exists in the second user information table, the second user information table can be deleted.

본 발명의 몇몇 실시예에서, 상기 제2 사용자 정보 테이블을 갱신하는 단계는, 상기 메시지 타입이 UPDATE 타입인 경우에, 상기 패킷 정보에 포함된 콜 ID 정보가 상기 제2 사용자 정보 테이블에 존재하는지 판단하고, 상기 제2 사용자 정보 테이블에 상기 콜 ID 정보가 존재하는 경우에, 상기 제2 사용자 정보 테이블에 포함된 사용자 정보를 갱신할 수 있다. In some embodiments of the present invention, the step of updating the second user information table may include determining whether call ID information included in the packet information exists in the second user information table when the message type is UPDATE type And if the call ID information exists in the second user information table, the user information included in the second user information table can be updated.

본 발명의 몇몇 실시예에서, 상기 사용자 정보는, Timestamp 정보일 수 있다. In some embodiments of the invention, the user information may be Timestamp information.

본 발명의 몇몇 실시예에서, 상기 제2 사용자 정보 테이블을 갱신하는 단계는, 상기 제2 사용자 정보 테이블 내에서 상기 콜 ID 정보에 대응하는 상기 Timpstamp 정보를 갱신할 수 있다. In some embodiments of the present invention, the step of updating the second user information table may update the Timpstamp information corresponding to the call ID information in the second user information table.

본 발명의 기타 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.Other specific details of the invention are included in the detailed description and drawings.

본 발명에 따른 VoLTE 세션 관리 장치 및 방법에 의하면, GTP-U 패킷에서 추출한 패킷 정보에 포함된 메시지 타입 정보를 이용하여 사용자 정보 테이블을 생성하거나, 갱신하거나, 삭제하여 VoLTE 관련된 사용자 세션을 관리할 수 있다. According to the apparatus and method for managing VoLTE sessions according to the present invention, a VoIP-related user session can be managed by creating, updating or deleting a user information table using message type information included in packet information extracted from a GTP-U packet have.

도 1은 본 발명의 일 실시예에 따른 VoLTE 세션 관리 장치를 포함하는 시스템의 개략적인 블록도이다.
도 2는 GTP-U 패킷과 GTP-C 패킷을 가공하여 획득한 데이터 프레임을 도시한 것이다.
도 3은 도 1의 패킷 관리부의 세부 모듈을 도시한 블록도이다.
도 4는 도 1의 패킷 분석부의 세부 모듈을 도시한 블록도이다.
도 5는 도 4의 GTP 터널 정보 수집 모듈의 세부 모듈을 도시한 블록도이다.
도 6은 도 5의 제어 메시지 관리 모듈의 동작을 설명하기 위한 데이터 테이블이다.
도 7은 도 5의 메시지 처리 모듈의 동작을 설명하기 위한 흐름도이다.
도 8은 메시지 처리 모듈의 세션 생성 동작을 설명하기 위한 흐름도이다.
도 9 및 도 10은 메시지 처리 모듈의 세션 생성 동작을 설명하기 위한 데이터 테이블이다.
도 11은 메시지 처리 모듈의 세션 갱신 동작을 설명하기 위한 흐름도이다.
도 12 및 도 13은 메시지 처리 모듈의 세션 갱신 동작을 설명하기 위한 데이터 테이블이다.
도 14는 메시지 처리 모듈의 세션 삭제 동작을 설명하기 위한 흐름도이다.
도 15 및 도 16은 메시지 처리 모듈의 세션 삭제 동작을 설명하기 위한 데이터 테이블이다.
도 17은 도 4의 VoLTE 세션 관리 엔진의 세부 모듈을 도시한 블록도이다.
도 18은 도 4의 VoLTE 세션 관리 엔진의 동작을 설명하기 위한 데이터 테이블이다.
도 19 내지 도 21은 인덱스 해시 테이블을 도시한 것이다.
도 22는 도 17의 VoLTE 세션 관리 모듈의 동작을 설명하기 위한 흐름도이다.
도 23은 도 17의 메시지 처리 모듈의 동작을 설명하기 위한 흐름도이다.
도 24는 사용자 정보 테이블 생성을 위해 완성된 단일 메시지의 예시이다.
도 25는 메시지 처리 모듈의 사용자 정보 테이블 생성 동작을 설명하기 위한 흐름도이다.
도 26은 생성된 사용자 정보 테이블의 예시이다.
도 27은 사용자 정보 테이블 삭제를 위해 완성된 단일 메시지의 예시이다.
도 28은 메시지 처리 모듈의 사용자 정보 테이블 삭제 동작을 설명하기 위한 흐름도이다.
도 29는 RTP 테이블 생성을 위해 완성된 단일 메시지의 예시이다.
도 30은 메시지 처리 모듈의 RTP 테이블 생성 동작을 설명하기 위한 흐름도이다.
도 31은 생성된 RTP 테이블의 예시이다.
도 32는 Call ID 테이블 및 RTP 테이블의 필드 값을 삭제하기 위해 완성된 단일 메시지의 예시이다.
도 33은 메시지 처리 모듈의 Call ID 테이블 및 RTP 테이블의 필드 값 삭제 동작을 설명하기 위한 흐름도이다.
도 34는 필드 값이 삭제되는 Call ID 테이블 및 RTP 테이블의 예시이다.
도 35는 Call 테이블의 필드 값을 갱신하기 위해 완성된 단일 메시지의 예시이다.
도 36은 메시지 처리 모듈의 Call ID 테이블의 필드 값 갱신 동작을 설명하기 위한 흐름도이다.
도 37은 필드 값이 갱신되는 Call ID 테이블의 예시이다.
도 38은 메시지 처리 모듈이 Timestamp 필드 값을 확인하여 사용자 정보 테이블을 삭제하는 동작을 설명하기 위한 흐름도이다.
도 39는 필드 값이 삭제되는 사용자 정보 테이블의 예시이다.
도 40은 본 발명의 실시예에 따른 VoLTE 세션 관리 장치가 적용된 4G 네트워크의 구조를 설명하기 위한 도면이다.
도 41은 도 40의 4G 네트워크와 연동된 IMS 네트워크의 구조를 설명하기 위한 도면이다.
도 42는 본 발명의 일 실시예에 따른 VoLTE 세션 관리 방법을 설명하기 위한 흐름도이다.
1 is a schematic block diagram of a system including a VoLTE session management apparatus according to an embodiment of the present invention.
FIG. 2 shows a data frame obtained by processing a GTP-U packet and a GTP-C packet.
3 is a block diagram showing a detailed module of the packet management unit of FIG.
4 is a block diagram showing a detailed module of the packet analyzing unit of FIG.
5 is a block diagram illustrating a detailed module of the GTP tunnel information collection module of FIG.
6 is a data table for explaining the operation of the control message management module of FIG.
7 is a flowchart for explaining the operation of the message processing module of FIG.
8 is a flowchart for illustrating a session generation operation of the message processing module.
9 and 10 are data tables for explaining the session creation operation of the message processing module.
11 is a flowchart for explaining a session update operation of the message processing module.
12 and 13 are data tables for explaining the session update operation of the message processing module.
14 is a flowchart for explaining a session deletion operation of the message processing module.
15 and 16 are data tables for explaining the session deletion operation of the message processing module.
17 is a block diagram illustrating a detailed module of the VoLTE session management engine of FIG.
18 is a data table for explaining the operation of the VoLTE session management engine of FIG.
19 to 21 show an index hash table.
22 is a flowchart for explaining the operation of the VoLTE session management module of FIG.
23 is a flowchart for explaining the operation of the message processing module of Fig.
24 is an illustration of a single completed message for user information table creation.
25 is a flowchart for explaining the operation of generating the user information table of the message processing module.
26 is an illustration of the generated user information table.
Figure 27 is an illustration of a single completed message for deleting a user information table.
28 is a flowchart for explaining the operation of deleting the user information table of the message processing module.
Figure 29 is an illustration of a single completed message for RTP table creation.
30 is a flowchart for explaining an RTP table generation operation of the message processing module.
31 is an illustration of the generated RTP table.
32 is an illustration of a single message completed to delete the field values of the Call ID table and the RTP table.
33 is a flowchart for explaining the operation of deleting a field value of the Call ID table and the RTP table of the message processing module.
FIG. 34 shows an example of a Call ID table and an RTP table in which a field value is deleted.
Figure 35 is an illustration of a single completed message to update the field values of the Call table.
36 is a flowchart for explaining a field value update operation of the Call ID table of the message processing module.
37 is an example of a Call ID table in which a field value is updated.
38 is a flowchart for explaining an operation for the message processing module to confirm the Timestamp field value and delete the user information table.
39 is an example of a user information table in which a field value is deleted.
40 is a diagram for explaining the structure of a 4G network to which a VoLTE session management apparatus according to an embodiment of the present invention is applied.
FIG. 41 is a diagram for explaining the structure of an IMS network interworking with the 4G network of FIG. 40; FIG.
42 is a flowchart illustrating a VoLTE session management method according to an embodiment of the present invention.

본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.BRIEF DESCRIPTION OF THE DRAWINGS The advantages and features of the present invention and the manner of achieving them will become apparent with reference to the embodiments described in detail below with reference to the accompanying drawings. The present invention may, however, be embodied in many different forms and should not be construed as being limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the invention to those skilled in the art. Is provided to fully convey the scope of the invention to those skilled in the art, and the invention is only defined by the scope of the claims. Like reference numerals refer to like elements throughout the specification.

각 블록은 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또한, 몇 가지 대체 실행 예들에서는 블록들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대 잇달아 도시되어 있는 두 개의 블록들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 블록들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.Each block may represent a portion of a module, segment, or code that includes one or more executable instructions for executing the specified logical function (s). It should also be noted that in some alternative implementations the functions mentioned in the blocks may occur out of order. For example, two blocks that are shown one after the other may actually be executed substantially concurrently, or the blocks may sometimes be performed in reverse order according to the corresponding function.

비록 제1, 제2 등이 다양한 소자, 구성요소 및/또는 섹션들을 서술하기 위해서 사용되나, 이들 소자, 구성요소 및/또는 섹션들은 이들 용어에 의해 제한되지 않음은 물론이다. 이들 용어들은 단지 하나의 소자, 구성요소 또는 섹션들을 다른 소자, 구성요소 또는 섹션들과 구별하기 위하여 사용하는 것이다. 따라서, 이하에서 언급되는 제1 소자, 제1 구성요소 또는 제1 섹션은 본 발명의 기술적 사상 내에서 제2 소자, 제2 구성요소 또는 제2 섹션일 수도 있음은 물론이다.Although the first, second, etc. are used to describe various elements, components and / or sections, it is needless to say that these elements, components and / or sections are not limited by these terms. These terms are only used to distinguish one element, element or section from another element, element or section. Therefore, it goes without saying that the first element, the first element or the first section mentioned below may be the second element, the second element or the second section within the technical spirit of the present invention.

본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소, 단계, 동작 및/또는 소자는 하나 이상의 다른 구성요소, 단계, 동작 및/또는 소자의 존재 또는 추가를 배제하지 않는다.The terminology used herein is for the purpose of illustrating embodiments and is not intended to be limiting of the present invention. In the present specification, the singular form includes plural forms unless otherwise specified in the specification. It is noted that the terms "comprises" and / or "comprising" used in the specification are intended to be inclusive in a manner similar to the components, steps, operations, and / Or additions.

다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.Unless defined otherwise, all terms (including technical and scientific terms) used herein may be used in a sense commonly understood by one of ordinary skill in the art to which this invention belongs. Also, commonly used predefined terms are not ideally or excessively interpreted unless explicitly defined otherwise.

도 1은 본 발명의 일 실시예에 따른 VoLTE 세션 관리 장치를 포함하는 시스템의 개략적인 블록도이다. 도 2는 GTP-U 패킷과 GTP-C 패킷을 가공하여 획득한 데이터 프레임을 도시한 것이다.1 is a schematic block diagram of a system including a VoLTE session management apparatus according to an embodiment of the present invention. FIG. 2 shows a data frame obtained by processing a GTP-U packet and a GTP-C packet.

도 1 및 도 2를 참조하여, 우선, 본 발명의 일 실시예에 따른 VoLTE 세션 관리 장치를 포함하는 시스템의 개략적인 구성을 설명하기로 한다. 도 1을 참조하면, 본 발명의 일 실시예에 따른 VoLTE 세션 관리 장치를 포함하는 시스템은, NIC(Network Interface Card)(10), 패킷 관리부(100), 패킷 분석부(200), 패킷 분석 결과 관리부(300), 시스템 관리부(400), 시스템 통신부(500), 제1 내지 제4 저장부(DB1, DB2, DB3, DB4)를 포함한다. 1 and 2, a schematic configuration of a system including a VoLTE session management apparatus according to an embodiment of the present invention will be described. 1, a system including a VoLTE session management apparatus according to an embodiment of the present invention includes a network interface card (NIC) 10, a packet management unit 100, a packet analysis unit 200, A system management unit 400, a system communication unit 500 and first to fourth storage units DB1, DB2, DB3 and DB4.

NIC(10)는 GTP 패킷을 수신하여 패킷 관리부(100)로 전송하고, 패킷 관리부(100)의 제어 신호에 따라 GTP 패킷을 포워딩(forwarding)하거나 드롭(drop)할 수 있다. NIC(10)는 일반적인 네트워크 인터페이스 카드 또는 하드웨어 가속 네트워크 인터페이스 카드일 수 있다. GTP 패킷은 GTP-C 패킷과 GTP-U 패킷을 포함하며, GTP-U 패킷은 4G 네트워크 내에서 사용자의 데이터 패킷을 전송하기 위해 사용된다.The NIC 10 receives the GTP packet and transmits it to the packet management unit 100 and can forward or drop the GTP packet according to the control signal of the packet management unit 100. [ The NIC 10 may be a general network interface card or a hardware accelerated network interface card. The GTP packet includes the GTP-C packet and the GTP-U packet, and the GTP-U packet is used to transmit the user's data packet in the 4G network.

패킷 관리부(100)는 NIC(10)로부터 GTP 패킷을 전송받아 GTP-U 패킷과 GTP-C 패킷으로 분류하고, GTP-U 패킷으로부터 제1 패킷 정보(D1)를 추출하고, GTP-C 패킷으로부터 제2 패킷 정보(D2)를 추출한다. 여기에서, 제1 패킷 정보(D1)는 GTP-U 패킷의 페이로드(payload)로부터 추출된 SIP 메시지, 및 상기 SIP 메시지로부터 추출된 목적지 IP, 목적지 PORT, 출발지 IP, 출발지 PORT, 또는 사용자 단말 식별 번호를 포함할 수 있다. 제2 패킷 정보(D2)는 GTP-C 패킷의 헤더로부터 추출된 GTP-C TEID를 포함할 수 있다. 그리고, 제2 패킷 정보(D2)는 GTP-U TEID, UE IP를 더 포함할 수 있다.The packet management unit 100 receives the GTP packet from the NIC 10 and classifies it into a GTP-U packet and a GTP-C packet, extracts the first packet information D1 from the GTP-U packet, And extracts the second packet information D2. Here, the first packet information D1 includes a SIP message extracted from the payload of the GTP-U packet, and a destination IP, a destination PORT, a source IP, a source PORT, or a user terminal identification Number. The second packet information D2 may include a GTP-C TEID extracted from the header of the GTP-C packet. The second packet information D2 may further include a GTP-U TEID and a UE IP.

구체적으로, 도 2를 참조하면, 패킷 관리부(100)는 GTP-U 패킷으로부터 필요한 정보를 추출하여, 제1 데이터 프레임(F1)을 생성할 수 있고, 제1 데이터 프레임(F1)에는 TEID(UL-DATA), Src IP, Dst IP, Protocol, Src Port, Dst Port, Length 등의 데이터가 포함될 수 있다. 또한, 패킷 관리부(100)는 GTP-C 패킷으로부터 필요한 정보를 추출하여, 제2 데이터 프레임(F2)을 생성할 수 있고, 제2 데이터 프레임(F2)에는 Src IP, Src Port, Msg Type, TEID, GTP-C IE 등의 데이터가 포함될 수 있다. 상기 GTP-C IE(Information Element)는 메시지 타입(Msg Type_1)에 따라 다른 정보를 포함할 수 있다. 예를 들어, GTP-C IE는 TEID, MSISDN, IP 등의 정보를 포함할 수 있다. 2, the packet management unit 100 may extract the necessary information from the GTP-U packet to generate a first data frame F1, and the first data frame F1 may include a TEID (UL -DATA), Src IP, Dst IP, Protocol, Src Port, Dst Port, Length, and the like. The packet management unit 100 can extract the necessary information from the GTP-C packet to generate the second data frame F2 and the second data frame F2 includes Src IP, Src Port, Msg Type, TEID , GTP-C IE, and the like. The GTP-C IE (Information Element) may include other information according to the message type (Msg Type_1). For example, the GTP-C IE may include information such as TEID, MSISDN, and IP.

패킷 관리부(100)는 패킷 필터링 정책, 시스템 동작 모드 등을 확인하기 위하여 제2 저장부(DB2)와 통신한다. 제2 저장부(DB2)는, 예를 들어, 동작 모드 정보 저장부일 수 있다.The packet management unit 100 communicates with the second storage unit DB2 to check a packet filtering policy, a system operation mode, and the like. The second storage unit DB2 may be, for example, an operation mode information storage unit.

패킷 분석부(200)는 제1 및 제2 패킷 정보(D1, D2)를 전송받아 분석하고, 제1 패킷 정보(D1)에 포함된 메시지 타입(Msg Type_2)에 따라, 제1 및 제2 사용자 정보 테이블(Regi Table, Call ID Table)을 생성, 갱신, 또는 삭제한다. 여기에서, 제1 사용자 정보 테이블(Regi Table)은 단말 등록에 관한 정보를 포함하고, 제2 사용자 정보 테이블(Call ID Table)은 콜(call) ID에 관한 정보를 포함할 수 있다. 그리고, 패킷 분석부(200)는 비정상 GTP 패킷을 차단하기 위한 패킷 차단 정보(D3)를 생성하여 패킷 관리부(100)로 전송한다. The packet analyzer 200 analyzes the first and second packet information D1 and D2 and analyzes the first and second packet information D1 and D2 according to the message type Msg Type_2 included in the first packet information D1. Create, update, or delete the information table (Regi Table, Call ID Table). Here, the first user information table (Regi Table) includes information on terminal registration, and the second user information table (Call ID Table) may include information on a call ID. The packet analyzing unit 200 generates packet blocking information D3 for blocking the abnormal GTP packet and transmits the packet blocking information D3 to the packet managing unit 100. [

패킷 분석부(200)는 패킷 분석 결과 정보(D4)를 패킷 분석 결과 관리부(300)로 전송하고, GTP-C/U 패킷 분석 정보(D5)를 제1 저장부(DB1)로 전송한다. 제1 저장부(DB1)는, 예를 들어, 사용자 GTP 터널 정보 저장부일 수 있다. The packet analysis unit 200 transmits the packet analysis result information D4 to the packet analysis result management unit 300 and transmits the GTP-C / U packet analysis information D5 to the first storage unit DB1. The first storage unit DB1 may be, for example, a user GTP tunnel information storage unit.

여기에서, 제1 저장부(DB1)에는 상기 제1 및 제2 사용자 정보 테이블(Regi Table, Call ID Table)이 저장될 수 있다. Here, the first and second user information tables (Regi Table, Call ID Table) may be stored in the first storage unit DB1.

또한, 패킷 분석부(200)는 탐지/차단 정책을 확인하기 위하여 제3 저장부(DB3)와 통신한다. 제3 저장부(DB3)는, 예를 들어, 탐지/차단 정책 저장부일 수 있다. In addition, the packet analyzer 200 communicates with the third storage unit DB3 to check the detection / blocking policy. The third storage unit DB3 may be, for example, a detection / blocking policy storage unit.

패킷 분석 결과 관리부(300)는 패킷 분석부(200)로부터 패킷 분석 결과 정보(D4)를 전송받아 사용자 정보를 추출하고, 탐지/차단 결과 정보(D6)를 생성한다. 탐지/차단 결과 정보(D6)는 상기 GTP-U 패킷 및 GTP-C 패킷으로부터 추출된 사용자 정보를 분석하여 얻은 결과 정보이다. The packet analysis result management unit 300 receives the packet analysis result information D4 from the packet analysis unit 200, extracts the user information, and generates the detection / blocking result information D6. The detection / blocking result information D6 is result information obtained by analyzing the user information extracted from the GTP-U packet and the GTP-C packet.

패킷 분석 결과 관리부(300)는 상기 추출된 사용자 정보를 이용하여, 제1 저장부(DB1)와 통신하여 패킷 발송 사용자를 조회한다. 또한, 패킷 분석 결과 관리부(300)는 탐지/차단 결과 정보(D6)를 제4 저장부(DB4)로 전송한다. 제4 저장부(DB4)는, 예를 들어, 탐지/차단 로그 저장부일 수 있다. The packet analysis result management unit 300 communicates with the first storage unit DB1 using the extracted user information to inquire a packet sending user. In addition, the packet analysis result management unit 300 transmits the detection / blocking result information D6 to the fourth storage unit DB4. The fourth storage unit DB4 may be, for example, a detection / blocking log storage unit.

시스템 관리부(400)는 트래픽 입출력 현황을 통하여 시스템의 상태를 모니터링하고, 모니터링 결과에 따라 상기 시스템의 동작 모드를 설정하고, 시스템 동작 모드 정보(D7)를 제2 저장부(DB2)로 전송한다. 시스템 관리부(400)는 트래픽 입출력 현황 정보(D8)를 시스템 통신부(500)로 전송한다. The system management unit 400 monitors the status of the system through the traffic input / output status, sets the operation mode of the system according to the monitoring result, and transmits the system operation mode information D7 to the second storage unit DB2. The system management unit 400 transmits the traffic input / output status information D8 to the system communication unit 500. [

시스템 통신부(500)는 내부 시스템 또는 외부 시스템에 전송되는 시스템 메시지를 분석하고 관리한다. 상기 시스템 메시지는 내부 시스템의 동작 모드 설정을 위한 시스템 관리 메시지, 내부 시스템의 탐지/차단 정책 설정을 위한 정책 관리 메시지, 내부 시스템의 탐지/차단 로그 조회를 위한 탐지/차단 로그 조회 메시지, GUI와 통신을 위한 GUI 프로토콜, 외부 시스템과 연동하여 탐지/차단 정책을 설정하기 위한 외부 시스템 연동 프로토콜 등을 포함한다. The system communication unit 500 analyzes and manages system messages transmitted to an internal system or an external system. The system message includes a system management message for setting an operation mode of the internal system, a policy management message for setting a detection / blocking policy of the internal system, a detection / blocking log inquiry message for detecting the detection / blocking log of the internal system, And a protocol for interworking with an external system for setting a detection / interception policy in cooperation with an external system.

이하에서, 도 3 내지 도 39를 참조하여, 본 발명의 일 실시예에 따른 VoLTE 세션 관리 장치를 포함하는 시스템의 세부적인 구성에 대하여 설명한다. Hereinafter, a detailed configuration of a system including a VoLTE session management apparatus according to an embodiment of the present invention will be described with reference to FIG. 3 to FIG.

도 3은 도 1의 패킷 관리부의 세부 모듈을 도시한 블록도이다.3 is a block diagram showing a detailed module of the packet management unit of FIG.

도 3을 참조하면, 패킷 관리부(100)는 제2 저장부(DB2)에 저장된 시스템 동작 모드 정보를 이용하여, 시스템의 IPS 모드 또는 BYPASS 모드를 적용한다. IPS 모드는 NIC(10)를 통하여 전송되는 GTP 패킷의 비정상 여부를 분석하여, 포워딩 또는 드롭하는 모드이고, BYPASS 모드는 NIC(10)를 통하여 전송되는 GTP 패킷의 비정상 여부를 분석하지 않고, 모든 GTP 패킷을 포워딩하는 모드이다. Referring to FIG. 3, the packet management unit 100 applies the IPS mode or BYPASS mode of the system using the system operation mode information stored in the second storage unit DB2. The IPS mode is a mode for analyzing whether the GTP packet transmitted through the NIC 10 is abnormal or for forwarding or dropping the GTP packet. The BYPASS mode is a mode for analyzing whether or not an abnormal GTP packet transmitted through the NIC 10 is abnormal, It is a mode to forward packets.

패킷 관리부(100)는 시스템 동작 모드에 따라 GTP 패킷을 전송받고, 이를 분석하여 설정된 목적지 IP 및 목적지 Port를 기반으로 하여 GTP 패킷을 필터링한다. 이어서, GTP 패킷을 GTP-U 패킷과 GTP-C 패킷으로 분류한다. 분류된 GTP-U 패킷과 GTP-C 패킷을 가공하여 제1 데이터 프레임(F1)과 제2 데이터 프레임(F2)을 생성하여, 패킷 분석부(200)로 전송한다(도 2 참조).The packet management unit 100 receives the GTP packet according to the system operation mode, analyzes the GTP packet, and filters the GTP packet based on the set destination IP and destination port. Then, the GTP packet is classified into a GTP-U packet and a GTP-C packet. The GTP-U packet and the GTP-C packet are processed to generate the first data frame F1 and the second data frame F2 and transmitted to the packet analyzer 200 (see FIG. 2).

또한, 패킷 관리부(100)는 패킷 분석부(200)로부터 전송된 패킷 차단 정보(D3)를 이용하여, 패킷 제어 모듈을 통해 패킷을 제어(즉, 포워딩 또는 드롭)한다. 다만, 이러한 패킷 제어는 시스템이 IPS 모드인 경우에만 동작한다. The packet managing unit 100 also controls (i.e., forwards or drops) the packet through the packet control module using the packet blocking information D3 transmitted from the packet analyzing unit 200. [ However, such packet control operates only when the system is in the IPS mode.

도 4는 도 1의 패킷 분석부의 세부 모듈을 도시한 블록도이다. 도 5는 도 4의 GTP 터널 정보 수집 모듈의 세부 모듈을 도시한 블록도이다. 도 6은 도 5의 제어 메시지 관리 모듈의 동작을 설명하기 위한 데이터 테이블이다. 도 7은 도 5의 메시지 처리 모듈의 동작을 설명하기 위한 흐름도이다. 4 is a block diagram showing a detailed module of the packet analyzing unit of FIG. 5 is a block diagram illustrating a detailed module of the GTP tunnel information collection module of FIG. 6 is a data table for explaining the operation of the control message management module of FIG. 7 is a flowchart for explaining the operation of the message processing module of FIG.

도 4를 참조하면, 패킷 분석부(200)는 제3 저장부(DB3)와 통신하여 탐지/차단 정책을 확인한다. 시스템에 적용된 탐지/차단 정책에 따라, 제1 패킷 정보(D1)를 분석하고, 비정상 SIP 탐지 모듈을 통해, 비정상 SIP 메시지를 포함한 GTP 패킷을 탐지한다. 패킷 분석부(200)에서 제1 패킷 정보(D1)를 분석한 결과에 따라 GTP 패킷을 처리할 수 있다. 즉, GTP 패킷의 포워딩 또는 드롭을 위하여 패킷 분석부(200)는 패킷 차단 정보(D3)를 패킷 관리부(100)로 전송한다. Referring to FIG. 4, the packet analyzer 200 communicates with the third storage unit DB3 to check the detection / blocking policy. Analyzes the first packet information D1 according to the detection / blocking policy applied to the system, and detects a GTP packet including the abnormal SIP message through the abnormal SIP detection module. The packet analyzer 200 can process the GTP packet according to the result of analyzing the first packet information D1. That is, the packet analyzing unit 200 transmits the packet blocking information D3 to the packet managing unit 100 in order to forward or drop the GTP packet.

또한, 패킷 분석부(200)는 GTP 터널 정보 수집 모듈(210)을 포함하며, GTP 터널 정보 수집 모듈(210)을 통해 제2 패킷 정보(D2)로부터 세션 정보를 추출한다. 패킷 분석부(200)는 제2 패킷 정보(D2)에 포함된 메시지 타입(Msg Type_1)에 따라, 사용자 정보 테이블(UC 테이블, UD 테이블, 및 IP 테이블)을 생성, 갱신, 또는 삭제한다. The packet analyzer 200 includes a GTP tunnel information collection module 210 and extracts session information from the second packet information D2 through the GTP tunnel information collection module 210. [ The packet analyzing unit 200 generates, updates, or deletes the user information table (UC table, UD table, and IP table) according to the message type (Msg Type_1) included in the second packet information D2.

구체적으로, 도 5를 참조하면, GTP 터널 정보 수집 모듈(210)은 제어 메시지 관리 모듈(220)과 메시지 처리 모듈(230)을 포함한다. 제어 메시지 관리 모듈(220)은 메시지 버퍼(221)를 포함하고, 요청(Request) 메시지와 응답(Response) 메시지를 통해 단일 메시지(UM_1)를 완성한다. Referring to FIG. 5, the GTP tunnel information collection module 210 includes a control message management module 220 and a message processing module 230. The control message management module 220 includes a message buffer 221 and completes a single message UM_1 through a Request message and a Response message.

즉, 요청(Request) 메시지 확인 시, MME IP와 Sequence Number 값을 키값으로 하여 메시지 버퍼(221)에 메시지 행을 추가한다. S-GW는 다수의 MME로부터 메시지를 수신하므로, Sequence Number 값의 중복을 고려하여 MME IP를 키값으로 추가한다. 응답(Response) 메시지 확인 시, 메시지 버퍼(221)에 저장된 요청(Request) 메시지 중에서 동일한 키값을 갖는 메시지가 있는지를 상기 메시지 행으로부터 확인한다. 응답(Response) 메시지의 키값이 요청(Request) 메시지의 키값과 동일한 경우, 대응되는 응답(Response) 메시지의 필드 내용을 상기 메시지 행에 추가하여 단일 메시지(UM_1)를 완성한다(도 6을 참조하면, 밑줄 친 데이터는 응답(Response) 메시지로부터 추가된 내용이다). That is, at the time of request message confirmation, a message line is added to the message buffer 221 using the MME IP and the Sequence Number value as key values. Since the S-GW receives a message from a plurality of MMEs, MME IP is added as a key value in consideration of duplication of sequence number values. When a response message is confirmed, it is confirmed from the message line whether there is a message having the same key value among the request messages stored in the message buffer 221. When the key value of the response message is the same as the key value of the request message, the contents of the corresponding response message are added to the message line to complete a single message UM_1 , And the underlined data is added from the response message).

완성된 단일 메시지(UM_1)는 메시지 처리 모듈(230)로 전송되며, 전송 후 상기 단일 메시지(UM_1)는 메시지 버퍼(221)에서 삭제된다. 메시지 처리 모듈(230)은 상기 단일 메시지(UM_1)를 통해 제1 저장부(DB1)에 저장되는 사용자 정보 테이블(UC 테이블, UD 테이블, 및 IP 테이블)을 관리한다. 즉, 제1 저장부(DB1) 내의 사용자 정보 테이블(UC 테이블, UD 테이블, 및 IP 테이블)을 생성, 갱신, 또는 삭제한다. The completed single message UM_1 is sent to the message processing module 230 and the single message UM_1 is deleted from the message buffer 221 after transmission. The message processing module 230 manages a user information table (UC table, UD table, and IP table) stored in the first storage unit DB1 through the single message UM_1. That is, the user information table (UC table, UD table, and IP table) in the first storage unit DB1 is created, updated, or deleted.

도 7을 참조하면, 메시지 처리 모듈(230)은 단일 메시지(UM_1)를 수신하고, 단일 메시지(UM_1)에 포함된 메시지 타입(Msg Type_1) 정보를 확인한다. 메시지 타입(Msg Type_1)이 사용자 정보 테이블 생성 요청(이하, Type 0)인 경우에, 제2 패킷 정보(D2)에 포함된 UC TEID 및 EBI 정보가 기 존재하는 사용자 정보 테이블(UIT_1)에 존재하는지 판단하고, 사용자 정보 테이블(UIT_1)에 상기 UC TEID 및 EBI 정보가 존재하는 경우에, 사용자 정보 테이블(UIT_1)을 삭제하고, 새로운 사용자 정보 테이블(UIT_2)을 생성한다. 만약에, 사용자 정보 테이블(UIT_1)에 상기 UC TEID 및 EBI 정보가 존재하지 않는 경우에, 사용자 정보 테이블(UIT_1)을 비삭제하고, 사용자 정보 테이블(UIT_2)을 생성한다. Referring to FIG. 7, the message processing module 230 receives a single message UM_1 and confirms a message type (Msg Type_1) included in a single message UM_1. If the message type (Msg Type_1) is a user information table creation request (hereinafter, Type 0), whether UC TEID and EBI information included in the second packet information D2 exists in the existing user information table UIT_1 And deletes the user information table UIT_1 and generates a new user information table UIT_2 when the UC TEID and EBI information are present in the user information table UIT_1. If the UC TEID and EBI information do not exist in the user information table UIT_1, the user information table UIT_1 is deleted and a user information table UIT_2 is generated.

메시지 타입(Msg Type_1)이 사용자 정보 테이블 갱신 요청(이하, Type 1)인 경우에, 제2 패킷 정보(D2)에 포함된 UC TEID 및 EBI 정보가 기 존재하는 사용자 정보 테이블(UIT_1)에 존재하는지 판단하고, 사용자 정보 테이블(UIT_1)에 상기 UC TEID 및 EBI 정보가 존재하는 경우에, 사용자 정보 테이블(UIT_1)에 포함된 사용자 정보(UI)를 갱신한다. 여기에서, 상기 사용자 정보(UI)는 UD TEID 정보일 수 있다. It is determined whether UC TEID and EBI information included in the second packet information D2 exist in the existing user information table UIT_1 when the message type Msg Type_1 is a user information table update request And updates the user information UI included in the user information table UIT_1 when the UC TEID and EBI information exist in the user information table UIT_1. Here, the user information UI may be UD TEID information.

메시지 타입(Msg Type_1)이 사용자 정보 테이블 삭제 요청(이하, Type 2)인 경우에, 제2 패킷 정보(D2)에 포함된 UC TEID 및 EBI 정보가 기 존재하는 사용자 정보 테이블(UIT_1)에 존재하는지 판단하고, 사용자 정보 테이블(UIT_1)에 상기 UC TEID 및 EBI 정보가 존재하는 경우에, 사용자 정보 테이블(UIT_1)을 삭제한다. If the message type (Msg Type_1) is a user information table deletion request (hereinafter, Type 2), whether the UC TEID and EBI information included in the second packet information D2 exists in the existing user information table UIT_1 , And deletes the user information table (UIT_1) when the UC TEID and EBI information are present in the user information table (UIT_1).

도 8 내지 도 16을 참조하여, 메시지 처리 모듈(230)의 동작에 대해 더 구체적으로 설명한다. The operation of the message processing module 230 will be described in more detail with reference to FIGS. 8 to 16. FIG.

도 8은 메시지 처리 모듈의 세션 생성 동작을 설명하기 위한 흐름도이다. 도 9 및 도 10은 메시지 처리 모듈의 세션 생성 동작을 설명하기 위한 데이터 테이블이다. 도 11은 메시지 처리 모듈의 세션 갱신 동작을 설명하기 위한 흐름도이다. 도 12 및 도 13은 메시지 처리 모듈의 세션 갱신 동작을 설명하기 위한 데이터 테이블이다. 도 14는 메시지 처리 모듈의 세션 삭제 동작을 설명하기 위한 흐름도이다. 도 15 및 도 16은 메시지 처리 모듈의 세션 삭제 동작을 설명하기 위한 데이터 테이블이다.8 is a flowchart for illustrating a session generation operation of the message processing module. 9 and 10 are data tables for explaining the session creation operation of the message processing module. 11 is a flowchart for explaining a session update operation of the message processing module. 12 and 13 are data tables for explaining the session update operation of the message processing module. 14 is a flowchart for explaining a session deletion operation of the message processing module. 15 and 16 are data tables for explaining the session deletion operation of the message processing module.

도 8 내지 도 10을 참조하면, 메시지 처리 모듈(230)의 세션 생성 동작은, 우선, Type 0 메시지(즉, 사용자 정보 테이블 생성 요청 메시지)를 수신하고, 수신된 Type 0 메시지(도 9 참조)의 UC TEID 및 EBI 정보가 제1 저장부(DB1)에 저장된 UC 테이블에 존재하는지 판단한다. 상기 UC 테이블에, 수신된 Type 0 메시지의 UC TEID 및 EBI 정보가 존재한다면, 상기 UC 테이블을 삭제하고 새로운 UC 테이블을 생성한다(①). 이어서, UD 테이블을 생성하고(②), IP 테이블을 생성한다(③). 8 to 10, the session creation operation of the message processing module 230 first receives a Type 0 message (i.e., a user information table creation request message), and receives a Type 0 message (see FIG. 9) It is determined whether the UC TEID and EBI information of the UC table exists in the UC table stored in the first storage unit DB1. If there is UC TEID and EBI information of the received Type 0 message in the UC table, the UC table is deleted and a new UC table is created (1). Next, a UD table is created (2) and an IP table is created (3).

상기 UC 테이블에, 수신된 Type 0 메시지의 UC TEID 및 EBI 정보가 존재하지 않는다면, 상기 UC 테이블을 비삭제하고 새로운 UC 테이블을 생성한다(①). 이어서, UD 테이블을 생성하고(②), IP 테이블을 생성한다(③).If there is no UC TEID and EBI information of the received Type 0 message in the UC table, the UC table is not deleted and a new UC table is created (1). Next, a UD table is created (2) and an IP table is created (3).

UC 테이블, UD 테이블, IP 테이블을 순차적으로 생성할 때, UC TEID 및 EBI 값을 키값으로 하여, UD TEID 정보를 입력하고, UD 테이블에는 다시 상기 UD TEID 정보를 키값으로 하여, UE IP 정보를 입력하고, IP 테이블에는 다시 상기 UE IP 정보를 키값으로 하여, MSISDN 정보를 입력한다.When the UC table, the UD table, and the IP table are sequentially generated, UD TEID information is input with the UC TEID and EBI values as key values, and the UE IP information is input to the UD table using the UD TEID information as the key value again And inputs the MSISDN information with the UE IP information as the key value in the IP table.

도 11 내지 도 13을 참조하면, 메시지 처리 모듈(230)의 세션 갱신 동작은, 우선, Type 1 메시지(즉, 사용자 정보 테이블 갱신 요청 메시지)를 수신하고, 수신된 Type 1 메시지(도 12 참조)의 UC TEID 및 EBI 정보가 제1 저장부(DB1)에 저장된 UC 테이블에 존재하는지 판단한다. 상기 UC 테이블에, 수신된 Type 1 메시지의 UC TEID 및 EBI 정보가 존재한다면, 메시지 버퍼(221)에 사용자 단말 식별 번호 정보(예를 들어, MSISDN)가 존재하는지 판단하고, 존재하는 경우에, 상기 UC 테이블 정보를 이용하여 UD 테이블을 검색한다(①). 이어서, UD 테이블 정보를 이용하여 IP 테이블을 검색하고(②), IP 테이블의 사용자 단말 식별 번호 정보를 갱신한다(③). 이어서, UD 테이블의 UD TEID 정보를 갱신하고(④), UC 테이블의 UD TEID 정보를 갱신한다(⑤).11 to 13, the session update operation of the message processing module 230 first receives a Type 1 message (i.e., a user information table update request message), and receives a Type 1 message (see FIG. 12) It is determined whether the UC TEID and EBI information of the UC table exists in the UC table stored in the first storage unit DB1. If the UC TEID and EBI information of the received Type 1 message are present in the UC table, it is determined whether user terminal identification number information (for example, MSISDN) exists in the message buffer 221, UD table is searched using UC table information (①). Next, the IP table is searched using the UD table information (2), and the user terminal identification number information of the IP table is updated (3). Subsequently, the UD TEID information of the UD table is updated (4), and the UD TEID information of the UC table is updated (5).

메시지 버퍼(221)에 사용자 단말 식별 번호 정보(예를 들어, MSISDN)가 존재하지 않는 경우에, 상기 UC 테이블 정보를 이용하여 UD 테이블을 검색하고(①), UD 테이블의 UD TEID 정보를 갱신하고(②), UC 테이블의 UD TEID 정보를 갱신한다(③).When there is no user terminal identification number information (for example, MSISDN) in the message buffer 221, the UD table is searched using the UC table information (1), and the UD TEID information of the UD table is updated (2), and the UD TEID information of the UC table is updated (3).

도 14 내지 도 16을 참조하면, 메시지 처리 모듈(230)의 세션 삭제 동작은, 우선, Type 2 메시지(즉, 사용자 정보 테이블 삭제 요청 메시지)를 수신하고, 수신된 Type 2 메시지(도 15 참조)의 UC TEID 및 EBI 정보가 제1 저장부(DB1)에 저장된 UC 테이블에 존재하는지 판단한다. 상기 UC 테이블에, 수신된 Type 2 메시지의 UC TEID 및 EBI 정보가 존재한다면, 상기 UC 테이블 정보를 이용하여 UD 테이블을 검색한다(①). 이어서, UD 테이블 정보를 이용하여 IP 테이블을 검색하고(②), IP 테이블에서 해당 필드를 삭제하고(③), UD 테이블에서 해당 필드를 삭제하고(④), UC 테이블에서 해당 필드를 삭제한다(⑤).14 to 16, the session deletion operation of the message processing module 230 first receives a Type 2 message (i.e., a user information table deletion request message), and receives a Type 2 message (see FIG. 15) It is determined whether the UC TEID and EBI information of the UC table exists in the UC table stored in the first storage unit DB1. If the UC TEID and the EBI information of the received Type 2 message are present in the UC table, the UD table is searched using the UC table information (1). Subsequently, the IP table is searched using the UD table information (2), the corresponding field is deleted from the IP table (3), the corresponding field is deleted from the UD table (4), and the corresponding field is deleted from the UC table ⑤).

도 17은 도 4의 VoLTE 세션 관리 엔진의 세부 모듈을 도시한 블록도이다. 도 18은 도 4의 VoLTE 세션 관리 엔진의 동작을 설명하기 위한 데이터 테이블이다. 도 19 내지 도 21은 인덱스 해시 테이블을 도시한 것이다. 도 22는 도 17의 VoLTE 세션 관리 모듈의 동작을 설명하기 위한 흐름도이다. 17 is a block diagram illustrating a detailed module of the VoLTE session management engine of FIG. 18 is a data table for explaining the operation of the VoLTE session management engine of FIG. 19 to 21 show an index hash table. 22 is a flowchart for explaining the operation of the VoLTE session management module of FIG.

도 17을 참조하면, VoLTE 세션 관리 엔진(250)은 VoLTE 세션 관리 모듈(260)과 메시지 처리 모듈(270)을 포함하고, VoLTE 세션 관리 모듈(260)은 메시지 버퍼(261)를 포함할 수 있다. 17, the VoLTE session management engine 250 includes a VoLTE session management module 260 and a message processing module 270, and the VoLTE session management module 260 may include a message buffer 261 .

VoLTE 세션 관리 모듈(260)은 메시지 버퍼(261)를 이용하여, 요청(Request) 메시지와 응답(Response) 메시지를 통해 단일 메시지(UM_2)를 완성한다. The VoLTE session management module 260 uses the message buffer 261 to complete a single message UM_2 through a Request message and a Response message.

즉, 요청(Request) 메시지 확인 시, VoLTE 세션 관리 모듈(260)은 Call ID 값을 키 값으로 하여 메시지 버퍼(261)에 메시지 행을 추가한다. 그리고, 응답(Response) 메시지 확인 시, 메시지 버퍼(261)에 저장된 메시지 중에서 동일한 키 값을 갖는 메시지가 있는지를 확인한다. 응답(Response) 메시지의 키 값이 요청(Request) 메시지의 키 값과 동일한 경우, 대응되는 응답(Response) 메시지의 필드 내용을 상기 메시지 행에 추가하여 단일 메시지(UM_2)를 완성한다(도 18을 참조하면, 밑줄 친 데이터는 요청(Request) 메시지로부터 추가되고, 수신 UE IP와 수신 UE RTP Port는 응답(Response) 메시지로부터 추가된 내용이다). That is, when confirming a request message, the VoLTE session management module 260 adds a message line to the message buffer 261 with the Call ID value as a key value. When a response message is confirmed, it is confirmed whether or not a message having the same key value exists among the messages stored in the message buffer 261. If the key value of the response message is the same as the key value of the request message, the contents of the corresponding response message are added to the message line to complete a single message UM_2 The underlined data is added from the request message, and the receiving UE IP and the receiving UE RTP Port are added from the response message).

완성된 단일 메시지(UM_2)는 메시지 처리 모듈(270)로 전송되며, 전송 후 상기 단일 메시지(UM_2)는 메시지 버퍼(261)에서 삭제된다. 메시지 처리 모듈(270)은 상기 단일 메시지(UM_2)를 통해 제1 저장부(DB1)에 저장되는 제1 및 제2 사용자 정보 테이블(Regi Table, Call ID Table)을 관리한다. 즉, 제1 저장부(DB1) 내의 제1 및 제2 사용자 정보 테이블(Regi Table, Call ID Table)을 생성, 갱신, 또는 삭제한다. The completed single message UM_2 is sent to the message processing module 270 and the single message UM_2 is deleted from the message buffer 261 after transmission. The message processing module 270 manages the first and second user information tables (Regi Table, Call ID Table) stored in the first storage unit DB1 through the single message UM_2. That is, the first and second user information tables (Regi Table, Call ID Table) in the first storage unit DB1 are created, updated, or deleted.

도 18을 참조하면, 메시지 처리 모듈(270)은 단일 메시지(UM_2)를 수신하고, 단일 메시지(UM_2)에 포함된 메시지 타입(Msg Type_2) 정보를 확인한다. 여기에서, 메시지 타입(Msg Type_2)은 Method 필드 값에 포함된 값에 따라 달라진다. Referring to FIG. 18, the message processing module 270 receives a single message UM_2 and verifies message type (Msg Type_2) information included in a single message UM_2. Here, the message type (Msg Type_2) depends on the value included in the Method field value.

도 19를 참조하면, 인덱스 해시 테이블에 대해 도시되어 있다. 요청(Request) 메시지의 경우에, 메시지 타입(Msg Type_2)이 REGISTER, DE-REGISTER, INVITE, BYE, 또는 UPDATE 타입 중 어느 하나에 해당하고, 각각의 경우에 메시지 내에 포함되는 정보가 테이블로 도시되어 있다. 예를 들어, 메시지 타입(Msg Type_2)이 REGISTER 타입 또는 DE-REGISTER 타입인 경우에 메시지는 Call ID, UE IP, MSISDN, Expire, 단말 정보(UE information)를 포함하고, INVITE 타입인 경우에 메시지는 Call ID, 발신 UE IP, 발신 UE RTP Port 정보를 포함하고, BYE 타입 또는 UPDATE 타입인 경우에 메시지는 Call ID 정보를 포함할 수 있다, Referring to FIG. 19, an index hash table is shown. In the case of a request message, the message type (Msg Type_2) corresponds to one of REGISTER, DE-REGISTER, INVITE, BYE, or UPDATE type, and in each case information contained in the message is shown in a table have. For example, if the message type (Msg Type_2) is a REGISTER type or a DE-REGISTER type, the message includes a Call ID, a UE IP, an MSISDN, Expire and UE information. Call ID, Originating UE IP, Originating UE RTP Port information, and if the BYE type or UPDATE type, the message may include Call ID information,

그리고, 응답(Response) 메시지(예를 들어, 200 OK 메시지)의 경우에, REGISTER 타입 또는 BYE 타입에 대한 응답 메시지는 Call ID 정보를 포함하고, INVITE 메시지에 대한 응답 메시지는 Call ID, 수신 UE IP, 수신 UE RTP Port 정보를 포함할 수 있다. In the case of a response message (for example, a 200 OK message), the response message for the REGISTER type or the BYE type includes the Call ID information, the response message for the INVITE message includes the Call ID, the receiving UE IP , And receiving UE RTP Port information.

도 20 및 도 21을 참조하면, 제1 사용자 정보 테이블(Regi Table) 및 제2 사용자 정보 테이블(Call ID Table)에 포함되는 필드 및 각 필드에 저장되는 정보에 대해 예시적으로 도시되어 있다. Referring to FIGS. 20 and 21, fields included in a first user information table (Regi Table) and a second user information table (Call ID Table) and information stored in each field are illustrated as an example.

도 22를 참조하면, VoLTE 세션 관리 모듈(260)의 동작에 대해 나타나 있다. VoLTE 세션 관리 모듈(260)은 SIP 패킷을 전송받고, 상기 SIP 패킷이 요청(Request) 메시지 또는 응답(Response) 메시지를 포함하는지 분류하여, 요청(Request) 메시지를 포함하는 경우에 메시지 버퍼(261)에 등록하여 단일 메시지(UM_2) 완성을 위한 메시지 행을 추가하고, 메시지 버퍼(261)에서 Timestamp 값을 확인하여 60초가 경과된 사용자 정보 테이블이 있는지 확인하여, 이러한 사용자 정보 테이블이 존재한다면 해당 사용자 정보 테이블을 삭제한다.Referring to FIG. 22, operation of the VoLTE session management module 260 is shown. The VoLTE session management module 260 receives a SIP packet and classifies whether the SIP packet includes a request message or a response message and classifies the SIP packet into a message buffer 261, And checks the Timestamp value in the message buffer 261 to see if there is a user information table having elapsed 60 seconds. If such a user information table exists, the corresponding user information table Delete the table.

그리고, 응답(Response) 메시지를 포함하는 경우에, 메시지 버퍼(261)에 동일 키 값을 갖는 메시지 행이 존재하는지 확인하고, 메시지 버퍼(261)에 동일 키 값을 갖는 메시지 행이 존재하는 경우에 메시지 버퍼(261)에 해당 메시지의 필드 값에 사용자 정보를 추가하여 단일 메시지(UM_2)를 완성하고, 단일 메시지(UM_2)를 메시지 처리 모듈(270)로 전송 후 메시지 버퍼(261)에서 삭제한다. 만약에, 메시지 버퍼(261)에 동일 키 값을 갖는 필드가 존재하지 않는다면, 메시지 버퍼(261)에서 Timestamp 값을 확인하여 60초가 경과된 사용자 정보 테이블이 있는지 확인하여, 이러한 사용자 정보 테이블이 존재한다면 해당 사용자 정보 테이블을 삭제한다.If a response message is included, it is checked whether a message line having the same key value exists in the message buffer 261. If there is a message line having the same key value in the message buffer 261 The user information is added to the field value of the corresponding message in the message buffer 261 to complete a single message UM_2 and the single message UM_2 is transmitted to the message processing module 270 and then deleted from the message buffer 261. If a field having the same key value does not exist in the message buffer 261, the Timestamp value is checked in the message buffer 261 to check if there is a user information table whose elapsed time is 60 seconds. If such a user information table exists The corresponding user information table is deleted.

도 23은 도 17의 메시지 처리 모듈의 동작을 설명하기 위한 흐름도이다. 23 is a flowchart for explaining the operation of the message processing module of Fig.

도 23을 참조하면, 메시지 처리 모듈(270)은 단일 메시지(UM_2)를 수신하여, Method 필드 값에 포함된 메시지 타입(Msg Type_2) 정보를 확인한다. 예를 들어, 단일 메시지(UM_2)의 Method 필드 값에 포함된 값이 0인 경우에 REGISTER 타입으로 정의하고, 단일 메시지(UM_2)의 Method 필드 값에 포함된 값이 1인 경우에 DE-REGISTER 타입으로 정의하고, 단일 메시지(UM_2)의 Method 필드 값에 포함된 값이 2인 경우에 INVITE 타입으로 정의하고, 단일 메시지(UM_2)의 Method 필드 값에 포함된 값이 3인 경우에 BYE 타입으로 정의하고, 단일 메시지(UM_2)의 Method 필드 값에 포함된 값이 4인 경우에 UPDATE 타입으로 정의할 수 있다. Referring to FIG. 23, the message processing module 270 receives a single message UM_2 and confirms the message type (Msg Type_2) information included in the Method field value. For example, when the value contained in the Method field value of a single message (UM_2) is 0, it is defined as a REGISTER type, and when the value contained in the Method field value of a single message (UM_2) is 1, the DE- , Defined as INVITE type when the value contained in the Method field value of a single message (UM_2) is 2, and defined as BYE type when the value contained in the Method field value of the single message (UM_2) is 3 And if the value contained in the Method field value of a single message (UM_2) is 4, it can be defined as an UPDATE type.

메시지 타입(Msg Type_2) 정보가 REGISTER 타입인 경우에, 단일 메시지(UM_2)에 포함된 MSISDN 값이 제1 사용자 정보 테이블(Regi Table)에 존재하는지 확인하고, 제1 사용자 정보 테이블(Regi Table)에 상기 MSISDN 값이 존재하는 경우에, 기존의 사용자 정보 테이블을 삭제하고, 새로운 사용자 정보 테이블을 생성한다. 만약에, 제1 사용자 정보 테이블(Regi Table)에 상기 MSISDN 값이 존재하지 않는 경우에는 기존의 사용자 정보 테이블을 비삭제하고, 새로운 사용자 정보 테이블을 생성한다.It is determined whether the MSISDN value included in the single message UM_2 is present in the first user information table or not in the first user information table Regi Table when the message type Msg Type_2 information is the REGISTER type. If the MSISDN value is present, the existing user information table is deleted and a new user information table is created. If the MSISDN value does not exist in the first user information table (Regi Table), the existing user information table is deleted and a new user information table is created.

또한, 메시지 타입(Msg Type_2) 정보가 DE-REGISTER 타입인 경우에, 단일 메시지(UM_2)에 포함된 MSISDN 값이 제1 사용자 정보 테이블(Regi Table)에 존재하는지 확인하고, 제1 사용자 정보 테이블(Regi Table)에 상기 MSISDN 값이 존재하는 경우에, 제1 사용자 정보 테이블(Regi Table)을 삭제한다. Also, when the message type (Msg Type_2) information is the DE-REGISTER type, it is checked whether the MSISDN value included in the single message UM_2 exists in the first user information table (Regi Table) If the MSISDN value is present in the Regi Table, the first user information table (Regi Table) is deleted.

또한, 메시지 타입(Msg Type_2) 정보가 INVITE 타입인 경우에, 단일 메시지(UM_2)에 포함된 Call ID 값이 제2 사용자 정보 테이블(Call ID Table)에 존재하는지 확인하고, 제2 사용자 정보 테이블(Call ID Table)에 상기 Call ID 값이 존재하는 경우에, 기존의 사용자 정보 테이블을 삭제하고, 새로운 사용자 정보 테이블을 생성한다. 만약에, 제2 사용자 정보 테이블(Call ID Table)에 상기 Call ID 값이 존재하지 않는 경우에는 기존의 사용자 정보 테이블을 비삭제하고, 새로운 사용자 정보 테이블을 생성한다. Also, when the message type (Msg Type_2) information is INVITE type, it is checked whether the Call ID value included in the single message UM_2 exists in the second user information table (Call ID Table) If the Call ID value exists in the Call ID Table, the existing user information table is deleted and a new user information table is created. If the Call ID value does not exist in the second user information table (Call ID Table), the existing user information table is not deleted and a new user information table is created.

또한, 메시지 타입(Msg Type_2) 정보가 BYE 타입인 경우에, 단일 메시지(UM_2)에 포함된 Call ID 값이 제2 사용자 정보 테이블(Call ID Table)에 존재하는지 확인하고, 제2 사용자 정보 테이블(Call ID Table)에 상기 Call ID 값이 존재하는 경우에, 제2 사용자 정보 테이블(Call ID Table)을 삭제한다. Also, when the message type (Msg Type_2) information is BYE type, it is checked whether the Call ID value included in the single message UM_2 exists in the second user information table (Call ID Table) If the Call ID value exists in the Call ID Table, the second user information table (Call ID Table) is deleted.

또한, 메시지 타입(Msg Type_2) 정보가 UPDATE 타입인 경우에, 단일 메시지(UM_2)에 포함된 Call ID 값이 제2 사용자 정보 테이블(Call ID Table)에 존재하는지 확인하고, 제2 사용자 정보 테이블(Call ID Table)에 상기 Call ID 값이 존재하는 경우에, 해당 사용자 정보를 갱신한다. Also, when the message type (Msg Type_2) information is UPDATE type, it is confirmed whether the Call ID value included in the single message UM_2 exists in the second user information table (Call ID Table) If the Call ID value exists in the Call ID Table, the corresponding user information is updated.

도 24는 사용자 정보 테이블 생성을 위해 완성된 단일 메시지의 예시이다. 도 25는 메시지 처리 모듈의 사용자 정보 테이블 생성 동작을 설명하기 위한 흐름도이다. 도 26은 생성된 사용자 정보 테이블의 예시이다. 24 is an illustration of a single completed message for user information table creation. 25 is a flowchart for explaining the operation of generating the user information table of the message processing module. 26 is an illustration of the generated user information table.

도 24 내지 도 26을 참조하면, 메시지 처리 모듈(270)이 REGISTER 타입의 단일 메시지(UM_2)를 수신한 경우에, 단일 메시지(UM_2)에 포함된 MSISDN 값이 제1 사용자 정보 테이블(Regi Table)에 존재하는지 확인하고, 단일 메시지(UM_2)에 포함된 MSISDN 값이 제1 사용자 정보 테이블(Regi Table)에 존재하는 경우에, 기존의 사용자 정보 테이블을 삭제하고, 새로운 사용자 정보 테이블(도 26의 Regi Table)을 생성한다. 만약에, 제1 사용자 정보 테이블(Regi Table)에 상기 MSISDN 값이 존재하지 않는 경우에는 기존의 사용자 정보 테이블을 비삭제하고, 새로운 사용자 정보 테이블(도 26의 Regi Table)을 생성한다.24 to 26, when the message processing module 270 receives a single message UM_2 of the REGISTER type, the MSISDN value included in the single message UM_2 is the first user information table (Regi Table) And if the MSISDN value included in the single message UM_2 exists in the first user information table (Regi Table), the existing user information table is deleted and a new user information table (Regi Table). If the MSISDN value does not exist in the first user information table (Regi Table), the existing user information table is not deleted and a new user information table (the Regi Table of FIG. 26) is generated.

도 27은 사용자 정보 테이블 삭제를 위해 완성된 단일 메시지의 예시이다. 도 28은 메시지 처리 모듈의 사용자 정보 테이블 삭제 동작을 설명하기 위한 흐름도이다. Figure 27 is an illustration of a single completed message for deleting a user information table. 28 is a flowchart for explaining the operation of deleting the user information table of the message processing module.

도 27 및 도 28을 참조하면, 메시지 처리 모듈(270)이 DE-REGISTER 타입의 단일 메시지(UM_2)를 수신한 경우에, 단일 메시지(UM_2)에 포함된 MSISDN 값이 제1 사용자 정보 테이블(Regi Table)에 존재하는지 확인하고, 제1 사용자 정보 테이블(Regi Table)에 상기 MSISDN 값이 존재하는 경우에, 제1 사용자 정보 테이블(Regi Table)을 삭제한다. 이외에도, 다른 사용자 정보 테이블의 Expire 값을 확인하여, 기간 만료된 경우에는 해당 사용자 정보 테이블을 삭제한다. 27 and 28, when the message processing module 270 receives a single message UM_2 of the DE-REGISTER type, the MSISDN value included in the single message UM_2 is the first user information table Regi Table, and deletes the first user information table (Regi Table) when the MSISDN value exists in the first user information table (Regi Table). In addition, Expire value of another user information table is checked, and when the period expires, the corresponding user information table is deleted.

도 29는 RTP 테이블 생성을 위해 완성된 단일 메시지의 예시이다. 도 30은 메시지 처리 모듈의 RTP 테이블 생성 동작을 설명하기 위한 흐름도이다. 도 31은 생성된 RTP 테이블의 예시이다.Figure 29 is an illustration of a single completed message for RTP table creation. 30 is a flowchart for explaining an RTP table generation operation of the message processing module. 31 is an illustration of the generated RTP table.

도 29 내지 도 31을 참조하면, 메시지 처리 모듈(270)이 INVITE 타입의 단일 메시지(UM_2)를 수신한 경우에, 단일 메시지(UM_2)에 포함된 Call ID 값이 제2 사용자 정보 테이블(Call ID Table)에 존재하는지 확인하고, 제2 사용자 정보 테이블(Call ID Table)에 상기 Call ID 값이 존재하는 경우에, 기존의 사용자 정보 테이블을 삭제하고, 새로운 Call ID 테이블을 생성하고, Call ID 테이블의 발신 UE IP 및 발신 UE RTP Port 필드 값을 키 값으로 하여 새로운 RTP 테이블을 생성한다. 29 to 31, when the message processing module 270 receives a single message UM_2 of INVITE type, if the Call ID value included in the single message UM_2 is smaller than the second user information table Call ID If there is the Call ID value in the second user information table (Call ID Table), the existing user information table is deleted, a new Call ID table is created, and the Call ID table The originating UE IP, and the originating UE RTP Port field values as key values.

만약에, 제2 사용자 정보 테이블(Call ID Table)에 상기 Call ID 값이 존재하지 않는 경우에는 기존의 사용자 정보 테이블을 비삭제하고, 새로운 Call ID 테이블을 생성하고, Call ID 테이블의 발신 UE IP 및 발신 UE RTP Port 필드 값을 키 값으로 하여 새로운 RTP 테이블을 생성한다. If the Call ID value does not exist in the second user information table (Call ID Table), the existing user information table is not deleted, a new Call ID table is created, And creates a new RTP table with the value of the originating UE RTP Port field as a key value.

도 32는 Call ID 테이블 및 RTP 테이블의 필드 값을 삭제하기 위해 완성된 단일 메시지의 예시이다. 도 33은 메시지 처리 모듈의 Call ID 테이블 및 RTP 테이블의 필드 값 삭제 동작을 설명하기 위한 흐름도이다. 도 34는 필드 값이 삭제되는 Call ID 테이블 및 RTP 테이블의 예시이다. 32 is an illustration of a single message completed to delete the field values of the Call ID table and the RTP table. 33 is a flowchart for explaining the operation of deleting a field value of the Call ID table and the RTP table of the message processing module. FIG. 34 shows an example of a Call ID table and an RTP table in which a field value is deleted.

도 32 내지 도 34를 참조하면, 메시지 처리 모듈(270)이 BYE 타입의 단일 메시지(UM_2)를 수신한 경우에, 단일 메시지(UM_2)에 포함된 Call ID 값이 제2 사용자 정보 테이블(Call ID Table)에 존재하는지 확인하고, 제2 사용자 정보 테이블(Call ID Table)에 상기 Call ID 값이 존재하는 경우에, 제2 사용자 정보 테이블(Call ID Table)을 삭제한다. 즉, Call ID 값을 이용하여 Call ID 테이블을 검색하고, Call ID 테이블의 정보를 이용하여 RTP 테이블을 검색하고, RTP 테이블의 해당 필드 값을 삭제하고, Call ID 테이블의 해당 필드 값을 삭제한다. 32 to 34, when the message processing module 270 receives the BYE-type single message UM_2, the Call ID value included in the single message UM_2 is the second user information table Call ID Table, and deletes the second user information table (Call ID Table) when the Call ID value exists in the second user information table (Call ID Table). That is, the call ID table is searched using the Call ID value, the RTP table is searched using the information of the Call ID table, the corresponding field value of the RTP table is deleted, and the corresponding field value of the Call ID table is deleted.

도 35는 Call 테이블의 필드 값을 갱신하기 위해 완성된 단일 메시지의 예시이다. 도 36은 메시지 처리 모듈의 Call ID 테이블의 필드 값 갱신 동작을 설명하기 위한 흐름도이다. 도 37은 필드 값이 갱신되는 Call ID 테이블의 예시이다. Figure 35 is an illustration of a single completed message to update the field values of the Call table. 36 is a flowchart for explaining a field value update operation of the Call ID table of the message processing module. 37 is an example of a Call ID table in which a field value is updated.

도 35 내지 도 37을 참조하면, 메시지 처리 모듈(270)이 UPDATE 타입의 단일 메시지(UM_2)를 수신한 경우에, 단일 메시지(UM_2)에 포함된 Call ID 값이 제2 사용자 정보 테이블(Call ID Table)에 존재하는지 확인하고, 제2 사용자 정보 테이블(Call ID Table)에 상기 Call ID 값이 존재하는 경우에, 해당 사용자 정보를 갱신한다. 예시적으로, 도 35 및 도 36을 참조하면, Timestamp 필드 값을 갱신하기 위한 메시지 처리 모듈(270)의 처리 동작이 나타나 있다. 제2 사용자 정보 테이블(Call ID Table)에 상기 Call ID 값이 존재하는 경우에, 제2 사용자 정보 테이블(Call ID Table)의 Timestamp 필드 값을 갱신한다. 35 to 37, when the message processing module 270 receives a single message UM_2 of UPDATE type, if the Call ID value included in the single message UM_2 is smaller than the second user information table Call ID Table and if the Call ID value exists in the second user information table (Call ID Table), the corresponding user information is updated. Illustratively, referring to FIG. 35 and FIG. 36, a processing operation of the message processing module 270 for updating the Timestamp field value is shown. And updates the Timestamp field value of the second user information table (Call ID Table) when the Call ID value exists in the second user information table (Call ID Table).

도 38은 메시지 처리 모듈이 Timestamp 필드 값을 확인하여 사용자 정보 테이블을 삭제하는 동작을 설명하기 위한 흐름도이다. 도 39는 필드 값이 삭제되는 사용자 정보 테이블의 예시이다. 38 is a flowchart for explaining an operation for the message processing module to confirm the Timestamp field value and delete the user information table. 39 is an example of a user information table in which a field value is deleted.

도 38 및 도 39를 참조하면, 메시지 처리 모듈(270)이 제2 사용자 정보 테이블(Call ID Table)의 Timestamp 필드 값을 확인한 결과 대기 상태가 종료된 경우에, Call ID 테이블 정보를 이용하여 RTP 테이블을 검색하고, RTP 테이블의 해당 필드 값을 삭제하고, Call ID 테이블의 해당 필드 값을 삭제한다. 이 후, 메시지 처리 모듈(270)은 다시 대기 상태를 유지한다. Referring to FIGS. 38 and 39, when the message processing module 270 checks the value of the Timestamp field of the second user information table (Call ID Table), the RTP table Deletes the corresponding field value of the RTP table, and deletes the corresponding field value of the Call ID table. Thereafter, the message processing module 270 maintains the standby state again.

메시지 처리 모듈(270)은 이와 같은 동작을 반복하여, 테이블 대기 상태가 종료된 경우에, RTP 테이블 및 Call ID 테이블의 해당 필드 값을 삭제한다. The message processing module 270 repeats this operation to delete the corresponding field values of the RTP table and the Call ID table when the table waiting state is terminated.

다시 도 1을 참조하면, 패킷 분석부(200)는 시스템 동작 모드 정보(D7)를 확인하여, 고정 정책 모드(Static mode)로 동작하거나 실시간 정책 모드(Realtime mode)로 동작할 수 있다. 고정 정책 모드(또는 디폴트 모드)는 최초의 시스템 동작시에 탐지/차단 정책을 제3 저장부(DB3)에서 조회하고, 시스템의 동작이 정지될 때까지 상기 조회한 탐지/차단 정책을 유지하는 모드이다. 실시간 정책 모드는 패킷 분석부(200)에 설정된 특정 시간 단위로 탐지/차단 정책을 제3 저장부(DB3)에서 조회하고, 탐지/차단 정책의 변경 여부를 확인하여 변경 사항이 있다면 이를 반영하여 동작하는 모드이다. Referring again to FIG. 1, the packet analyzer 200 can operate in a static policy mode or a real-time policy mode by checking the system operation mode information D7. In the fixed policy mode (or the default mode), a detection / blocking policy in the first system operation is inquired in the third storage unit DB3, a mode in which the detected detection / blocking policy is maintained until the operation of the system is stopped to be. In the real-time policy mode, the detection / blocking policy is inquired in the third storage unit DB3 at a specific time unit set in the packet analysis unit 200, and whether or not the detection / blocking policy is changed is checked, .

패킷 분석 결과 관리부(300)는 패킷 분석부(200)로부터 패킷 분석 결과 정보(D4)를 전송받고, 사용자 정보 추출 모듈을 통해 사용자 정보를 추출한다. 추출된 사용자 정보를 이용하여, 제1 저장부(DB1)에서 패킷 발송 사용자를 조회한다. 또한, 패킷 분석 결과 관리부(300)는 분석 결과 저장 모듈을 통해 탐지/차단 결과 정보(D6)를 제4 저장부(DB4)로 전송한다. The packet analysis result management unit 300 receives the packet analysis result information D4 from the packet analysis unit 200 and extracts the user information through the user information extraction module. Using the extracted user information, the first storage unit DB1 inquires the packet sending user. In addition, the packet analysis result management unit 300 transmits the detection / blocking result information D6 to the fourth storage unit DB4 through the analysis result storage module.

시스템 관리부(400)는 트래픽 입출력 현황을 통하여 시스템의 상태를 모니터링 한다. 또한, 시스템 관리부(400)는 트래픽 입출력 현황뿐만 아니라 CPU 사용률, 메모리 사용률 등의 정보를 이용하여 시스템의 상태를 모니터링 할 수 있다. 시스템 모니터링 모듈은 NIC(10)에서 트래픽 입출력 현황을 조회하고, 이를 통해 시스템 상태를 모니터링 한다. 또한, 시스템 모니터링 모듈은 트래픽 입출력 현황 정보(D8)를 시스템 통신부(500)로 전송한다. 시스템 제어 모듈은 시스템 모니터링 모듈의 모니터링 결과에 따라 시스템의 동작 모드를 제어한다. 즉, 시스템의 동작 모드를 IPS 모드 또는 BYPASS 모드로 설정한다. 시스템 제어 모듈은 시스템 동작 모드 정보(D7)를 제2 저장부(DB2)로 전송한다. The system management unit 400 monitors the status of the system through the traffic input / output status. In addition, the system management unit 400 can monitor the status of the system using not only the traffic input / output status, but also information such as the CPU usage rate and the memory usage rate. The system monitoring module inquires the traffic input / output status from the NIC 10 and monitors the status of the system. Also, the system monitoring module transmits the traffic input / output status information D8 to the system communication unit 500. The system control module controls the operation mode of the system according to the monitoring result of the system monitoring module. That is, the operation mode of the system is set to the IPS mode or BYPASS mode. The system control module transmits the system operation mode information D7 to the second storage unit DB2.

시스템 통신부(500)는 시스템 관리 메시지 해석 모듈, 정책 관리 메시지 해석 모듈, 탐지/차단 로그 조회 메시지 해석 모듈, GUI 프로토콜 해석 모듈, 외부 시스템 연동 프로토콜 해석 모듈 등을 포함할 수 있다. 시스템 관리 메시지 해석 모듈은 제2 저장부(DB2)와 연동하여 시스템 동작 모드 정보를 조회하고, 시스템의 동작 모드 설정을 위한 시스템 관리 메시지를 해석한다. 정책 관리 메시지 해석 모듈은 제3 저장부(DB3)와 연동하여 탐지/차단 정책을 조회하고, 시스템의 탐지/차단 정책 설정을 위한 정책 관리 메시지를 해석한다. 탐지/차단 로그 조회 메시지 해석 모듈은 제4 저장부(DB4)와 연동하여 탐지/차단 로그를 조회하고, 시스템의 탐지/차단 로그 조회를 위한 탐지/차단 로그 조회 메시지를 해석한다. GUI 프로토콜 해석 모듈은 GUI와 연동하여 시스템의 제어를 위해 입력되는 GUI 프로토콜을 해석한다. 외부 시스템 연동 프로토콜 해석 모듈은 외부 시스템과 연동하여 탐지/차단 정책을 설정하기 위해 입력되는 외부 시스템 연동 프로토콜을 해석한다. The system communication unit 500 may include a system management message interpretation module, a policy management message interpretation module, a detection / blocking log inquiry message interpretation module, a GUI protocol interpretation module, and an external system interworking protocol interpretation module. The system management message interpretation module interrogates the system operation mode information in conjunction with the second storage unit DB2 and interprets the system management message for setting the operation mode of the system. The policy management message interpretation module interrogates the detection / blocking policy in conjunction with the third storage unit (DB3), and interprets the policy management message for setting the detection / blocking policy of the system. The detection / blocking log query message interpretation module interrogates the detection / blocking log in conjunction with the fourth storage unit (DB4), and analyzes the detection / blocking log inquiry message for detecting / blocking logs of the system. The GUI protocol interpretation module interprets the GUI protocol input for controlling the system in conjunction with the GUI. External system interworking protocol Interpreting module interprets input external interworking protocol to establish detection / interception policy in conjunction with external system.

도 40은 본 발명의 실시예에 따른 VoLTE 세션 관리 장치가 적용된 4G 네트워크의 구조를 설명하기 위한 도면이다.40 is a diagram for explaining the structure of a 4G network to which a VoLTE session management apparatus according to an embodiment of the present invention is applied.

도 40을 참조하면, 4G 네트워크(1000)는 무선 자원을 관리하는 4G E-RAN(Enterprise Radio Access Network)과 데이터 처리/인증/과금 등을 수행하는 4G EPC(Evolved Packet Core)를 포함하여 구성될 수 있다.Referring to FIG. 40, the 4G network 1000 includes a 4G Enterprise Radio Access Network (E-RAN) for managing radio resources and a 4G Evolved Packet Core (EPC) for performing data processing / authentication / billing .

4G E-RAN은 사용자 단말(1100), eNB(1200)을 포함할 수 있다. 예를 들어, 사용자 단말(1100)은 4G 네트워크에 가입되어 있는 휴대 단말일 수 있다. eNB(1200)는 기지국으로서 사용자 단말(1100)과 4G 네트워크 간에 무선 연결을 제공할 수 있다.The 4G E-RAN may include a user terminal 1100 and an eNB 1200. For example, the user terminal 1100 may be a mobile terminal subscribed to a 4G network. The eNB 1200 may provide a wireless connection between the user terminal 1100 and the 4G network as a base station.

4G EPC는 MME(1300), S-GW(1400), P-GW(1500), HSS(Home Subscriber Server; 1600), PCRF(Policy & Charging Rule Function; 1700)을 포함할 수 있다. MME(1300)는 eNB(1200)와 S1-MME GTP 터널을 통해서 GTP 패킷을 송수신할 수 있다. S-GW(1400)는 eNB(1200)와 S1-U GTP 터널을 통해서 GTP 패킷을 송수신할 수 있다. MME(1300)는 S-GW(1400)와 S11 GTP 터널을 통해서 GTP 패킷을 송수신할 수 있다. P-GW(1500)는 IMS 네트워크의 P-CSCF(2100) 및 인터넷과 연결될 수 있다.The 4G EPC may include an MME 1300, an S-GW 1400, a P-GW 1500, a Home Subscriber Server 1600, and a Policy & Charging Rule Function 1700. The MME 1300 can send and receive GTP packets through the S1-MME GTP tunnel with the eNB 1200. [ The S-GW 1400 can send and receive GTP packets through the S1-U GTP tunnel with the eNB 1200. [ The MME 1300 can transmit and receive GTP packets through the S-GW 1400 and the S11 GTP tunnel. The P-GW 1500 may be connected to the P-CSCF 2100 of the IMS network and the Internet.

4G 네트워크에서 S1-U GTP 터널은 데이터 트래픽을 위한 패스(path)이고, S11 GTP 터널은 시그널링을 위한 패스이고, S5 GTP 터널은 데이터 트래픽 및 시그널링을 위한 패스이다.In a 4G network, the S1-U GTP tunnel is a path for data traffic, the S11 GTP tunnel is a path for signaling, and the S5 GTP tunnel is a path for data traffic and signaling.

도 1 내지 도 39를 참조하여 설명한 VoLTE 세션 관리 장치를 포함하는 시스템은 eNB(1200) 및 MME(1300)와 S-GW(1400) 사이(P1, P2), 또는 S-GW(1400)과 P-GW(1500) 사이(P3)에 제공될 수 있다. 또한, 도 1 내지 도 39를 참조하여 설명한 세션 관리 장치를 포함하는 시스템은 S-GW(1400) 또는 P-GW(1500)의 내부 구성 요소로 제공될 수도 있다. 도 40에는 명확하게 도시하지 않았으나, 4G 네트워크는 S-GW(1400)을 통해서 3G 네트워크, 펨토셀 네트워크 등과 연동될 수 있다.The system including the VoLTE session management apparatus described with reference to Figs. 1 to 39 is connected to the eNB 1200 and between the MME 1300 and the S-GW 1400 (P1, P2) or the S-GW 1400 and P Gt; (P3). ≪ / RTI > In addition, a system including the session management apparatus described with reference to Figs. 1 to 39 may be provided as an internal component of the S-GW 1400 or the P-GW 1500. [ Although not clearly shown in FIG. 40, the 4G network can be interworked with the 3G network, the femtocell network, and the like through the S-GW 1400.

도 41은 도 40의 4G 네트워크와 연동된 IMS 네트워크의 구조를 설명하기 위한 도면이다.FIG. 41 is a diagram for explaining the structure of an IMS network interworking with the 4G network of FIG. 40; FIG.

도 41을 참조하면, IMS 네트워크(2000)는 P-CSCF(2100), I-CSCF(2200), S-CSCF(2300), BGCF(Border Gateway Control Function; 2400), HSS(2500), MGCF(Media Gateway Control Function; 2700), AS(Application Server; 2800), M-GW(Media Gateway; 2900)을 포함할 수 있다.Referring to FIG. 41, the IMS network 2000 includes a P-CSCF 2100, an I-CSCF 2200, an S-CSCF 2300, a Border Gateway Control Function (BGCF) 2400, an HSS 2500, (Media Gateway Control Function) 2700, an application server 2800, and an M-GW (Media Gateway) 2900.

4G 네트워크 내부의 사용자 단말(1100)로부터 전송된 SIP 메시지는 P-GW(1500)를 통해서, IMS 네트워크 내부로 전달될 수 있다. P-GW(1500)과 연결된 P-CSCF(2100)는 상기 SIP 메시지를 I-CSCF(2200)에 전송하고, I-CSCF(2200)는 상기 SIP 메시지를 S-CSCF(2300)에 전송할 수 있다. MGCF(2700)와 M-GW(2900)는 PSTN(Public Switching Telephone Network)과 연결될 수 있다. The SIP message transmitted from the user terminal 1100 in the 4G network can be delivered to the inside of the IMS network through the P-GW 1500. [ The P-CSCF 2100 associated with the P-GW 1500 may send the SIP message to the I-CSCF 2200 and the I-CSCF 2200 may send the SIP message to the S-CSCF 2300 . The MGCF 2700 and the M-GW 2900 may be connected to a Public Switching Telephone Network (PSTN).

이하에서는, 도 42를 참조하여, 본 발명의 일 실시예에 따른 VoLTE 세션 관리 방법에 대하여 설명하기로 한다. Hereinafter, a VoLTE session management method according to an embodiment of the present invention will be described with reference to FIG.

도 42는 본 발명의 일 실시예에 따른 VoLTE 세션 관리 방법을 설명하기 위한 흐름도이다.42 is a flowchart illustrating a VoLTE session management method according to an embodiment of the present invention.

도 42를 참조하면, 본 발명의 일 실시예에 따른 VoLTE 세션 관리 방법은, 우선, GTP 패킷을 전송받아 GTP-U 패킷과 GTP-C 패킷으로 분류하고(S100), GTP-U 패킷으로부터 패킷 정보를 추출한다(S110).Referring to FIG. 42, a VoLTE session management method according to an embodiment of the present invention firstly receives a GTP packet and classifies it into a GTP-U packet and a GTP-C packet (S100) (S110).

상기 패킷 정보로부터 메시지 타입(Msg Type_2)을 분석하고(S120), 메시지 타입(Msg Type_2)에 따라, 제1 사용자 정보 테이블(Regi Table)을 생성 또는 삭제하거나, 제2 사용자 정보 테이블(Call ID Table)을 생성, 갱신, 또는 삭제한다(S130). 여기에서, 제1 사용자 정보 테이블(Regi Table)은 단말 등록에 관한 정보를 포함하고, 제2 사용자 정보 테이블(Call ID Table)은 콜(call) ID에 관한 정보를 포함할 수 있다.(Msg Type_2) from the packet information (S120) and generates or deletes a first user information table (Regi Table) according to the message type (Msg Type_2) (S130). ≪ / RTI > Here, the first user information table (Regi Table) includes information on terminal registration, and the second user information table (Call ID Table) may include information on a call ID.

새로운 사용자 정보 테이블을 생성하는 것은, 메시지 타입(Msg Type_2) 정보가 REGISTER 타입인 경우에, 단일 메시지(UM_2)에 포함된 MSISDN 값이 제1 사용자 정보 테이블(Regi Table)에 존재하는지 확인하고, 제1 사용자 정보 테이블(Regi Table)에 상기 MSISDN 값이 존재하는 경우에, 기존의 사용자 정보 테이블을 삭제하고, 새로운 사용자 정보 테이블을 생성할 수 있다. 만약에, 제1 사용자 정보 테이블(Regi Table)에 상기 MSISDN 값이 존재하지 않는 경우에는 기존의 사용자 정보 테이블을 비삭제하고, 새로운 사용자 정보 테이블을 생성할 수 있다.The new user information table is created by checking whether the MSISDN value included in the single message UM_2 exists in the first user information table (Regi Table) when the message type (Msg Type_2) information is the REGISTER type, When the MSISDN value is present in a user information table (Regi Table), an existing user information table can be deleted and a new user information table can be created. If the MSISDN value does not exist in the first user information table (Regi Table), the existing user information table is not deleted and a new user information table can be generated.

기존의 사용자 정보 테이블을 삭제하는 것은, 메시지 타입(Msg Type_2) 정보가 DE-REGISTER 타입인 경우에, 단일 메시지(UM_2)에 포함된 MSISDN 값이 제1 사용자 정보 테이블(Regi Table)에 존재하는지 확인하고, 제1 사용자 정보 테이블(Regi Table)에 상기 MSISDN 값이 존재하는 경우에, 제1 사용자 정보 테이블(Regi Table)을 삭제한다. The deletion of the existing user information table is performed by checking whether the MSISDN value included in the single message UM_2 exists in the first user information table (Regi Table) when the message type (Msg Type_2) information is the DE- And deletes the first user information table (Regi Table) when the MSISDN value exists in the first user information table (Regi Table).

RTP 테이블을 생성하는 것은, 메시지 타입(Msg Type_2) 정보가 INVITE 타입인 경우에, 단일 메시지(UM_2)에 포함된 Call ID 값이 제2 사용자 정보 테이블(Call ID Table)에 존재하는지 확인하고, 제2 사용자 정보 테이블(Call ID Table)에 상기 Call ID 값이 존재하는 경우에, 기존의 사용자 정보 테이블을 삭제하고, 새로운 Call ID 테이블을 생성하고, Call ID 테이블의 발신 UE IP 및 발신 UE RTP Port 필드 값을 키 값으로 하여 새로운 RTP 테이블을 생성한다. The RTP table is created by checking whether the Call ID value included in the single message UM_2 exists in the second user information table (Call ID Table) when the message type (Msg Type_2) information is INVITE type, When the Call ID value is present in the Call Information Table (2), the existing user information table is deleted, a new Call ID table is created, and the calling UE ID and the calling UE RTP Port field Value as a key value to generate a new RTP table.

만약에, 제2 사용자 정보 테이블(Call ID Table)에 상기 Call ID 값이 존재하지 않는 경우에는 기존의 사용자 정보 테이블을 비삭제하고, 새로운 Call ID 테이블을 생성하고, Call ID 테이블의 발신 UE IP 및 발신 UE RTP Port 필드 값을 키 값으로 하여 새로운 RTP 테이블을 생성한다. If the Call ID value does not exist in the second user information table (Call ID Table), the existing user information table is not deleted, a new Call ID table is created, And creates a new RTP table with the value of the originating UE RTP Port field as a key value.

Call ID 테이블을 삭제하는 것은, 메시지 타입(Msg Type_2) 정보가 BYE 타입인 경우에, 단일 메시지(UM_2)에 포함된 Call ID 값이 제2 사용자 정보 테이블(Call ID Table)에 존재하는지 확인하고, 제2 사용자 정보 테이블(Call ID Table)에 상기 Call ID 값이 존재하는 경우에, 제2 사용자 정보 테이블(Call ID Table)을 삭제한다. 즉, Call ID 값을 이용하여 Call ID 테이블을 검색하고, Call ID 테이블의 정보를 이용하여 RTP 테이블을 검색하고, RTP 테이블의 해당 필드 값을 삭제하고, Call ID 테이블의 해당 필드 값을 삭제한다. To delete the call ID table, if the message type (Msg Type_2) information is BYE type, it is checked whether the Call ID value included in the single message UM_2 exists in the second user information table (Call ID Table) If the Call ID value exists in the second user information table (Call ID Table), the second user information table (Call ID Table) is deleted. That is, the call ID table is searched using the Call ID value, the RTP table is searched using the information of the Call ID table, the corresponding field value of the RTP table is deleted, and the corresponding field value of the Call ID table is deleted.

Call ID 테이블을 갱신하는 것은, 또한, 메시지 타입(Msg Type_2) 정보가 UPDATE 타입인 경우에, 단일 메시지(UM_2)에 포함된 Call ID 값이 제2 사용자 정보 테이블(Call ID Table)에 존재하는지 확인하고, 제2 사용자 정보 테이블(Call ID Table)에 상기 Call ID 값이 존재하는 경우에, 해당 사용자 정보를 갱신한다. The update of the call ID table is also performed by checking whether the Call ID value included in the single message UM_2 exists in the second user information table (Call ID Table) when the message type (Msg Type_2) And updates the corresponding user information when the Call ID value exists in the second user information table (Call ID Table).

본 발명의 실시예들과 관련하여 설명된 방법 또는 알고리즘의 단계는, 프로세서에 의해 실행되는 하드웨어 모듈, 소프트웨어 모듈, 또는 그 2개의 결합으로 직접 구현될 수 있다. 소프트웨어 모듈은 RAM 메모리, 플래시 메모리, ROM 메모리, EPROM 메모리, EEPROM 메모리, 레지스터, 하드 디스크, 착탈형 디스크, CD-ROM, 또는 본 발명의 기술 분야에서 잘 알려진 임의의 형태의 컴퓨터로 읽을 수 있는 기록 매체에 상주할 수도 있다. 예시적인 기록 매체는 프로세서에 연결되며, 그 프로세서는 기록 매체로부터 정보를 독출할 수 있고 기록 매체에 정보를 기입할 수 있다. 다른 방법으로, 기록 매체는 프로세서와 일체형일 수도 있다. 프로세서 및 기록 매체는 주문형 집적회로(ASIC) 내에 상주할 수도 있다. ASIC는 사용자 단말기 내에 상주할 수도 있다. 다른 방법으로, 프로세서 및 기록 매체는 사용자 단말기 내에 개별 구성 요소로서 상주할 수도 있다.The steps of a method or algorithm described in connection with the embodiments of the invention may be embodied directly in hardware, software modules, or a combination of the two, executed by a processor. A software module may reside in RAM memory, flash memory, ROM memory, EPROM memory, EEPROM memory, registers, a hard disk, a removable disk, a CD-ROM, or any form of computer readable recording medium known in the art Lt; / RTI > An exemplary recording medium is coupled to a processor, which is capable of reading information from, and writing information to, the recording medium. Alternatively, the recording medium may be integral with the processor. The processor and the recording medium may reside in an application specific integrated circuit (ASIC). The ASIC may reside within the user terminal. Alternatively, the processor and the recording medium may reside as discrete components in a user terminal.

이상 첨부된 도면을 참조하여 본 발명의 실시예를 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다.While the present invention has been described in connection with what is presently considered to be practical exemplary embodiments, it is to be understood that the invention is not limited to the disclosed embodiments, but, on the contrary, You will understand. It is therefore to be understood that the above-described embodiments are illustrative in all aspects and not restrictive.

10: NIC 100: 패킷 관리부
200: 패킷 분석부 300: 패킷 분석 결과 관리부
400: 시스템 관리부 500; 시스템 통신부
DB1, DB2, DB3, DB4: 제1 내지 제4 저장부
10: NIC 100: Packet management section
200: packet analysis unit 300: packet analysis result management unit
400: a system management unit 500; System communication section
DB1, DB2, DB3, and DB4: First to fourth storage units

Claims (39)

GTP 패킷을 전송받아 GTP-U 패킷과 GTP-C 패킷으로 분류하고, 상기 GTP-U 패킷으로부터 패킷 정보를 추출하는 패킷 관리부;
상기 패킷 정보를 전송받아 상기 패킷 정보에 포함된 메시지 타입을 분석하는 패킷 분석부; 및
제1 및 제2 사용자 정보 테이블을 저장하는 데이터베이스부를 포함하되,
상기 제1 사용자 정보 테이블은 단말 등록에 관한 정보를 포함하고, 상기 제2 사용자 정보 테이블은 콜(call) ID에 관한 정보를 포함하고,
상기 패킷 분석부는,
상기 메시지 타입이 REGISTER, DE-REGISTER, INVITE, BYE, 또는 UPDATE 타입 중 어느 하나에 해당하는지 여부를 분석하고,
상기 메시지 타입이 REGISTER 타입인 경우에, 상기 패킷 정보에 포함된 사용자 단말 식별 번호 정보가 상기 제1 사용자 정보 테이블에 존재하는지 판단하고,
상기 제1 사용자 정보 테이블에 상기 사용자 단말 식별 번호 정보가 존재하는 경우에, 상기 제1 사용자 정보 테이블을 삭제하고, 새로운 제3 사용자 정보 테이블을 생성하고,
상기 제1 사용자 정보 테이블에 상기 사용자 단말 식별 번호 정보가 존재하지 않는 경우에, 상기 제1 사용자 정보 테이블을 비삭제하고, 상기 제3 사용자 정보 테이블을 생성하고,
상기 메시지 타입이 DE-REGISTER 타입인 경우에, 상기 패킷 정보에 포함된 사용자 단말 식별 번호 정보가 상기 제1 사용자 정보 테이블에 존재하는지 판단하고,
상기 제1 사용자 정보 테이블에 상기 사용자 단말 식별 번호 정보가 존재하는 경우에, 상기 제1 사용자 정보 테이블을 삭제하고,
상기 메시지 타입이 INVITE 타입인 경우에, 상기 패킷 정보에 포함된 콜 ID 정보가 상기 제2 사용자 정보 테이블에 존재하는지 판단하고,
상기 제2 사용자 정보 테이블에 상기 콜 ID 정보가 존재하는 경우에, 상기 제2 사용자 정보 테이블을 삭제하고, 새로운 제4 사용자 정보 테이블을 생성하고,
상기 제2 사용자 정보 테이블에 상기 콜 ID 정보가 존재하지 않는 경우에, 상기 제2 사용자 정보 테이블을 비삭제하고, 상기 제4 사용자 정보 테이블을 생성하고,
상기 메시지 타입이 BYE 타입인 경우에, 상기 패킷 정보에 포함된 콜 ID 정보가 상기 제2 사용자 정보 테이블에 존재하는지 판단하고,
상기 제2 사용자 정보 테이블에 상기 콜 ID 정보가 존재하는 경우에, 상기 제2 사용자 정보 테이블을 삭제하고,
상기 메시지 타입이 UPDATE 타입인 경우에, 상기 패킷 정보에 포함된 콜 ID 정보가 상기 제2 사용자 정보 테이블에 존재하는지 판단하고,
상기 제2 사용자 정보 테이블에 상기 콜 ID 정보가 존재하는 경우에, 상기 제2 사용자 정보 테이블에 포함된 상기 콜 ID 정보에 대응하는 상기 Timestamp 정보를 갱신하는 VoLTE 세션 관리 장치.
A packet management unit for receiving a GTP packet and classifying the GTP-U packet into a GTP-C packet and extracting packet information from the GTP-U packet;
A packet analyzer for receiving the packet information and analyzing a message type included in the packet information; And
And a database unit for storing first and second user information tables,
Wherein the first user information table includes information on terminal registration, the second user information table includes information on a call ID,
The packet analyzing unit,
It analyzes whether the message type corresponds to REGISTER, DE-REGISTER, INVITE, BYE, or UPDATE type,
If the message type is REGISTER type, whether the user terminal identification number information included in the packet information exists in the first user information table,
If the user terminal identification number information exists in the first user information table, deletes the first user information table, generates a new third user information table,
Deletes the first user information table and generates the third user information table when the user terminal identification number information does not exist in the first user information table,
Determining whether the user terminal identification number information included in the packet information exists in the first user information table when the message type is a DE-REGISTER type,
When the user terminal identification number information exists in the first user information table, deletes the first user information table,
Determining whether call ID information included in the packet information exists in the second user information table when the message type is INVITE type,
When the call ID information exists in the second user information table, deletes the second user information table, generates a new fourth user information table,
Deletes the second user information table and generates the fourth user information table when the call ID information does not exist in the second user information table,
Determining whether call ID information included in the packet information exists in the second user information table when the message type is a BYE type,
When the call ID information exists in the second user information table, deletes the second user information table,
Determining whether call ID information included in the packet information exists in the second user information table when the message type is UPDATE type,
And updates the Timestamp information corresponding to the call ID information included in the second user information table when the call ID information is present in the second user information table.
삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 제 1항에 있어서,
상기 패킷 정보는, 목적지 IP, 목적지 PORT, 출발지 IP, 출발지 PORT, 또는 사용자 단말 식별 번호를 포함하는 VoLTE 세션 관리 장치.
The method according to claim 1,
Wherein the packet information includes a destination IP, a destination PORT, a source IP, a source PORT, or a user terminal identification number.
제 13항에 있어서,
상기 사용자 단말 식별 번호는, MSISDN(Mobile Station International ISDN Number)을 포함하는 VoLTE 세션 관리 장치.
14. The method of claim 13,
Wherein the user terminal identification number includes an MSISDN (Mobile Station International ISDN Number).
제 1항에 있어서,
상기 패킷 분석부는,
요청(request) 메시지 및 응답(response) 메시지를 통해 단일 메시지를 완성하는 제어 메시지 관리 모듈과,
상기 단일 메시지를 통해 상기 제1 또는 제2 사용자 정보 테이블을 관리하는 메시지 처리 모듈을 포함하는 VoLTE 세션 관리 장치.
The method according to claim 1,
The packet analyzing unit,
A control message management module for completing a single message through a request message and a response message;
And a message processing module for managing the first or second user information table through the single message.
삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete
KR1020150007831A 2015-01-16 2015-01-16 Apparatus and method for VoLTE session management in 4G mobile network KR101534160B1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020150007831A KR101534160B1 (en) 2015-01-16 2015-01-16 Apparatus and method for VoLTE session management in 4G mobile network
PCT/KR2015/011934 WO2016114476A1 (en) 2015-01-16 2015-11-06 Apparatus and method for volte session managemet in 4g mobile network

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150007831A KR101534160B1 (en) 2015-01-16 2015-01-16 Apparatus and method for VoLTE session management in 4G mobile network

Publications (1)

Publication Number Publication Date
KR101534160B1 true KR101534160B1 (en) 2015-07-24

Family

ID=53875973

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150007831A KR101534160B1 (en) 2015-01-16 2015-01-16 Apparatus and method for VoLTE session management in 4G mobile network

Country Status (2)

Country Link
KR (1) KR101534160B1 (en)
WO (1) WO2016114476A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101785680B1 (en) * 2015-12-28 2017-10-16 한국인터넷진흥원 Apparatus, system and method for detecting a rtp tunneling packet in 4g mobile networks
KR102116307B1 (en) * 2019-11-26 2020-05-29 한국인터넷진흥원 Method and apparatus for detecting diameter protocol idr message spoofing attack on mobile communication network

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108243057B (en) * 2016-12-27 2021-08-13 中国移动通信集团浙江有限公司 VoLTE conversion rate analysis method and system

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101388627B1 (en) * 2013-11-07 2014-04-24 한국인터넷진흥원 Apparatus for blocking abnormal traffic in 4g mobile network
KR101388628B1 (en) * 2013-11-07 2014-04-24 한국인터넷진흥원 Method for blocking abnormal traffic in 4g mobile network
KR101418967B1 (en) * 2012-11-30 2014-07-15 한국인터넷진흥원 A Method for Managing User Session in Mobile Communication Network

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100120823A (en) * 2009-05-07 2010-11-17 충남대학교산학협력단 Voip anomaly traffic detection method with flow-level data
KR101414231B1 (en) * 2013-08-28 2014-07-01 한국인터넷진흥원 Apparatus and method for detecting abnormal call

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101418967B1 (en) * 2012-11-30 2014-07-15 한국인터넷진흥원 A Method for Managing User Session in Mobile Communication Network
KR101388627B1 (en) * 2013-11-07 2014-04-24 한국인터넷진흥원 Apparatus for blocking abnormal traffic in 4g mobile network
KR101388628B1 (en) * 2013-11-07 2014-04-24 한국인터넷진흥원 Method for blocking abnormal traffic in 4g mobile network

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101785680B1 (en) * 2015-12-28 2017-10-16 한국인터넷진흥원 Apparatus, system and method for detecting a rtp tunneling packet in 4g mobile networks
KR102116307B1 (en) * 2019-11-26 2020-05-29 한국인터넷진흥원 Method and apparatus for detecting diameter protocol idr message spoofing attack on mobile communication network
US10945117B1 (en) 2019-11-26 2021-03-09 Korea Internet & Security Agency Method and apparatus for detecting diameter protocol IDR message spoofing attack in mobile communication network

Also Published As

Publication number Publication date
WO2016114476A1 (en) 2016-07-21

Similar Documents

Publication Publication Date Title
US11876687B2 (en) Telecommunication call emulation
KR101388627B1 (en) Apparatus for blocking abnormal traffic in 4g mobile network
KR101414231B1 (en) Apparatus and method for detecting abnormal call
CN103430487A (en) Method, apparatus and system for detecting service data of packet data connection
US20170214790A1 (en) Conditional two stage distributed correlation of cp-up for ims protocols
KR101388628B1 (en) Method for blocking abnormal traffic in 4g mobile network
US10873499B2 (en) Network-charging communication-failure handling
KR101534160B1 (en) Apparatus and method for VoLTE session management in 4G mobile network
US20230058366A1 (en) Managing Service Function Chains
KR101534161B1 (en) Apparatus and method for user session management in 4G mobile network
KR101538309B1 (en) APPARATUS, SYSTEM AND METHOD FOR DETECTING ABNORMAL VoLTE REGISTRATION MESSAGE IN 4G MOBILE NETWORKS
US8797856B1 (en) Feedback for machine to machine devices to account for failure of network elements
US20150296549A1 (en) Method and apparatus for managing session based on general packet radio service tunneling protocol network
WO2014173224A1 (en) Session association method, apparatus, and system
WO2024088233A1 (en) Abnormal network service recovery method and apparatus, electronic device, and server
KR101536178B1 (en) Apparatus and method for detecting abnormal sdp message in 4g mobile networks
KR101499022B1 (en) Apparatus and method for detecting abnormal MMS message in 4G mobile network
KR101785680B1 (en) Apparatus, system and method for detecting a rtp tunneling packet in 4g mobile networks
KR101632241B1 (en) METHOD AND APPARATUS FOR PROVIDING DETECTION SERVICE BASED VoLTE SESSION
KR101541119B1 (en) APPARATUS, SYSTEM AND METHOD FOR DETECTING ABNORMAL VoLTE DE-REGISTRATION MESSAGE IN 4G MOBILE NETWORKS
KR101418967B1 (en) A Method for Managing User Session in Mobile Communication Network
KR101711074B1 (en) Apparatus, system and method for detecting a sip tunneling packet in 4g mobile networks
KR20090030642A (en) Method and system to analyze call quality in wcdma using ip multimedia subsystems
CN109714293B (en) VoLTE data traffic filtering method, device, gateway, equipment and medium
KR101516233B1 (en) Apparatus and method for detecting abnormal sip refer message in 4g mobile networks

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee