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 PDFInfo
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/10—Architectures or entities
- H04L65/1016—IP multimedia subsystem [IMS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/1066—Session management
- H04L65/1069—Session establishment or de-establishment
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/1066—Session management
- H04L65/1073—Registration or de-registration
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/2866—Architectures; Arrangements
- H04L67/30—Profiles
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/75—Indicating 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
Description
본 발명은 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
NIC(10)는 GTP 패킷을 수신하여 패킷 관리부(100)로 전송하고, 패킷 관리부(100)의 제어 신호에 따라 GTP 패킷을 포워딩(forwarding)하거나 드롭(drop)할 수 있다. NIC(10)는 일반적인 네트워크 인터페이스 카드 또는 하드웨어 가속 네트워크 인터페이스 카드일 수 있다. GTP 패킷은 GTP-C 패킷과 GTP-U 패킷을 포함하며, GTP-U 패킷은 4G 네트워크 내에서 사용자의 데이터 패킷을 전송하기 위해 사용된다.The
패킷 관리부(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
구체적으로, 도 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
패킷 관리부(100)는 패킷 필터링 정책, 시스템 동작 모드 등을 확인하기 위하여 제2 저장부(DB2)와 통신한다. 제2 저장부(DB2)는, 예를 들어, 동작 모드 정보 저장부일 수 있다.The
패킷 분석부(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
패킷 분석부(200)는 패킷 분석 결과 정보(D4)를 패킷 분석 결과 관리부(300)로 전송하고, GTP-C/U 패킷 분석 정보(D5)를 제1 저장부(DB1)로 전송한다. 제1 저장부(DB1)는, 예를 들어, 사용자 GTP 터널 정보 저장부일 수 있다. The
여기에서, 제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
패킷 분석 결과 관리부(300)는 패킷 분석부(200)로부터 패킷 분석 결과 정보(D4)를 전송받아 사용자 정보를 추출하고, 탐지/차단 결과 정보(D6)를 생성한다. 탐지/차단 결과 정보(D6)는 상기 GTP-U 패킷 및 GTP-C 패킷으로부터 추출된 사용자 정보를 분석하여 얻은 결과 정보이다. The packet analysis
패킷 분석 결과 관리부(300)는 상기 추출된 사용자 정보를 이용하여, 제1 저장부(DB1)와 통신하여 패킷 발송 사용자를 조회한다. 또한, 패킷 분석 결과 관리부(300)는 탐지/차단 결과 정보(D6)를 제4 저장부(DB4)로 전송한다. 제4 저장부(DB4)는, 예를 들어, 탐지/차단 로그 저장부일 수 있다. The packet analysis
시스템 관리부(400)는 트래픽 입출력 현황을 통하여 시스템의 상태를 모니터링하고, 모니터링 결과에 따라 상기 시스템의 동작 모드를 설정하고, 시스템 동작 모드 정보(D7)를 제2 저장부(DB2)로 전송한다. 시스템 관리부(400)는 트래픽 입출력 현황 정보(D8)를 시스템 통신부(500)로 전송한다. The
시스템 통신부(500)는 내부 시스템 또는 외부 시스템에 전송되는 시스템 메시지를 분석하고 관리한다. 상기 시스템 메시지는 내부 시스템의 동작 모드 설정을 위한 시스템 관리 메시지, 내부 시스템의 탐지/차단 정책 설정을 위한 정책 관리 메시지, 내부 시스템의 탐지/차단 로그 조회를 위한 탐지/차단 로그 조회 메시지, GUI와 통신을 위한 GUI 프로토콜, 외부 시스템과 연동하여 탐지/차단 정책을 설정하기 위한 외부 시스템 연동 프로토콜 등을 포함한다. The
이하에서, 도 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
패킷 관리부(100)는 시스템 동작 모드에 따라 GTP 패킷을 전송받고, 이를 분석하여 설정된 목적지 IP 및 목적지 Port를 기반으로 하여 GTP 패킷을 필터링한다. 이어서, GTP 패킷을 GTP-U 패킷과 GTP-C 패킷으로 분류한다. 분류된 GTP-U 패킷과 GTP-C 패킷을 가공하여 제1 데이터 프레임(F1)과 제2 데이터 프레임(F2)을 생성하여, 패킷 분석부(200)로 전송한다(도 2 참조).The
또한, 패킷 관리부(100)는 패킷 분석부(200)로부터 전송된 패킷 차단 정보(D3)를 이용하여, 패킷 제어 모듈을 통해 패킷을 제어(즉, 포워딩 또는 드롭)한다. 다만, 이러한 패킷 제어는 시스템이 IPS 모드인 경우에만 동작한다. The
도 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
또한, 패킷 분석부(200)는 GTP 터널 정보 수집 모듈(210)을 포함하며, GTP 터널 정보 수집 모듈(210)을 통해 제2 패킷 정보(D2)로부터 세션 정보를 추출한다. 패킷 분석부(200)는 제2 패킷 정보(D2)에 포함된 메시지 타입(Msg Type_1)에 따라, 사용자 정보 테이블(UC 테이블, UD 테이블, 및 IP 테이블)을 생성, 갱신, 또는 삭제한다. The
구체적으로, 도 5를 참조하면, GTP 터널 정보 수집 모듈(210)은 제어 메시지 관리 모듈(220)과 메시지 처리 모듈(230)을 포함한다. 제어 메시지 관리 모듈(220)은 메시지 버퍼(221)를 포함하고, 요청(Request) 메시지와 응답(Response) 메시지를 통해 단일 메시지(UM_1)를 완성한다. Referring to FIG. 5, the GTP tunnel
즉, 요청(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
완성된 단일 메시지(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
도 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
메시지 타입(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
도 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
상기 UC 테이블에, 수신된 Type 0 메시지의 UC TEID 및 EBI 정보가 존재하지 않는다면, 상기 UC 테이블을 비삭제하고 새로운 UC 테이블을 생성한다(①). 이어서, UD 테이블을 생성하고(②), IP 테이블을 생성한다(③).If there is no UC TEID and EBI information of the received
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
메시지 버퍼(221)에 사용자 단말 식별 번호 정보(예를 들어, MSISDN)가 존재하지 않는 경우에, 상기 UC 테이블 정보를 이용하여 UD 테이블을 검색하고(①), UD 테이블의 UD TEID 정보를 갱신하고(②), UC 테이블의 UD TEID 정보를 갱신한다(③).When there is no user terminal identification number information (for example, MSISDN) in the
도 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
도 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
VoLTE 세션 관리 모듈(260)은 메시지 버퍼(261)를 이용하여, 요청(Request) 메시지와 응답(Response) 메시지를 통해 단일 메시지(UM_2)를 완성한다. The VoLTE
즉, 요청(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
완성된 단일 메시지(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
도 18을 참조하면, 메시지 처리 모듈(270)은 단일 메시지(UM_2)를 수신하고, 단일 메시지(UM_2)에 포함된 메시지 타입(Msg Type_2) 정보를 확인한다. 여기에서, 메시지 타입(Msg Type_2)은 Method 필드 값에 포함된 값에 따라 달라진다. Referring to FIG. 18, the
도 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
그리고, 응답(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
도 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
메시지 타입(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
도 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
도 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
만약에, 제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
도 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
도 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
메시지 처리 모듈(270)은 이와 같은 동작을 반복하여, 테이블 대기 상태가 종료된 경우에, RTP 테이블 및 Call ID 테이블의 해당 필드 값을 삭제한다. The
다시 도 1을 참조하면, 패킷 분석부(200)는 시스템 동작 모드 정보(D7)를 확인하여, 고정 정책 모드(Static mode)로 동작하거나 실시간 정책 모드(Realtime mode)로 동작할 수 있다. 고정 정책 모드(또는 디폴트 모드)는 최초의 시스템 동작시에 탐지/차단 정책을 제3 저장부(DB3)에서 조회하고, 시스템의 동작이 정지될 때까지 상기 조회한 탐지/차단 정책을 유지하는 모드이다. 실시간 정책 모드는 패킷 분석부(200)에 설정된 특정 시간 단위로 탐지/차단 정책을 제3 저장부(DB3)에서 조회하고, 탐지/차단 정책의 변경 여부를 확인하여 변경 사항이 있다면 이를 반영하여 동작하는 모드이다. Referring again to FIG. 1, the
패킷 분석 결과 관리부(300)는 패킷 분석부(200)로부터 패킷 분석 결과 정보(D4)를 전송받고, 사용자 정보 추출 모듈을 통해 사용자 정보를 추출한다. 추출된 사용자 정보를 이용하여, 제1 저장부(DB1)에서 패킷 발송 사용자를 조회한다. 또한, 패킷 분석 결과 관리부(300)는 분석 결과 저장 모듈을 통해 탐지/차단 결과 정보(D6)를 제4 저장부(DB4)로 전송한다. The packet analysis
시스템 관리부(400)는 트래픽 입출력 현황을 통하여 시스템의 상태를 모니터링 한다. 또한, 시스템 관리부(400)는 트래픽 입출력 현황뿐만 아니라 CPU 사용률, 메모리 사용률 등의 정보를 이용하여 시스템의 상태를 모니터링 할 수 있다. 시스템 모니터링 모듈은 NIC(10)에서 트래픽 입출력 현황을 조회하고, 이를 통해 시스템 상태를 모니터링 한다. 또한, 시스템 모니터링 모듈은 트래픽 입출력 현황 정보(D8)를 시스템 통신부(500)로 전송한다. 시스템 제어 모듈은 시스템 모니터링 모듈의 모니터링 결과에 따라 시스템의 동작 모드를 제어한다. 즉, 시스템의 동작 모드를 IPS 모드 또는 BYPASS 모드로 설정한다. 시스템 제어 모듈은 시스템 동작 모드 정보(D7)를 제2 저장부(DB2)로 전송한다. The
시스템 통신부(500)는 시스템 관리 메시지 해석 모듈, 정책 관리 메시지 해석 모듈, 탐지/차단 로그 조회 메시지 해석 모듈, GUI 프로토콜 해석 모듈, 외부 시스템 연동 프로토콜 해석 모듈 등을 포함할 수 있다. 시스템 관리 메시지 해석 모듈은 제2 저장부(DB2)와 연동하여 시스템 동작 모드 정보를 조회하고, 시스템의 동작 모드 설정을 위한 시스템 관리 메시지를 해석한다. 정책 관리 메시지 해석 모듈은 제3 저장부(DB3)와 연동하여 탐지/차단 정책을 조회하고, 시스템의 탐지/차단 정책 설정을 위한 정책 관리 메시지를 해석한다. 탐지/차단 로그 조회 메시지 해석 모듈은 제4 저장부(DB4)와 연동하여 탐지/차단 로그를 조회하고, 시스템의 탐지/차단 로그 조회를 위한 탐지/차단 로그 조회 메시지를 해석한다. GUI 프로토콜 해석 모듈은 GUI와 연동하여 시스템의 제어를 위해 입력되는 GUI 프로토콜을 해석한다. 외부 시스템 연동 프로토콜 해석 모듈은 외부 시스템과 연동하여 탐지/차단 정책을 설정하기 위해 입력되는 외부 시스템 연동 프로토콜을 해석한다. The
도 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 E-RAN은 사용자 단말(1100), eNB(1200)을 포함할 수 있다. 예를 들어, 사용자 단말(1100)은 4G 네트워크에 가입되어 있는 휴대 단말일 수 있다. eNB(1200)는 기지국으로서 사용자 단말(1100)과 4G 네트워크 간에 무선 연결을 제공할 수 있다.The 4G E-RAN may include a
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
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
도 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
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
이하에서는, 도 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
DB1, DB2, DB3, and DB4: First to fourth storage units
Claims (39)
상기 패킷 정보를 전송받아 상기 패킷 정보에 포함된 메시지 타입을 분석하는 패킷 분석부; 및
제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.
상기 패킷 정보는, 목적지 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.
상기 사용자 단말 식별 번호는, 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).
상기 패킷 분석부는,
요청(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.
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)
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)
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)
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)
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 |
-
2015
- 2015-01-16 KR KR1020150007831A patent/KR101534160B1/en not_active IP Right Cessation
- 2015-11-06 WO PCT/KR2015/011934 patent/WO2016114476A1/en active Application Filing
Patent Citations (3)
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)
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 |