WO2017131418A1 - 통화품질을 예측하는 방법 및 이를 수행하는 통화품질 예측서비스 장치 - Google Patents
통화품질을 예측하는 방법 및 이를 수행하는 통화품질 예측서비스 장치 Download PDFInfo
- Publication number
- WO2017131418A1 WO2017131418A1 PCT/KR2017/000839 KR2017000839W WO2017131418A1 WO 2017131418 A1 WO2017131418 A1 WO 2017131418A1 KR 2017000839 W KR2017000839 W KR 2017000839W WO 2017131418 A1 WO2017131418 A1 WO 2017131418A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- call quality
- sip
- call
- internet phone
- internet
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 175
- 238000012360 testing method Methods 0.000 claims abstract description 224
- 230000005540 biological transmission Effects 0.000 claims abstract description 172
- 230000004044 response Effects 0.000 claims abstract description 82
- 238000004891 communication Methods 0.000 claims abstract description 52
- 230000000977 initiatory effect Effects 0.000 claims abstract description 7
- 230000008569 process Effects 0.000 claims description 105
- 238000010586 diagram Methods 0.000 description 19
- 230000006870 function Effects 0.000 description 17
- 238000004422 calculation algorithm Methods 0.000 description 13
- 238000004364 calculation method Methods 0.000 description 6
- 230000011664 signaling Effects 0.000 description 6
- 101000713310 Homo sapiens Sodium bicarbonate cotransporter 3 Proteins 0.000 description 5
- 102100036911 Sodium bicarbonate cotransporter 3 Human genes 0.000 description 5
- 230000000694 effects Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 238000012546 transfer Methods 0.000 description 5
- 239000003795 chemical substances by application Substances 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 230000014509 gene expression Effects 0.000 description 3
- 238000013519 translation Methods 0.000 description 3
- 230000009365 direct transmission Effects 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 229920006132 styrene block copolymer Polymers 0.000 description 2
- 102000018059 CS domains Human genes 0.000 description 1
- 108050007176 CS domains Proteins 0.000 description 1
- 101100108191 Vibrio parahaemolyticus serotype O3:K6 (strain RIMD 2210633) add gene Proteins 0.000 description 1
- 230000003213 activating effect Effects 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 239000000969 carrier Substances 0.000 description 1
- 238000009223 counseling Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000006866 deterioration Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
- 230000007480 spreading Effects 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M3/00—Automatic or semi-automatic exchanges
- H04M3/22—Arrangements for supervision, monitoring or testing
- H04M3/2227—Quality of service monitoring
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0207—Discounts or incentives, e.g. coupons or rebates
- G06Q30/0224—Discounts or incentives, e.g. coupons or rebates based on user history
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
- G06Q50/20—Education
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/40—Business processes related to the transportation industry
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/50—Business processes related to the communications industry
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09B—EDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
- G09B5/00—Electrically-operated educational appliances
- G09B5/06—Electrically-operated educational appliances with both visual and audible presentation of the material to be studied
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/14—Network analysis or design
- H04L41/147—Network analysis or design for predicting network behaviour
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0823—Errors, e.g. transmission errors
- H04L43/0829—Packet loss
- H04L43/0841—Round trip packet loss
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0852—Delays
- H04L43/0864—Round trip delays
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/10—Active monitoring, e.g. heartbeat, ping or trace-route
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/50—Testing arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2503—Translation of Internet protocol [IP] addresses
- H04L61/2514—Translation of Internet protocol [IP] addresses between local and global IP addresses
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2503—Translation of Internet protocol [IP] addresses
- H04L61/256—NAT traversal
- H04L61/2564—NAT traversal for a higher-layer protocol, e.g. for session initiation protocol [SIP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
-
- 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
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/1066—Session management
- H04L65/1101—Session protocols
- H04L65/1104—Session initiation protocol [SIP]
-
- 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/60—Network streaming of media packets
- H04L65/65—Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
-
- 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/80—Responding to QoS
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M3/00—Automatic or semi-automatic exchanges
- H04M3/22—Arrangements for supervision, monitoring or testing
Definitions
- the present invention relates to a technique for predicting call quality. More particularly, the present invention relates to a transmission using a SIP transaction request and a SIP transaction response without an actual call generation process between Internet communication devices constituting an Internet telephone network including an Internet phone terminal. The present invention relates to a method of predicting call quality that can predict call quality through a test, and to a call quality prediction service device performing the same.
- circuit-based telephones based on digital methods such as old analog and SS7 (Signaling System 7) continue to decline, and packet switching based on IP (Internet Protocol) network including SIP protocol.
- IP Internet Protocol
- Internet telephony using the conventional SIP protocol has a call quality due to system overload of terminal or network congestion status of intermediate nodes such as L2, L3, L4 switch in packet switched network. There is a possibility of this deterioration.
- Korean Patent No. 10-1011344 relates to a call quality measurement and guidance system of a telephone call service network, and a call waiting time with a call center agent by measuring a call quality of a subscriber in a call center at a call center's request.
- an embodiment of the present invention provides a call quality prediction index for each of a plurality of Internet telephony terminals when provided with a plurality of Internet telephony terminals. It is intended to provide a technology for selecting an excellent specific Internet phone terminal.
- One embodiment of the present invention is to predict the call quality in advance before connecting the actual call to predict the call quality that can provide an opportunity to take other measures when the call quality is expected to be lower than a certain threshold value
- a method and an apparatus for predicting call quality performing the same are provided.
- An embodiment of the present invention predicts call quality for each section on an expected path of media in a call, and manages for a predetermined expiration time through a cache memory, thereby making unnecessary prediction work for sections overlapping almost simultaneously in call quality prediction between Internet telephone terminals.
- the present invention provides a method for estimating call quality that can be avoided and a call quality prediction service apparatus performing the same.
- the intervals are predicted by classifying the intervals, and the results are stored in the cache to overlap the intervals in the other call quality prediction processes.
- it is to provide a method of predicting call quality capable of efficient network operation by preventing transmission test for call quality prediction from overlapping, and a call quality prediction service apparatus performing the same.
- An embodiment of the present invention provides a method for measuring the current state in terms of call quality in the case of an Internet phone terminal in a waiting state for an internet phone call, and for predicting call quality between a caller and a called party in a section before actual call connection.
- the present invention provides a method of predicting call quality that can refer to call quality before connecting an actual call, and a call quality prediction service apparatus that performs the same.
- One embodiment of the present invention generates RTP / RTCP media traffic or most UDP traffic irrespective of whether actual media for a call is included for each section of media transmission between an Internet telephone terminal and an Internet telephone server or between ends of an actual call connection.
- calculate the round trip time (RTT) and packet loss rate of each packet and predict the call quality to check the integrity of the original data against the possibility of packet corruption if there is a wireless section, and predict the call quality to perform the same.
- An embodiment of the present invention may use a SIP event notification system by including in the presence information of the subscriber, a method of predicting the call quality that can provide a call quality state through a SIP AS interworking with an HTTP server and the like to perform the same To provide a call quality prediction service device.
- a method performed in one of the first and second Internet communication apparatuses and predicting the call quality for the other includes (a) the address information (IP address, And optionally sending a Session Initiation Protocol (SIP) transaction request including a call quality prediction request to the other, (b) the address of the other in response to the SIP transaction request from the other; Receiving a SIP transaction response including information (IP address, Port number), (c) via one address information and the other address information 1) RTP packet irrespective of whether or not the actual media is included 2) RTCP Packet or 3) predicting call quality by performing a transmission test with the other through communication through a UDP packet impersonating RTP to the other (hereinafter, a transmission test packet); and (d) or After the step (a), using the other party's address information, the other party performs step (c) first to obtain a call quality prediction result and then includes the result in the SIP transaction response and transmits the result to the one party.
- SIP Session Initiation Protocol
- the step (c) is a NAT pinhole for the address information through the communication between both sides via the NAT device using the address information between the one and the other when the other side is connected through the NAT equipment It may include the step of generating in advance (Pinhole).
- the step (c) is to send the transmission test packets to N (where N is a natural number of 2 or more) sequentially to the one or the other and to determine whether each round trip time (RTT) and each loss Checking and predicting the call quality may include.
- the method for estimating the call quality includes (e) determining the call selection for the other by storing the predicted call quality based on the packet loss rate and the transmission delay time for the N transmission test packets. It further includes.
- the step (e) is a step of selecting a specific Internet telephone terminal based on the predicted call quality for each of the plurality of Internet telephone terminals when the other side is composed of a plurality of Internet telephone terminals It may include.
- the step (e) is a step of selecting, as the specific Internet phone terminal, an Internet phone terminal currently available and having the smallest transmission time delay when the communication between the one and the other correspond to voice communication. It may further include.
- the step (e) may include selecting an Internet telephone terminal currently available and having the smallest packet loss rate as the specific Internet telephone terminal when the communication between the one and the other corresponds to data communication. It may further include.
- (e) if there is at least one media relay device that performs media relay among the relay devices between the first and second internet communication devices, In the at least one media relay device (hereinafter, referred to as a call quality prediction device), performing steps (a) to (d) or performing step (c) alone on a relay section formed between adjacent call quality prediction devices.
- the method may further include sequentially completing the call quality prediction.
- the step (e) may include storing a call quality prediction about the relay section in the cache and updating the cache when a specific time is exceeded.
- the step (e) may further include receiving a SIP transaction response including information on a call quality predicting device related to the cause of the failure when the call quality prediction for the specific relay section fails. have.
- the method performed in the Internet telephony server or the SBC and predicting call quality for a plurality of Internet telephony terminals without a call generation process includes: (a) for the interval between the Internet telephony server or the SBC and the Internet telephony terminal. 1) RTP packet irrespective of whether actual media is included or not 2) RTCP packet or 3) each of the plurality of Internet telephone terminals through communication via the most UDP packet impersonating RTP to the other (hereinafter referred to as a transmission test packet). Predicting the call quality by performing a transmission test with the mobile communication device; and (b) providing the result of the call quality prediction to the call counterpart based on the call quality prediction for each of the available internet phones having the best call quality. Performing the provision of information about the terminal or the attempt of connection.
- the call quality prediction service apparatus which is performed in one of the first and second Internet communication apparatuses, and performs a method of predicting call quality for the other, the one address for the call quality prediction of the one party;
- SIP transaction request unit which may optionally include information (IP address, Port number), and transmits a Session Initiation Protocol (SIP) transaction request including a call quality prediction request to the other, responding to the SIP transaction request from the other
- SIP transaction response receiver for receiving a SIP transaction response including the other address information (IP address, Port number);
- Call quality prediction unit for performing a transmission test with the other through the communication through the other to predict the call quality, or after transmitting the SIP transaction to the other using the address information of the other the other to predict the call quality
- a call quality prediction result is obtained, and then the prediction is based on the packet loss rate and the transmission delay time of the SIP transaction response transmitter and the N transmission test packets including the result in the SIP transaction response and transmitted to the one party.
- a call selection determiner configured to store the predicted call quality and determine a call selection for the other party.
- the disclosed technique can have the following effects. However, since a specific embodiment does not mean to include all of the following effects or only the following effects, it should not be understood that the scope of the disclosed technology is limited by this.
- the method of estimating call quality according to an embodiment of the present invention and the apparatus for predicting call quality performing the same predict the call quality in advance before the actual call is connected, so that the call quality is expected to be lower than a predetermined reference value. It can provide an opportunity to find a way.
- the method of estimating call quality according to an embodiment of the present invention and the apparatus for predicting call quality perform the same according to the method of predicting call quality on a predicted path of media in a call and managing the call quality for a predetermined expiration time through a cache memory.
- unnecessary prediction work for a section that overlaps almost simultaneously can be avoided.
- the method of estimating call quality according to an embodiment of the present invention and the apparatus for predicting call quality according to the present invention divide call intervals by classifying intervals when there is an intermediate node performing media relay in the same environment as the actual call connection process. Predicting and storing the result in the cache can prevent efficient overlapping of transmission tests for predicting call quality in case of overlapping intervals in other call quality prediction processes.
- Method for estimating call quality is a method for measuring the current state in terms of call quality in the case of an Internet phone terminal in the standby state of the Internet phone call; Before the actual call connection, the call quality can be referred to before the actual call is connected by providing a method for predicting the call quality between the caller and the called party by section.
- a method of predicting call quality and a call quality predicting service apparatus performing the same provide an apparatus for estimating call quality between sections of a media transmission between an internet phone terminal and an internet phone server or an end of an actual call connection.
- the method of estimating call quality according to an embodiment of the present invention and the apparatus for predicting call quality may use a SIP event notification system by including the subscriber's presence information, and call through a SIP AS linked with an HTTP server. Can provide quality status.
- FIG. 1 is a diagram illustrating a call quality prediction system according to an embodiment of the present invention.
- FIG. 2 is a view for explaining the configuration of the call quality prediction service apparatus.
- FIG. 3 is a diagram illustrating a process of generating a transmission test session for predicting call quality between a call quality prediction server and an arbitrary internet phone terminal upon request by an Internet telephone server.
- FIG. 4 is a diagram illustrating a process requested by an Internet telephone server and generating a transmission test session for predicting call quality between the Internet telephone server and an arbitrary Internet telephone terminal.
- FIG. 5 is a diagram illustrating a process requested by an Internet phone terminal and generating a transmission test session for predicting a call quality between a call quality prediction server and an arbitrary Internet phone terminal.
- FIG. 6 is a diagram illustrating a process requested by an Internet phone terminal and generating a transmission test session for predicting call quality between an Internet phone server and an arbitrary Internet phone terminal.
- 7 to 12 are diagrams illustrating a process of predicting call quality between arbitrary Internet telephone terminals.
- FIG. 13 is a diagram illustrating a comparison of UDP packets according to an embodiment of the present invention.
- 15 is a flowchart illustrating a process of predicting call quality for the other side according to an embodiment of the present invention.
- 16 is a flowchart illustrating a process of estimating call quality for a plurality of Internet telephony terminals without a call generation process according to another embodiment of the present invention.
- first and second are intended to distinguish one component from another component, and the scope of rights should not be limited by these terms.
- first component may be named a second component, and similarly, the second component may also be named a first component.
- an identification code (e.g., a, b, c, etc.) is used for convenience of description, and the identification code does not describe the order of the steps, and each step clearly indicates a specific order in context. Unless stated otherwise, they may occur out of the order noted. That is, each step may occur in the same order as specified, may be performed substantially simultaneously, or may be performed in the reverse order.
- the present invention can be embodied as computer readable code on a computer readable recording medium, and the computer readable recording medium includes all kinds of recording devices in which data can be read by a computer system.
- Examples of computer-readable recording media include ROM, RAM, CD-ROM, magnetic tape, floppy disk, optical data storage device, and the like.
- FIG. 1 is a diagram illustrating a call quality prediction system according to an embodiment of the present invention.
- the call quality prediction system 10 includes a call quality prediction service device 20 and a call quality prediction server 300, and the call quality prediction service device 20 includes an internet phone terminal 100 and a call quality prediction service device 20.
- Internet telephone server 200 is included. They can be connected via a network.
- the call quality prediction service apparatus 20 may be performed by one of the Internet phone terminal 100 and the Internet phone server 200, and may predict the call quality of the other. More specifically, the call quality prediction service apparatus 20 may be provided between the Internet phone terminal 100 and the Internet phone server 200, the Internet phone terminal 100, the call quality prediction server 300, or the Internet phone terminals 100. Predict call quality.
- the Internet phone terminal 100 may be owned by a user and may correspond to a computing device connected to the Internet phone server 200 and the call quality prediction server 300.
- the Internet phone terminal 100 may be implemented as a smartphone, but is not necessarily limited thereto.
- Any Internet telephony terminal or originating terminal 102, 106, 110, 114, 116, 120, Internet telephony terminal or destination terminal 104, 108, 112, 118, 122 are all Internet telephony terminal 100. same.
- the call quality prediction server 300 may be installed to reduce the burden of transmission test from the Internet phone server 200 capable of performing SIP call processing.
- call processing means controlling and monitoring all the states from the origination of the call to the end so that normal calls can be made.
- the call quality prediction server 300 may be connected to an Internet Protocol (IP) in the Internet phone terminal 100 regardless of the SIP network, and may be connected to the Internet phone server 200 to exchange information through a general server. This may be the case.
- IP Internet Protocol
- Transmission testing of call quality prediction intervals may also be carried out using real RTP / RTCP packets containing reproducible media as real calls. Both parties simultaneously send and receive RTP / RCTP packets and calculate round trip time (RTT) and packet loss rate through RTCP packets to predict call quality and share the results to calculate prediction results of bidirectional call quality. If a specific subject generates an RTP packet and transmits it to the other party in the section, the other party can receive and retransmit it immediately, and the subject can calculate the RTT and packet loss rate of each RTP packet.
- RTT round trip time
- RTP packet that does not contain the actual media and contains the transmission time information of the sender, or transmits a UDP packet including the transmission time information of the sender with the same IP packet size and transmission interval as the RTP packet without the RTP header You can also predict call quality by receiving retransmissions immediately and calculating RTT and packet loss rates.
- the transmission test packet can be divided into a case where each other simultaneously conducts a transmission test and one side leads the transmission test packet.
- each other needs to know the address of the other party. If one side transmits first, the receiving side can refer to the source address of the IP packet and transmit the reverse.
- FIG. 2 is a view for explaining the configuration of the call quality prediction service apparatus.
- the call quality prediction service apparatus 20 includes a SIP transaction request unit 21, a SIP transaction response receiver 22, a call quality predictor 23, a SIP transaction response transmitter 24, and call selection.
- the decision unit 25 and the control unit 26 are included.
- the SIP transaction request unit 21 may optionally include one address information (IP address and port number) for predicting one call quality, and performs a SIP (Session Initiation Protocol) transaction request including a call quality prediction request. You can send it to the other side.
- the SIP transaction request unit 21 may transmit a SIP transaction request including the call quality prediction request information to the Internet phone terminal 100.
- the SIP transaction request unit 21 may transmit a SIP transaction request including the call quality prediction request information to the Internet telephone server 200.
- the SIP transaction request unit 21 is transmitted when NAT equipment exists between the Internet phone terminal 100 and a plurality of servers (Internet phone server 200 or call quality prediction server 300).
- the SIP transaction request for generating the test session may include the address information of the Internet phone server 200 or the call quality prediction server 300 and transmit the information to the Internet phone terminal 100.
- the Internet phone terminal 100 receives the received Internet.
- the NAT pinhole packet for generating the NAT pinhole may be transmitted to the internet phone server 200 or the call quality prediction server 300 through the address information of the phone server 200 or the call quality prediction server 300.
- the SIP transaction response receiver 22 may receive a SIP transaction response. More specifically, the SIP transaction response receiver 22 may receive a SIP transaction response including the other address information (IP address, Port number) in response to the SIP transaction request from the other. In one embodiment, the SIP transaction response receiver 22 may receive a SIP transaction response in response to a SIP transaction request from the Internet phone terminal 100. For example, the SIP transaction response receiver 22 may receive address information including port information newly assigned for transmission test in response to the SIP transaction request.
- the call quality predicting unit 23 uses 1 address information and 2 other address information to determine 1) an RTP packet irrespective of whether or not the actual media is included, 2) an RTCP packet, or 3) the most UDP packet impersonating RTP for the other (hereinafter, referred to as an RTP packet). ,
- the transmission test packet can perform the transmission test with the other party to predict the call quality.
- the call quality prediction unit 23 may generate a NAT pinhole for address information in advance through communication between the two parties through the NAT equipment using the address information between the two parties. Can be.
- the Internet phone server 200 or the call quality prediction server 300 utilizes the address of the Internet phone terminal 100 obtained through the SIP transaction response receiver 22 to communicate with the Internet phone terminal 100.
- the call quality can be predicted by performing the transmission test through the generation of UDP packet that simulates the actual RTP / RTCP or RTP or RTP that does not include the actual media for the predicted codec.
- the Internet phone terminal 100 is an address of the Internet phone server 200 obtained through the SIP transaction response receiver 22 and does not include actual RTP / RTCP or actual media for the call quality prediction target codec. It is possible to predict call quality by conducting transmission test through UDP packet disguised as RTP or RTP.
- the Internet phone server 200 is the Internet phone terminal 100.
- the Internet phone terminal 100 Including the address information of the Internet phone server 200 or the call quality prediction server 300 for generating a transmission test session in the SIP transaction request to be transmitted to the Internet phone terminal 100, and the Internet phone terminal 100
- the Internet telephone server 200 or the call quality prediction server 300 is transmitted. Transmission test by using NAT pinhole to create UDP packet impersonating RTP or RTP that does not include real RTP / RTCP or real media for internet phone terminal 100 and call quality prediction target codec Call quality can be predicted by
- the call quality prediction server 300 Before performing the transmission test between the Internet phone terminal 100 and the Internet phone server 200 or the Internet phone terminal 100 and the call quality prediction server 300 performs SIP authentication for the Internet phone terminal 100. If it fails, you can give up the call quality prediction and if the authentication succeeds, you can perform the transfer test.
- the call quality prediction unit 23 may generate the most UDP packet disguised as the RTP on the basis of the address information and port information of the Internet phone terminal 100, and the transmission test through the generated UDP packet It is possible to predict the call quality for the Internet phone terminal 100 by performing.
- the plurality of most UDP packets may include the same size, transmission interval, and transmission time data as the RTP.
- the call quality prediction unit 23 transmits the transmission test packets to one or the other N (where N is a natural number of 2 or more) and checks each RTT (Round Trip Time) and whether or not each is lost to predict call quality. Can be.
- the call quality prediction unit 23 may predict a call quality for the other by checking a round trip time (RTT) of each of the most UDP packets generated and whether there is a round trip loss with respect to each.
- the call quality prediction unit 23 may calculate an RTT value based on a reception time of each UDP packet and a transmission time recorded in the UDP packet, respectively, the number of missing RTP packets and the average of the RTT values of all RTP packets, By calculating the deviation (that is, the degree of separation) of the RTT value, the call quality for the other can be predicted.
- the call quality prediction unit 23 may generate and transmit N sequential plurality of UDP packets to the Internet telephone terminal 100, and the Internet telephone terminal 100 receives the plurality of UDP packets. At the same time, it can be retransmitted to the call quality prediction unit 23.
- the call quality prediction unit 23 may predict the call quality for the other side, that is, the Internet phone terminal 100 by checking the RTT value and the round trip loss of each of the plurality of UDP packets received through the retransmission process.
- the call quality predicting unit 23 is performed in the Internet phone server 200 or the SBC, and predicts call quality for a plurality of Internet phone terminals without a call generation process, between the Internet phone server or the SBC and the Internet phone terminal.
- the SIP transaction response transmitting unit 24 or after performing the SIP transaction requesting unit 21 (i.e., step (a)), performs the performance of the call quality predicting unit 23 (i.e., Step c) may be performed first to obtain a call quality prediction result, and the result may be included in the SIP transaction response and transmitted to one party.
- the call selection determining unit 25 may determine the call selection for the other by storing the predicted call quality based on the packet loss rate and the transmission delay time for the N transmission test packets.
- the call selection determination unit 25 may call select a specific Internet telephone terminal based on the predicted call quality of each of the plurality of Internet telephone terminals.
- the call selection determiner 25 may select an Internet phone terminal currently available and having the smallest transmission time delay as the specific Internet phone terminal. In another embodiment, the call selection determiner 24 may select an Internet phone terminal currently available and having the smallest packet loss rate as a specific Internet phone terminal when communication between one and the other corresponds to data communication.
- the call selection determiner 25 may include at least one of the first and second Internet communication devices when there is at least one media relay device that performs media relay among the relay devices.
- the call quality prediction is sequentially completed by performing a SIP transaction request, performing a SIP transaction response transmission, or performing call quality prediction alone on a relay section formed between adjacent call quality prediction devices. can do.
- the first, the first Internet communication device (or originating terminal) is automatically set to the last call quality prediction interval boundary and second Internet communication to the SIP transaction request sent to the Internet telephone server 200 to which it belongs
- the call quality prediction request information may be delivered including device (or call quality prediction target destination terminal) information.
- the SIP network component forwards the SIP transaction request to the next destination as it is unless the media relay is performed, and includes it in the SIP transaction request if the media relay is performed. It conducts the transport test for the last call quality prediction section boundary and the call quality prediction, and forwards the SIP transaction request including the information to set its address as the last call quality prediction section boundary to the next destination or performs the call quality prediction. After performing the transmission test, the SIP transaction request including the call quality prediction result and the information that sets its address as the boundary of the last call quality prediction interval can be delivered to the next destination.
- a SIP transaction request arrives at the called party's Internet telephone server and the recipient's Internet telephone server performs media relay, it performs the transmission test for the boundary of the last call quality prediction section included in the SIP transaction request and the call quality prediction.
- a transmission test for predicting call quality is also performed between the called Internet telephone server and the second Internet communication device, and then the SIP transaction response is transmitted to the first Internet communication device including the two prediction results, or the last time included in the SIP transaction request.
- the second internet communication device is automatically set as the call quality prediction interval boundary, and when the SIP transaction request arrives at the second internet communication device, the last call quality prediction interval boundary recorded in the SIP transaction request and the call quality prediction
- the SIP transaction response is transmitted if the SIP network component, which is the boundary of the call quality prediction interval, does not include the call quality prediction result in the SIP transaction request, after performing the transmission test and transmitting the SIP transaction response including the result to the first Internet communication device. It can be included in.
- the call selection determiner 25 may store the call quality prediction about the relay section in the cache and update the cache when a specific time is exceeded. For example, a SIP network component that is the boundary of a call quality prediction interval may call itself and other SIP network components that are the boundary of the call quality prediction interval based on the call quality prediction result or the SIP transaction response. By storing and managing the quality prediction results in the cache, duplicate transmission tests can be avoided if there are duplicate call quality prediction requests within the cache expiration time.
- the call selection determining unit 25 may receive a SIP transaction response including information on the call quality predicting apparatus related to the cause of the failure.
- the call selection determining unit 25 may be a section up to the present time when the SIP network component can no longer perform the call quality prediction due to the policy or technical reasons while the SIP transaction request is delivered to the second Internet communication device.
- the call quality prediction result may be included and information for setting itself as a failure point of the call quality prediction or the reason for the failure may be included in the SIP transaction response and transmitted to the first internet communication device.
- the call selection determiner 25 may provide a call result prediction result to the call counterpart based on the call quality prediction for each of the plurality of Internet phone terminals, or the available Internet phone terminal having the best call quality. It can provide information or attempt to connect.
- the Internet phone server 200 uses the call quality between the Internet phone terminal 100 and the Internet phone server 200 without using a call generation process as it is or using a registered address of the Internet phone terminal 100 or a separate call quality.
- the call quality prediction information of the Internet phone terminal 100 is transmitted to the call counterpart, so that the call counterpart is consulted before the actual call connection or when there are a large number of Internet phone terminals capable of achieving the same purpose by the call counterpart. You can choose an excellent Internet phone.
- the control unit 26 may control the overall operation of the call quality prediction service apparatus, and the SIP transaction request unit 21, the SIP transaction response receiver 22, the call quality predictor 23, and the SIP transaction response transmitter 24. And control flow or data flow between the call selection determiner 25.
- FIG. 3 is a diagram illustrating a process requested by an Internet telephone server and generating a transmission test session for predicting call quality between a call quality prediction server and an arbitrary Internet phone terminal.
- any of the Internet phone terminal 100 of FIG. 3 may be able to make a call by performing a SIP registration (or SIP REGISTER) with the Internet phone server 200, and the Internet phone server 200 may be in a call quality.
- the prediction server 300 and the Internet phone terminal 100 may request the transmission test session generation for the call quality prediction to predict the call quality.
- the Internet phone terminal 100 may request SIP registration from the Internet phone server 200. More specifically, the Internet phone terminal 100 may generate a SIP REGISTER message to request SIP registration, and may perform a SIP registration request through the generated SIP REGISTER message. At this time, the SIP registration for the Internet phone terminal 100 is performed through the same method as a shared secret, and the shared secret includes ID and password information.
- the Internet phone terminal 100 may request SIP registration by transmitting an initial SIP REGISTER message that does not include authentication information to the Internet phone server 200, and the Internet phone server 200 generates a 401 Unauthorized response including authentication information. It can transmit to the Internet phone terminal 100.
- the authentication information may include an authentication method, an authentication algorithm, an area in which ID and password are defined, a nonce value, and the like.
- the Internet phone terminal 100 may check the authentication information in the 401 Unauthorized response received from the Internet phone server 200, and may calculate a message digest as required by the Internet phone server 200.
- message digest refers to a bit string shortened to a constant length by repeatedly applying a one-way hash function to an arbitrary length message.
- the internet phone terminal 100 may transmit a second SIP REGISTER message including the calculated message digest to the internet phone server 200.
- the internet phone server 200 may calculate the message digest in the same manner as the message digest calculation method of the internet phone terminal 100. After calculating the message digest, the Internet phone server 200 may compare the message digest result of the self-calculated message with the message digest result included in the second SIP REGISTER message.
- the Internet phone server 200 may complete SIP authentication of the Internet phone terminal 100 if the self-calculated message digest result and the message digest result included in the second SIP Register message are the same.
- the Internet phone server 200 transmits a 200 OK message to the internet phone terminal 100 to successfully register the SIP of the internet phone terminal 100 through the SIP REGISTER message. Can be done.
- the Internet telephony server 200 may not complete SIP authentication of the Internet telephony terminal 100 unless the self-calculated message digest result and the message digest result included in the second SIP REGISTER message are the same. In other words, the SIP authentication for the Internet phone terminal 100 fails. In this case, the Internet phone server 200 may transmit an error response such as 403 Forbidden (Bad auth) to the Internet phone terminal 100 to inform that SIP registration has failed.
- 403 Forbidden Bill auth
- the Internet phone server 200 may request the generation of a transmission test session for predicting call quality to the Internet phone terminal 100, and assumes that SIP OPTIONS, which is a typical Dialog-Out message of SIP, is used. The description is not limited thereto.
- the SIP OPTIONS message corresponds to a SIP message for requesting a query for a current capability of components of a SIP network such as a partner agent (UA, user agent) or a proxy server, a registrar, a redirect server, and a SIP network.
- the component of may provide information such as a SIP message type, an interpretable language, or a SIP body type that can be processed in response to a corresponding SIP OPTIONS message.
- the IP network is used for the same purposes as the ping command in the IP network to check the operation of the components of the SIP network.
- SIP messages can use non-standard headers that begin with X-, meaning either eXperimental or eXtension as a way to add new features or features in addition to the headers standardized in the underlying protocol.
- the Internet telephone server 200 transmits a SIP OPTIONS message to the Internet telephone terminal 100 by adding a header such as X-Quality-Test by utilizing a non-standard header starting with X-. You can request the creation of a transport test session for quality prediction.
- the header of X-Quality-Test can be configured in the following format.
- the request is a call quality prediction request
- the aservaddr is the address of the call quality prediction server 300 for the voice
- the vservaddr is the address of the call quality prediction server 300 for the video
- the method is set to digest the message digest method
- Nonce means random value to be included in hash value calculation
- algorithm means hash algorithm
- realm means area where ID and password are defined (commonly used server name)
- acodec means codec for voice.
- Ulaw codec and vcodec means h263 codec as the codec for video.
- the h.264 codec can be delivered by including details such as Profile and Level, so that the number of frames per second or the size of the frame can be calculated. do.
- the address (aservaddr, vservaddr) of the call quality prediction server 300 for voice or video is an address for generating a transmission test session for predicting call quality, and the Internet call server 200 and the call quality prediction server 300 are separate. It can be decided through consultation.
- the Internet phone server 200 may transmit request information for predicting call quality by adding a body to the SIP message as well as adding a new header to the SIP message as described above.
- a header such as Content-Type: application / call-quality-test may be added to the above SIP OPTIONS message, and the SIP OPTIONS message may be transmitted by including the following content in the content body.
- step 2 of FIG. 3 the X-Quality-Test header of the SIP 200 OK message is as follows.
- the Internet phone terminal 100 may include the result of the message digest calculation in the response field of the X-Quality-Test header and transmit the result to the Internet phone server 200.
- the message digest calculation of the Internet telephony terminal 100 can calculate A1, nonce and A2, respectively, and can calculate the sum by applying the hash algorithm again for A1, nonce and A2.
- A1 calculates the message digest by applying the hash algorithm for ID, Password, and realm recorded in the username field
- A2 calculates the hash algorithm for the request uri of the SIP OPTIONS message and the method "OPTIONS" of the SIP OPTIONS message. Means the result of calculating message digest by applying.
- the internet phone server 200 may perform authentication on the internet phone terminal 100 by comparing the calculated message digest value with the message digest value received from the internet phone terminal 100.
- the internet phone server 200 may transmit authentication information to the call quality prediction server 300 when the internet phone terminal 100 is successfully authenticated.
- the authentication information is the IP address (20.20.20.20) and the port number (1000, 1001), respectively, for the voice and video of the call quality prediction server 300 transmitted to the Internet phone terminal 100, the Internet phone in the process
- the server 200 may include a message digest value calculated by itself. If the authentication of the Internet phone terminal 100 fails in step 2 of FIG. 3, the call quality prediction may be immediately terminated.
- step 4 of FIG. 3 the Internet phone terminal 100 transmits a packet including authentication information to the call quality prediction server 300 to perform a transmission test between the Internet phone terminal 100 and the call quality prediction server 300.
- NAT pinholes can be created.
- the Internet phone terminal 100 may allocate two ports of its own rather than a port for transmitting and receiving SIP messages (for example, 5060 is assigned when using the default in SIP messages).
- the packet is transmitted to the address of the call quality prediction server 300 received through step 2 of FIG. 3, but the message digest value calculated in step 2 of FIG. 3 is included in the packet and transmitted to the call quality prediction server 300 as it is. You can do that.
- the call quality prediction server 300 may compare the message digest received from the Internet phone server 200 and the message digest received from the Internet phone terminal 100. In one embodiment, the call quality prediction server 300 succeeds in SIP authentication for the Internet phone terminal 100 if the message digest comparison result is the same, and then may continue with step 5. In another embodiment, if the call quality prediction server 300 is not the same as the result of the message digest comparison, the SIP authentication for the Internet phone terminal 100 fails, and the overall call quality prediction process fails.
- the call quality prediction server 300 performs a transmission test for call quality prediction by using a source IP and a source port number recorded in the IP header of the packet received through step 4 of FIG. You can do that.
- the transmission test session generated in this process may correspond to all four types of network address translation (NAT), where four types of NAT correspond to full cone, restricted cone, port restricted cone, and symmetric NAT. .
- NAT network address translation
- the Internet phone server 200 may be an Internet phone terminal in step 2 of FIG. 3. It may be checked whether the authentication of 100 is successful.
- the call quality prediction server 300 may perform the process 5 immediately without generating a NAT pinhole of the process 4 of Figure 3 can predict the call quality.
- the SIP OPTIONS message in step 2 of FIG. It is not necessary to include the address of the call quality prediction server 300.
- step 2 of the SIP 200 OK message does not necessarily include the address of the Internet phone terminal 100.
- the Internet phone terminal 100 may be in a call state when the SIP registration is completed with the Internet phone server 200, and the Internet phone server 200 may be the call quality prediction server 300 and the Internet phone terminal 100.
- the Internet phone server 200 may be the call quality prediction server 300 and the Internet phone terminal 100.
- FIG. 4 is a diagram illustrating a process requested by an Internet telephone server and generating a transmission test session for predicting call quality between the Internet telephone server and an arbitrary Internet telephone terminal. More specifically, FIG. 4 is a diagram illustrating a process in which the Internet phone server 200 directly performs call quality prediction without using the call quality prediction server 300.
- the Internet phone terminal 100 may request SIP registration from the Internet phone server 200. More specifically, the Internet phone terminal 100 may generate a SIP REGISTER message to request SIP registration, and may perform a SIP registration request through the generated SIP REGISTER message. At this time, the SIP registration for the Internet phone terminal 100 is performed through the same method as a shared secret.
- the Internet phone terminal 100 may request SIP registration by transmitting an initial SIP REGISTER message that does not include authentication information to the Internet phone server 200, and the Internet phone server 200 generates a 401 Unauthorized response including authentication information. It can transmit to the Internet phone terminal 100.
- the authentication information may include an authentication method, an authentication algorithm, an area in which ID and password are defined, a nonce value, and the like.
- the Internet phone terminal 100 may check the authentication information in the 401 Unauthorized response received from the Internet phone server 200, and may calculate a message digest as required by the Internet phone server 200.
- message digest refers to a bit string shortened to a constant length by repeatedly applying a one-way hash function to an arbitrary length message.
- the internet phone terminal 100 may transmit a second SIP REGISTER message including the calculated message digest to the internet phone server 200.
- the internet phone server 200 may calculate the message digest in the same manner as the message digest calculation method of the internet phone terminal 100. After calculating the message digest, the Internet phone server 200 may compare the message digest result of the self-calculated message with the message digest result included in the second SIP REGISTER message.
- the SIP server 200 may complete the SIP authentication of the Internet phone terminal 100.
- the Internet phone server 200 transmits a 200 OK message to the internet phone terminal 100 to successfully register the SIP of the internet phone terminal 100 through the SIP REGISTER message. Can be done.
- the Internet telephony server 200 may not complete SIP authentication of the Internet telephony terminal 100 unless the self-calculated message digest result and the message digest result included in the second SIP REGISTER message are the same. In other words, the SIP authentication for the Internet phone terminal 100 fails. In this case, the Internet phone server 200 may transmit an error response such as 403 Forbidden (Bad auth) to the Internet phone terminal 100 to inform that SIP registration has failed.
- 403 Forbidden Bill auth
- the Internet phone server 200 may request the transmission of the test session for the call quality prediction to the Internet phone terminal 100.
- aservaddr and vservaddr of the X-Quality-Test header are set to indicate the Internet phone server 200 itself rather than the address of the call quality prediction server 300 in step 2 of FIG. 3. same.
- step 3 of FIG. 3 since the call quality prediction server 300 is not used.
- the Internet phone terminal 100 transmits a packet including authentication information to the Internet phone server 200 in the same manner as process 4 of FIG. 3 to generate a NAT pinhole for a transmission test. Authentication can be performed.
- the Internet phone server 200 performs a transmission test for predicting call quality by using the source IP and the source port number included in the IP header of the packet received through the process 3 of FIG. Can be.
- the transmission test session generated in this process may correspond to all four types of network address translation (NAT), where four types of NAT correspond to full cone, restricted cone, port restricted cone, and symmetric NAT. .
- NAT network address translation
- the internet phone server 200 may check whether the internet phone terminal 100 is successfully authenticated in step 2 of FIG. . In one embodiment, if the Internet phone server 200 corresponds to the authentication success, it is possible to predict the call quality by performing the following process immediately without generating a NAT pinhole in the Internet phone terminal (100). For example, the Internet phone terminal 100 included in the SIP 200 OK message may perform a transmission test without using step 3 of FIG. 4 using port information allocated for a call quality prediction transmission test.
- the Internet phone terminal 100 may be in a call state when SIP registration is completed with the Internet phone server 200, and the Internet phone server 200 is a transmission test for predicting call quality to the Internet phone terminal 100. You can request to create a session to predict call quality.
- FIG. 5 is a diagram illustrating a process requested by an Internet phone terminal and generating a transmission test session for predicting a call quality between a call quality prediction server and an arbitrary Internet phone terminal. More specifically, FIG. 5 is a diagram illustrating a process of requesting and performing direct call quality prediction by the Internet phone terminal 100.
- the Internet phone terminal 100 may request SIP registration from the Internet phone server 200. More specifically, the Internet phone terminal 100 may generate a SIP REGISTER message to request SIP registration, and may perform a SIP registration request through the generated SIP REGISTER message.
- the SIP registration process of the Internet phone terminal 100 is the same as step 1 of FIGS. 3 and 4.
- the Internet phone terminal 100 may request the transmission test session for the call quality prediction to the Internet phone server 200. More specifically, the Internet telephony terminal 100 may use SIP OPTIONS as shown in FIGS. 3 and 4.
- the header of X-Quality-Test can be configured as follows.
- Request is a call quality prediction request
- acodec and vcodec mean audio and video codecs, respectively.
- Response is a response to the call quality prediction request
- aservaddr is the address of the call quality prediction server 300 for voice
- vservaddr is the address of the call quality prediction server 300 for video
- the method is set to digest means that authentication method through digest method is used
- nonce is random value to be included in hash value calculation
- algorithm is hash algorithm
- realm is defined area of ID and Password
- acodec is codec for voice and ulaw codec is used
- vcodec is video The codec for the h263 codec is used.
- the Internet phone server 200 may be performed after the SIP authentication of the Internet phone terminal 100 is completed, including 401 Unauthorized, such as a SIP registration request process through the SIP REGISTER process in step 2 of FIG. 5. However, since the call quality prediction is performed by the call quality prediction server 300, it is omitted in FIG. 5.
- the Internet phone server 200 may be performed in the same manner as step 3 of FIG. 3 to transmit authentication information to the call quality prediction server 300.
- the authentication information may include an IP address (20.20.20.20) and a port number (1000, 1001) for each voice and video of the call quality prediction server 300 transmitted to the Internet phone terminal 100.
- the Internet phone server 200 may calculate the message digest and transmit authentication information to the call quality prediction server 300 in the same manner as the method of calculating the message digest in the process of 2 of FIG. 3.
- the Internet phone terminal 100 calculates the message digest in the same manner as in the process of process 2 of FIG. 3, and then first includes the calculated value in the packet to the call quality prediction server 300. Can be sent.
- the call quality prediction server 300 compares the message digest received from the Internet phone terminal 100 with the message digest received from the Internet phone server 200 through step 3 of FIG. Authentication can be performed.
- the call quality prediction server 300 may receive a transmission test packet for the call quality prediction transmitted by the Internet phone terminal 100 upon successful SIP authentication for the Internet phone terminal 100,
- the source IP and source port number included in the IP header of the test packet can be retransmitted as a destination.
- the transmission test session generated in this process can correspond to all four types of network address translation (NAT), where four types of NAT correspond to full cone, restricted cone, port restricted cone, and symmetric NAT. .
- the call quality prediction server 300 rejects retransmission when the SIP authentication for the Internet phone terminal 100 fails, or separately informs the Internet phone terminal 100 of the SIP authentication failure, and thus the call quality. The prediction process ends.
- the Internet phone terminal 100 may be able to make a call by performing SIP registration with the Internet phone server 200, and the Internet phone terminal 100 is a transmission test for predicting call quality to the Internet phone server 200.
- the Internet phone server 200 may transmit address information of the call quality prediction server 300 to the Internet phone terminal 100, not the own, and the Internet phone terminal 100 to the call quality prediction server 300 of the corresponding address.
- the transmission test session can be created to predict the call quality.
- FIG. 6 is a diagram illustrating a process requested by an Internet phone terminal and generating a transmission test session for predicting call quality between an Internet phone server and an arbitrary Internet phone terminal. More specifically, FIG. 6 is a diagram illustrating a process of requesting the Internet phone terminal 100 and performing direct call quality prediction. However, FIG. 6 generates a direct transmission test session with the Internet phone server 200 in which the Internet phone terminal 100 performs SIP registration without predicting the call quality prediction server 300 and predicts the call quality.
- the Internet phone terminal 100 may request SIP registration from the Internet phone server 200. More specifically, the Internet phone terminal 100 may generate a SIP REGISTER message to request SIP registration, and may perform a SIP registration request through the generated SIP REGISTER message.
- the SIP registration process of the Internet phone terminal 100 is the same as the 1 process of FIGS. 3, 4 and 5.
- the Internet phone terminal 100 may request the generation of a test session for the call quality prediction to the Internet phone server 200 using SIP OPTIONS as shown in FIGS. 3, 4, and 5.
- the aservaddr and vservaddr fields of the X-Quality-Test header in the 200 OK response transmitted from the Internet telephone server 200 include two IP addresses and newly assigned port numbers for the transmission test.
- the Internet phone terminal 100 may generate a transmission test session and perform call quality prediction.
- Each of the Internet phone terminal 100 and the Internet phone server 200 may calculate a message digest value in the same manner as in the previous method (FIGS. 3, 4, and 5).
- the Internet phone server 200 compares the message digest transmitted by the Internet phone terminal 100 with the message digest calculated by itself, and succeeds in authenticating if the values are the same, and generates a transmission test session request. Accepting the call quality prediction with the Internet phone terminal 100 can be performed.
- the target for performing the call quality prediction is the Internet phone server 200 is the same as the process (4) of FIG.
- the Internet phone server 200 may perform call quality prediction after completing the SIP authentication of the Internet phone terminal 100 including 401 Unauthorized as in the SIP REGISTER process of step 1 of FIG. 6. In this case, in step 3 of FIG. 6, the Internet phone terminal 100 may directly perform a transmission test using address information of the Internet phone server 200 obtained in step 2 of FIG. 6.
- the Internet phone terminal 100 may be able to make a call by performing SIP registration with the Internet phone server 200, and the Internet phone terminal 100 is a transmission test for predicting call quality to the Internet phone server 200. You can request to create a session.
- the Internet phone server 200 may notify the Internet phone terminal 100 of the address and SIP authentication request information including its newly assigned port for transmission test, and the Internet phone terminal 100 corresponds to the Internet phone server. After performing the SIP registration authentication to the address of 200 can generate a transmission test session to predict the call quality.
- the call quality prediction process of FIGS. 3 to 6 is performed between the Internet phone terminal 100 and the Internet phone server (SIP Proxy, IP-PBX, CSCF, etc.) 200 or the Internet phone terminal 100 and the call quality prediction server (SIP Proxy, IP-PBX, CSCF, etc.) 200 or the Internet phone terminal 100 and the call quality prediction server (SIP Proxy, IP-PBX, CSCF, etc.) 200 or the Internet phone terminal 100 and the call quality prediction server (SIP Proxy, IP-PBX, CSCF, etc.) 200 or the Internet phone terminal 100 and the call quality prediction server ( This section describes the process of predicting call quality by measuring packet loss rate, transmission delay, original data integrity, etc. by performing transmission test between 300).
- the SBC is installed between the Internet phone terminal 100 and the Internet phone server 200 to solve the NAT problem
- the SBC is applied to the Internet phone terminal (FIG. It is possible to predict the call quality between the 100, and the SBC may perform only a role of mediating the call quality prediction process between
- the transmission test session for generating a separate call quality prediction with the Internet phone server 200 or the external call quality prediction server 300 that performed the SIP registration process can be performed.
- the registration address of the Internet phone terminal 100 recognized by the Internet phone server 200 during the SIP registration process is also stored in the Internet phone server 200 by solving the NAT problem by the NAT traversal solution structure of the SIP itself.
- the transmission test can be performed simply by using the address as it is.
- the SIP message and transmission test packet may be confusing because it is an address for transmitting the SIP message, but the format of the SIP message is fixed, and the transmission time is recorded with the RTP packet or the RTP packet at the same size (transmission interval). Since UDP packets are also formatted, it is not possible to distinguish them, and it is possible to perform a call quality prediction test using the SIP registered address.
- SBC performs Media Relay in a situation where an Internet phone provider uses Session Border Controller (SBC) to solve SIP traversal problem of SIP and Topology Hiding on the Internet phone server side.
- SBC Session Border Controller
- subscriber terminal and SBC are performed.
- NAT pinhole can be created in advance and used in actual call generation.
- the SBC can relay the media for the call quality prediction as well, so that the call quality prediction can be performed in the same environment as the actual call generation.
- the SBC Session Border Controller
- 5 and 6 may change the address of the Internet phone server 200 or the call quality prediction server 300 included in the response message for the SIP OPTIONS to its own address to allow the SBC to perform call quality prediction.
- the SBC since it is an address used to generate a real call, if an inconvenience occurs due to a collision with an actual call, the SBC may generate a NAT pinhole for a transmission test session in advance in consultation with the Internet phone terminal 100. You can also use this address.
- the transmission test is performed after the completion of the SIP transaction, but may be performed in the middle of the SIP transaction.
- the Internet phone terminal 100 may receive an address and authentication information of the call quality prediction server 300 through a SIP OPTIONS message, and calculate a message digest based on the authentication information. The calculated value may be transmitted to the call quality prediction server 300.
- the call quality prediction server 300 receives the message digest value calculated from the Internet phone terminal 100
- the call quality prediction server 300 performs authentication process received from the Internet phone server 200 while performing step 3 of FIG. 3 in the middle of step 2 of FIG. 3. Based on the self-calculated message digest, SIP authentication can be performed on the basis.
- the call quality prediction server 300 may perform a transmission test using the NAT pinhole generated in the process of receiving a message digest from the Internet phone terminal 100 if the SIP authentication is successful, After performing the transmission test, if necessary, the call quality prediction result may be included in the SIP 200 OK message through the Internet phone server 200 and transmitted to the Internet phone terminal 100. Also in the case of FIG. 4, the same method is possible.
- the Internet phone terminal 100 needs to first receive the SIP 200 OK message in order to receive the authentication information and the address of the call quality prediction server 300.
- the Internet phone server 200 may transmit the authentication information and the address of the call quality prediction server 300 in advance while first transmitting a 401 Unauthorized response to the Internet phone terminal 100 in response to the initial SIP OPTIONS message. In this case, it is possible to perform a transmission test in the middle of a second SIP OPTIONS transaction.
- the Internet phone server 200 skips the authentication process and if there is no NAT device between the Internet phone terminal 100 and the call quality prediction server 300, the Internet through the SIP OPTIONS message in step 2 of FIG.
- the process of FIG. 5 may be performed in the middle of the process of FIG. 5, and the address of the Internet telephone terminal 100 may be transmitted to the call quality prediction server 300, and the call quality prediction may be performed.
- the server 300 may perform a transmission test for predicting call quality with the Internet phone terminal 100, and include the prediction result in the SIP 200 OK message of step 2 of FIG. 5 through the Internet phone server 200. It can transmit to the telephone terminal 100. 6 can also be performed in the same manner.
- a GPRS attach process is further performed. It consists of a PDP (Packet Data Protocol) Context Activate process between the Internet phone terminal 100 and a Serving GPRS Support Node (SGSN) and a PDP Context Create process between the SGSN and a Gateway GPRS Support Node (GGSN).
- PDP Packet Data Protocol
- the Internet phone terminal 100 may receive an IP address and a port number for a transmission test, and generate a transmission test session using the same to predict the call quality. This process is necessary to make the call quality prediction in the same environment as the actual call creation, and because it may be given a private IP through GGSN according to the policy of the carrier, NAT pinhole as in the case of using private IP in wired network. Generation may be necessary.
- Step 2 of FIG. 3 transmits and receives codec information for a transmission test.
- a QOS Quality Of Service
- a QOS-related technologies such as Differentiated Service, QOS can be guaranteed so that transmission tests can be performed in the same environment as actual phone calls between the Internet phone terminals 100. This QOS process can be applied to the whole of the present invention.
- the transmission test for the prediction of the call quality for each section between the SIP network components including the Internet phone terminal 100 should be performed after providing the same QOS.
- FIGS. 7 to 12 are diagrams for explaining a process of estimating call quality between arbitrary Internet telephone terminals. It is assumed that the Internet phone terminal 100 of FIGS. 7 to 12 transmits and receives a SIP message in an IMS network or a wired network.
- Figure 7 is a message transmission and reception procedure for performing a transmission test for the prediction of the call quality between any originating terminal and the destination terminal in the IMS network and the call quality with the destination terminal through a message such as SIP OPTIONS
- the IMS component sends the corresponding SIP OPTIONS message to the delivery path of the SIP INVITE message, and each component of the IMS network through which the SIP OPTIONS message passes relays the actual call between the calling terminal and the called terminal.
- Media Relay for various reasons such as carrier's policy, NAT, Topology Hiding, Media Transcoding, etc.
- it is set as boundary of call quality transmission interval (terminal is basically set as boundary of transmission interval) and conducts transmission test for each interval.
- Each call quality prediction index by applying the average value or simply the lowest value. Sum the currency quality prediction index. 7 illustrates a process in which both P-CSCFs to which a calling terminal and a called terminal belong to perform a Media Relay for reasons such as NAT.
- FIG. 8 is mostly the same as FIG. 7, and in case of a general packet radio service (GPRS) network, a public IP is directly set through a gateway GPRS support node (GGSN) or an SBC is connected between a terminal and a P-CSCF.
- GPRS general packet radio service
- GGSN gateway GPRS support node
- SBC Media Relay
- any Internet telephony terminal 102, 106 may correspond to at least two of the plurality of Internet telephony terminals 100 in FIG. 1, and a particular Internet telephony terminal 104, 108 may be any It is not included in the Internet telephony terminal 102, 106, but may correspond to at least two of the plurality of Internet telephony terminal 100 in FIG.
- the Internet calling terminal 102 and 106 will be described as the calling terminal 102 and 106, and the specific Internet calling terminal 104 and 108 will be described as the called terminal 104 and 108. Do it.
- the SIP transaction request unit 21 may record the information of the originating terminals 102 and 106 in the From header, and after recording the information of the terminating terminals 104 and 108 in the To header, in a manner similar to that of FIGS. 3 to 6. You can request a call quality prediction by adding a header such as X-Quality-Test.
- the header of the X-Quality-Test may be recorded in the body of the SIP message as in the case of FIGS. 3 to 6, and since the meaning of the header is the same, the body of the X-Quality-Test is added to the SIP message in the future Skip the process.
- the header of X-Quality-Test can be configured in the following format.
- Request means a call quality prediction request
- addr1 means its own IP address, voice port information and video port information to be used in the call quality prediction request. That is, addr1 includes its own IP address (1.1.1.1), voice port (10) and video port (11), acodec uses ulaw codec for voice, and vcodec uses h263 codec for video. .
- Its IP address can be either private or public IP, and a Session Border Controller (SBC) exists between the calling terminal 102, 106 and the proxy CSCF 400, 404 and the calling terminal 102, 106. If the) has a private IP, the originating terminal (102, 106) can record the private IP as it is, after which the SBC can be converted to the public IP and transmitted to the P-CSCF (400, 404). In this case, since the P-CSCFs 400 and 404 do not perform the media relay by recognizing that the calling terminals 102 and 106 have the public IP, the process of FIG. 8 may be applied.
- SBC Session Border Controller
- the calling terminal 102 may perform SIP authentication first as in the case of FIGS. 3 to 6.
- the P-CSCF 400 may request authentication by transmitting a 401 Unauthorized response to the originating terminal 102 in response to the SIP OPTIONS message, and the originating terminal 102 may respond to the SIP authentication request.
- the SIP OPTIONS message may be transmitted to the P-CSCF 400 again including the authentication information.
- the P-CSCF 400 may continue to perform the following process, and if the authentication fails, an error such as 403 Forbidden (Bad auth) may fail.
- the message may be transmitted to the calling terminal 102 to reject the call quality prediction request. Afterwards, the same can be applied to the SIP authentication process after FIG. 8, and further description of the SIP authentication will be omitted.
- the P-CSCF 400 receives the SIP transaction request including the call quality prediction request, and the originating terminal 102 managed by the P-CSCF 400 includes the called terminal 104 recorded in the SIP transaction request.
- the call quality can be predicted through a transmission test with the calling terminal 102.
- the transmission test is the same as the method described in FIGS. 3 and 4.
- a P-CSCF or IP-PBX is a SIP configured as an IP-PBX when the originating terminal 102 is given a private IP through a Gateway GPRS Support Node (GGSN) and there is no SBC in between performing NAT Traversal.
- GGSN Gateway GPRS Support Node
- Media Relay can be performed to solve NAT Traversal.
- the P-CSCF or IP-PBX manages the server that performs the call quality prediction method of FIG. 4 and performs only the media relay, the call quality prediction method of FIG. 3 may be performed.
- the addr1 field of the X-Quality-Test header is not necessary at all, and thus it is ignored.
- the P-CSCF 400 may store the result in its own cache memory, and the IP address of the P-CSCF 400 performing the Media Relay ( 30.30.30.30) and audio and video ports 1000 and 1001 may be stored in the X-Quality-Test header in the following format.
- the P-CSCF 400 may transmit the SIP OPTIONS message to the next destination in the same manner as the transmission path of the SIP transaction request message.
- the P-CSCF 400 transmits the SIP OPTIONS message first except for the Call Quality (CQTY) field and then inserts the CQTY field in the process of transmitting a 200 OK response later for promptness of call quality prediction.
- the CQTY field includes voice quality (8.9) and video quality (8.2)
- the addr2 field includes IP address (30.30.30.30), voice port 1000, and video port 1001 of the calling party P-CSCF 400, respectively. Means.
- the originating terminal 106 itself has a public IP or an SBS exists between the originating terminal 106 and the P-CSCF 404 to perform NAT traversal, and the originating terminal 106 performs a public IP.
- the media relay of the P-CSCF 404 is not required because the P-CSCF 404 is recognized. Therefore, the P-CSCF 404 of FIG. 8 may not be set as the boundary of the section for the call quality prediction, and the call quality prediction between the calling terminal 106 and the P-CSCF 404 may not be performed. .
- the calling terminal 106 has a private IP, it may be configured in the same SUBNET environment, and thus a media relay may not be required.
- a session for transmitting media between the originating terminal 106 and the SBC can be set up in advance to create and maintain a NAT pinhole.
- the SBC can set the Media Relay address of the asset. You can write to the addr1 field (for example, you can change the address of an existing calling party to your own address) and send it to the P-CSCF (404).
- the SBC address is used to create a real call, when a collision is expected, the SBC may create a NAT pinhole for a transmission test session in consultation with the originating terminal 106, and the address of the SBC may be used. Can be set in the addr1 field of the X-Quality-Test header.
- the originating terminal 106 may transmit the S-CSCF 504 as it is if the X-Quality-Test header of the SIP OPTIONS message transmitted to the P-CSCF 404 is as follows.
- the next destination of the SIP OPTIONS message in the originating P-CSCF 400, 404 is the S-CSCF 500, 504 belonging to the home network of the originating terminal 102, 106.
- the next destination is the I-CSCH (600, 602) of the domain to which the destination terminal (104, 108) belongs, S-CSCF (502, 506), to which the destination terminal (104, 108) belongs, through the HSS query,
- the P-CSCFs 402 and 406 to which the destination terminals 104 and 108 belong may be transmitted in the order of the destination terminals 104 and 108.
- the P-CSCF to which the originating terminal 102 belongs as follows in the case of FIG. 7 up to the destination P-CSCF 402 and 406 as shown in FIG. 400 can be transmitted as recorded.
- addr1 is an address of the calling terminal 102
- addr2 is an address of the P-CSCF 400 belonging to the calling terminal 102
- CQTY means a call quality prediction result calculated in step 1 of FIG.
- the P-CSCF 404 to which the originating terminal 106 belongs may be transmitted as recorded.
- addr1 means the address of the calling terminal 106.
- step 3 of FIG. 7 if the called P-CSCF 402 performs a Media Relay for the reason that the called terminal 104 has a private IP, the called terminal 104 and the P- may be connected to each other by the method of FIGS. 3 and 4.
- the CSCF 402 may predict call quality and store the result (8.1 for voice and 8.2 for video) in the cache memory.
- the called party P-CSCF 402 transmits the call quality prediction to the calling party P-CSCF 400 recorded in addr2 of the X-Quality-Test header of the received SIP OPTIONS message.
- the test can be performed and the results (8.4 for audio and 8.5 for video) can be stored in cache memory.
- NAT traversal does not generally exist, a NAT pinhole generation process is not necessary and a transfer test can be performed to the address recorded in addr2.
- the called party P-CSCF 402 may perform call quality prediction with the calling party P-CSCF 400 through step 2 of FIG. 7, and performs a transmission test with the called terminal 104 through step 3 of FIG. 7. Instead of performing it directly, the P-CSCF 402 performs only step 2 of FIG. 7, records the result and its address in the SIP OPTIONS message, and then transfers the message to the called terminal 104 and the called terminal 104 transmits the P-CSCF 402. ) And call quality.
- a method using a shared secret is not appropriate and exchanges a certificate issued by a CA derived from a mutually trusted CA (Certificate Authority).
- authentication can be performed by using a certificate method. For example, if a challenge is generated and sent, the receiving party encrypts and retransmits it with its own private key, decrypts with the public key of the receiving party's certificate, and verifies the original challenge.
- addr1 denotes the address of the calling terminal 102
- addr2 denotes the address of the calling P-CSCF 400
- addr3 denotes the address of the called P-CSCF 402
- addr4 denotes the address of the called terminal 104.
- FIG. do the three CQTY fields are respectively arranged in sequence between the calling terminal 102 and the calling P-CSCF 400, between the calling P-CSCF 400 and the called P-CSCF 402, and called P-CSCF.
- a call quality prediction result between 402 and the called terminal 104 is meant.
- the X-Quality-Test header may be included in the 200 OK response to the SIP OPTIONS message and transmitted to the originating terminal 102. It can be seen that the call quality prediction result for each section between the calling terminal 102 and the called terminal 104 is completely included in the X-Quality-Test header.
- the call quality prediction index of each section is stored in the cache by the subject who performed the call quality prediction, and when the call quality prediction request for the same target is received within a certain time, the value stored in the cache is used as it is without performing the actual transmission test. Unnecessary traffic can be reduced. For example, when another calling terminal 102 belonging to the same calling party P-CSCF 400 requests call quality prediction to the same called terminal 104, the calling P-CSCF 400 and the calling terminal 102 are called. Only the call quality prediction can be performed in the meantime, and the remaining two times can use the value stored in cache memory.
- the call quality prediction result with the called terminal 104 is also stored.
- the calling party P-CSCF 400 refers to the call quality prediction result with the called party P-CSCF 402 in the SIP 200 OK response message and stores it in the cache.
- the calling party P-CSCF 400 sums the call quality prediction results through the steps 2 and 3 of FIG. 7 with reference to the SIP 200 OK message, and thus, between the calling party P-CSCF 400 and the called terminal 104.
- Call quality prediction results can also be stored in cache memory. In this case, when another calling terminal belonging to the calling party P-CSCF 400 requests call quality prediction for the same called terminal 104, only step 1 of FIG. 7 is performed and the calling party P-CSCF 400 is stored in the cache.
- the SIP 200 OK response is immediately transmitted to the calling terminal 102 and the call quality prediction is terminated.
- This cache utilization structure can be applied to the whole of the present invention.
- the destination terminal 108 since the destination terminal 108 has a public IP by itself or through an SBC, and thus there is no node performing a media relay in the middle, the following X-Quality-Test header is transmitted to the destination terminal 108 as it is. Can be.
- the called terminal 108 may perform a transmission test for predicting call quality with the calling terminal 106 with reference to addr1. If the called party's SBC exists and the called party's SBC also generates NAT pinholes for the transmission test session in consultation with the destination terminal 108 as described in step 1 of FIG. 8, the transmission test is performed using the corresponding address. That is, in order for the called party's SBC to participate in the transmission test, the addr1 field of the X-Quality-Test header is changed to its own address information and transmitted to the called terminal 108, and the called terminal 108 sends the address of the corresponding SBC.
- the SBC participates in the transmission test by performing a media relay to the calling terminal 106 as it is.
- the call quality prediction result is voice 8.8, video 8.9
- private IP address for transmission test of the destination terminal 108 is 192.168.1.1 voice port information is 10
- video port information is 11, and called party SBC.
- the public IP to be converted is 50.50.50.50
- the voice port information is 20, and the video port information is 21, a 200 OK message including the following X-Quality-Test header may be transmitted from the called terminal 108 to the called party's SBC. .
- the called party SBC may modify and add the add1 and addr2 fields of the X-Quality-Test header to the called party P-CSCF 406 from the called party SBC.
- the 200 OK message is transmitted to the calling terminal 106 as it is to complete the call quality prediction process.
- FIG. 9 illustrates a process of performing call quality prediction between an arbitrary Internet telephony terminal and a specific Internet telephony terminal.
- each terminal has a public IP and an IBCF (Interconnection Border Control Function) that plays a role of a border controller between IMS networks for reasons such as security, NAT traversal, and topology hiding between carriers.
- IBCF Interconnection Border Control Function
- the IBCF of each service provider performs a media relay
- IBCF performs a media relay through interworking with an IBGF (Interconnection Border Gateway Function) or TrGW (Transition Gateway) to predict call quality.
- the transmission test interval is set to the calling terminal-calling party IBGF1-called party IBGF2-called terminal to indicate the process of performing the transmission test for each section.
- FIG. 9 shows that between the originating terminal 110 and the originating CSCF1 700 or the terminating terminal, for example, both the arbitrary Internet telephony terminal 110 and the specific Internet telephony terminal 112 have a public IP directly or indirectly.
- the IBCF Interconnection Border Control Function
- the IBGF Interconnection Border Gateway Function
- media relay is generated when media transcoding is required in the middle of a call transmission path as well as IBCF, and thus the call quality prediction process is performed similarly to the case of IBCF.
- the IBGF generally performs a media relay through interworking with the IBCF, and the X-Quality-Test header of the SIP OPTIONS message arriving at the calling party IBCF1 800 through step 1 of FIG. 9 is as follows.
- the result can be received from the IBGF1 900 and the X-Quality-Test header can be constructed and transmitted to the destination side IBCF2 802 as follows.
- the addr1 information may be deleted and transmitted to the IBCF2 802 as follows for consistency.
- the existing addr2 may be addr1.
- IBCF1 (800) performs media transcoding (transcoding ulaw to iLBC for audio and h.263 for h.261 for video)
- the SIP transmitted by IBCF1 (800) to IBCF2 (802) The acodec and vcodec fields of the OPTIONS message are transferred to iLBC and h261 so that IBCF1 800 and IBCF2 802 can perform call quality prediction with iLBC and h261 in the same way as the actual currency. This field change must be memorized and restored when the 200 OK response message is transmitted.
- the audio codec and the video codec are arbitrarily determined by the calling terminal or the SIP AS (Application Server) requesting the call quality prediction
- another SIP OPTIONS Transaction is performed before the SIP OPTIONS message transmission for the call quality prediction, as in the case of an actual call. Record and transmit all supported codec lists of the calling terminal, and if the called terminal transmits the intersection with its supportable codec list to the calling terminal in response to the SIP OPTIONS message, the calling terminal sends a random message among them.
- Call quality prediction can be performed by selecting a codec.
- the call quality prediction process can be carried out simultaneously with the delivery test and the delivery of SIP OPTIONS messages.
- the address of the server performing the media relay is always included and transmitted, and thus is set as a boundary of a section for predicting call quality.
- the transmission test may be about 10 seconds, and when the transmission test is simultaneously performed for each section, the final 200 OK response may be transmitted to the originating terminal in a line not exceeding the timer f.
- the transfer test subject remembers the result and inserts the CQTY field at the appropriate position in the 200 OK response message.
- CSCF2 702 transfers to IBCF2 802 as it is. If IBCF2 802 is acting as Topology Hiding like IBCF1 800, delete addr3 to hide internal network information as shown below and then IBCF1 800 ) Can be delivered.
- the IBCF1 800 restores the original address of the calling terminal 110 deleted above for Topology Hiding to the CSCF1 700 by restoring the original address as below, and the CSCF1 700 may be delivered to the calling terminal 110 as it is.
- the calling terminal 110 may predict call quality by using an average or lowest value according to a policy by referring to call quality prediction for each section.
- FIG. 10 shows a process of performing call quality prediction when an Internet telephony terminal exists in an analog circuit switched network such as a PSTN.
- FIG. 10 illustrates a case in which a called terminal belongs to a CS (Circuit Switching) domain.
- a call is transmitted to a gateway gateway control function (BGCF) and a SIP signal of a call from the BGCF is MGCF.
- SGW gateway gateway control function
- SGW Signaling Gateway
- MGW Media Gateway
- the SIP OPTIONS message is transmitted to the breakout gateway control function (BGCF) 1000, and the next MGCF 1100 (media gateway control function) may be selected and delivered.
- BGCF breakout gateway control function
- MGW Media Gateway
- FIG. 10 corresponds to a case in which there is no Media Relay between the calling terminal 114 and the calling P-CSCF1 408 due to the originating terminal 114 having a public IP directly or indirectly, and the following X-Quality.
- the OPTIONS message including the -Test header is transmitted to the P-CSCF 408 through step 1 of FIG. 10, and is then transmitted to the MGCF 1100 without modification.
- the MGCF 803 obtains the voice 8.0 video 9.0 as a result of performing the call quality prediction
- the MGCF 803 transmits a 200 OK message to the BGCF 1000 including the X-Quality-Test header as follows and the calling terminal 114 in turn. The process of performing the call quality prediction by transferring it as it is until the end.
- the call quality prediction since the call quality prediction is not completed until the final destination terminal, other SIP Error messages may be transmitted with information such as a failure point (MGCF) and a failure reason (switched to a circuit switched network) instead of the 200 OK message.
- MGCF failure point
- a failure reason switching to a circuit switched network
- the content of the above X-Quality-Test header is included as it is to transmit the call quality prediction result to the MGW 1300.
- the call quality prediction may be prohibited in certain areas for the policy reasons of the carrier.
- FIG. 11 shows a process of performing call quality prediction by an external SIP AS. More specifically, FIG. 11 illustrates a case in which a SIP application server or the like, rather than a calling terminal, requests a call quality prediction between a specific calling terminal and a called terminal.
- the SIP AS 1500, Application Server, etc. call quality from a specific originating terminal 116 to a specific terminating terminal 118 through an arbitrary communication protocol. You can also request a prediction.
- the IMS network 1600 may first obtain information of the P-CSCF 410 to which the originating terminal 116 belongs. It obtains the address of the Home Subscriber Server (HSS) through the Subscriber Location Function (SLF) in the domain to which the calling terminal 116 belongs, queries the HSS to obtain the address of the S-CSCF of the calling party, and then the P-CSCF 410 You just need to get the information.
- HSS Home Subscriber Server
- SMF Subscriber Location Function
- a similar method may be used to obtain information of a SIP proxy to which a calling subscriber belongs, and then the SIP AS 1500 may call an arbitrary calling terminal 116 to the calling SIP Proxy or P-CSCF 410.
- the call quality prediction between the called terminals 118 is requested.
- the P-CSCF ( 410 requests the call quality prediction to the calling terminal (116).
- the SIP OPTIONS message is used, the To header and the Request URI are the addresses of the calling terminal 116, and the X-Quality-Test header can be configured as follows.
- Request is a call quality prediction request
- acodec is a voice codec
- vcodec is a video codec
- peer means information of a called terminal.
- the calling terminal 116 may perform call quality prediction between the called terminal 118 and itself 116 through step 3 of FIG. 11.
- Step 3 of FIG. 11 is replaced with the processes of FIGS. 7, 8, 9, 10, and 12 as the case may be.
- the calling terminal 116 may transmit the result of the call quality prediction request received through step 2 of FIG. 11 to the P-CSCF 410.
- the X-Quality-Test header of the 200 OK message can be configured as follows.
- the call quality prediction result may be included in each section together with the address information of the boundary of the section.
- the call quality prediction result may be transmitted to the SIP AS 1500 through step 5 of FIG.
- FIG. 12 is a diagram illustrating a process of reducing call quality prediction traffic
- FIG. 13 is a diagram illustrating a comparison of UDP packets according to an embodiment of the present invention. More specifically, FIG. 12 illustrates a process of performing call quality prediction by setting an SBC for performing media relay as a boundary of a section for call quality prediction.
- the SBC is responsible for the NAT traversal of the terminal and actually performs the media relay in the actual call connection process, and actually performs the media relay in the transmission test for predicting the call quality. If a large number of SBCs are installed and a plurality of terminals are interworked with the SBC, the call quality prediction traffic can be reduced by setting the SBC to the boundary of the call quality prediction interval and managing call quality prediction records between the SBCs through a cache. .
- step 1 of FIG. 12 the calling terminal 120 requests the call quality prediction with the called terminal 122, the information of the called terminal 122 is set in the To header of the SIP OPTIONS message, and the X-Quality of the SIP OPTIONS message is shown.
- -Test header can be composed as the following.
- the calling party SBC1 1700 When the calling party SBC1 1700 receives the SIP OPTIONS message including the above X-Quality-Test, it ignores the addr1 field and talks between the calling terminal 120 and itself 1700 in the method of FIGS. 3 and 4. Prediction is performed (voice 8.9, video 8.2) and the X-Quality-Test header is constructed as follows and forwarded to the originating Proxy1 (1800).
- the called party SBC2 1702 may perform a call quality prediction with the called terminal 122 and immediately transmit a 200 OK message to the Proxy2 1802.
- the destination terminal 122 performs a transmission test with the destination SBC2 1702 through the process 3 in FIG. 11 and records the result (voice 8.5, video 8.6) as follows to send a SIP 200 OK message to the destination SBC2 1702. send.
- the 200 OK message is transmitted to the calling terminal 120 as it is, the call quality prediction process is terminated.
- IPSEC Internet Protocol Security
- SRTP Secure Real-Time Transport Protocol
- SA IPSEC Security Association
- ESP Encapsulating Security Payload
- AH Authentication Header
- ULAW ULAW
- a call quality prediction test is performed for a time of 10 seconds
- 500 packets are generated, and dummy data included in each packet includes transmission time information of the current sender.
- the sender compares the received time for each 500 packets with the sending time included in the dummy data of the packet, and calculates an average round trip time (RTT).
- RTT round trip time
- the deviation (distance) value between the RTT value and the average RTT value can be obtained and then used to predict the call quality. If the wireless network is included, the integrity of the original data can also be included in the call quality prediction process.
- UDP packet transmission can be applied according to network conditions similarly to actual cases.
- I-frame Intra Frame
- P-frame Predictive Frame
- GFP group of pictures
- B-frames Bi-directionally predictive frames
- UDP packets can also be transmitted as closely as possible to video frames during actual calls by adjusting the transmission interval and packet size. See FIG. 13 for a comparison of the actual RTP packet and the UDP packet used in the present invention.
- FIG. 14 is a diagram expressing in more detail between the Internet phone terminals 124 and 126 and the Internet phone server 200.
- the Internet phone terminal 1 124 corresponds to a case of an Internet phone terminal connected through a wireless network such as a smart phone.
- Internet phone terminal 1 (124) is connected to a BTS (1900, Base Transceiver Station) or Node B (1900) wirelessly, BTS (2000, Base Station Controller) or Node B for managing a wireless network through the BTS (1900) Through 1900, a wired network is connected via a Radio Network Controller (RNC) that manages a wireless network.
- RNC Radio Network Controller
- the Internet phone terminal 1 124 may connect to a mobile switching center (MSC) (omitted in FIG. 14) to access a circuit switched network, or may use an SGSN 2100 and a GGSN (for access to a packet switched network such as the Internet).
- MSC mobile switching center
- 2200 is assigned an IP address and is directly connected to the Internet telephone server 200 through the Internet configured as an L3 switch, an L2 switch, an L4 switch such as a router 2600, or via an SBC 1704 in some cases. Done.
- the Internet phone server 200 is a server that performs roles such as P-CSCF of IMS network, SIP Proxy of wired network, and IP-PBX for private enterprise, and from the SIP protocol point of view, Internet Phone Terminal 1 (124) and SIP in SIP network.
- Internet phone terminal 1 (124) may be given a private IP through the GGSN (2200) for reasons of the carrier's policy, and then converted to a public IP through NAT equipment to access the Internet phone server 200 via the Internet.
- the SBC 1704 may be connected to the Internet phone server 200.
- the media is also via the SBC, and even though there is a NAT traversal problem, when the SBC 1704 is not used, the Internet telephone server 200 when the call is generated. You can also relay media.
- the Internet phone terminal 2 126 is connected to a wired network through an access network such as xDSL via a wired / wireless router 2300 and a DSL modem 2400.
- Digital subscriber line access multiplexer (DSLAM) 2500 is installed in a telecommunication company and connected to the DSL modem 2400 to provide Internet access service to subscribers.
- the SBC 1704 is directly connected to the Internet telephone server 200 or in some cases, through the Internet composed of an L3 switch, an L2 switch, an L4 switch such as a router 2600, or the like. Connection is via.
- the telecommunication company can provide the subscriber with a private or public IP through the DSL modem 2400. Even if the public IP is used, the Internet phone terminal 2 126 grants the private IP when the router is used. Will receive.
- the Internet phone server 200 may be connected via the SBC 1704 or the Internet phone server 200 may relay the media.
- the Internet telephone server 200 in order to predict the call quality state of any Internet telephone terminal 124, 126 before the call is actually generated.
- 1704 and the call quality are predicted through the transmission test for the section between the Internet phone terminals 124 and 126 to be used as a reference for the call quality state of the Internet phone terminals 124 and 126 in the idle state. That is, even if the other party connects with the other party before the call partner is determined, the call quality is predicted for the longest common media transmission path.
- the Internet phone terminal 1 124 has a public IP through the GGSN 2200 for the wireless network, or the Internet phone terminal 2 126 has a public IP through the DSL Modem 2400 in the case of a wired network, for the same reason as in the IPv6 environment.
- the media may be directly transmitted to the counterpart terminal without passing through the SBC 1704 or the Internet telephone server 200, so that the call quality prediction interval of the present invention may not overlap. Rather than measuring through separate call quality measurement equipment, there is an advantage that can reflect the state of the Internet phone server 200.
- 15 is a flowchart illustrating a process of predicting call quality for the other side according to an embodiment of the present invention.
- the method of predicting call quality may be performed in one of the first and second Internet communication devices, and may predict the call quality for the other.
- the SIP transaction request unit 21 may optionally include one address information (IP address and port number) for predicting one call quality, and performs a SIP (Session Initiation Protocol) transaction request including a call quality prediction request.
- the transmission can be made to the other side (step S1501).
- the SIP transaction response receiver 22 may receive a SIP transaction response including the other address information (IP address, Port number) in response to the SIP transaction request from the other party (step S1502).
- the call quality predicting unit 23 uses 1 address information and 2 other address information to determine 1) an RTP packet irrespective of whether or not the actual media is included, 2) an RTCP packet, or 3) an UDP packet that simulates RTP for the other (hereinafter, , The transmission test packet) to perform the transmission test with the other through the communication can be predicted the call quality (step S1503).
- the SIP transaction response transmitter 24 may use the address information of one side after step (a) to obtain the call quality prediction result by performing step (c) first, and then send the result to one side by including the result in the SIP transaction response. (Step S1504).
- the call selection determiner 25 may determine the call selection for the other by storing the predicted call quality based on the packet loss rate and the transmission delay time for the N transmission test packets (step S1505).
- 16 is a flowchart illustrating a process of estimating call quality for a plurality of Internet telephony terminals without a call generation process according to another embodiment of the present invention.
- the method of predicting call quality may be performed in an Internet telephone server or an SBC, and may predict call quality for a plurality of Internet telephone terminals without a call generation process.
- the call quality predicting unit 23 performs 1) RTP packets irrespective of whether or not the actual media is included in the Internet telephone server or the section between the SBC and the Internet telephone terminal.
- the communication quality can be predicted by performing a transmission test with each of the plurality of Internet telephone terminals through communication through a packet (hereinafter, a transmission test packet) (step S1601).
- the call selection determining unit 25 provides a call result prediction result to the call counterpart based on the call quality prediction for each of the plurality of Internet phone terminals, or provides information on the available Internet phone terminals having the best call quality. May be performed or an attempt of connection may be performed (step S1602).
- call quality prediction system 20 call quality prediction service device
- SIP transaction request unit 22 SIP transaction response receiver
- 200 Internet phone server 300: call quality prediction server
- P-CSCF Proxy CSCF
- I-CSCF Interrogating CSCF
- CSCF Call Session Control Function
- IBBC Interconnection Border Control Function
- IBGF Interconnection Border Gateway Function
- Border Gateway Control Function 1000: Border Gateway Control Function (BGCF)
- MGCF Media Gateway Control Function
- SGW Signaling Gateway
- MGW Media Gateway
- PSTN Public Switched Telephone Network
- SBC Session Border Controller
- BTS Base Transceiver Station
- Node B Node B
- BSC Base Station Controller
- RNC Radio Network Controller
- SGSN Serving GPRS Support Node
- GGSN Gateway GPRS Support Node
- DSLAM Digital Subscriber Line Access Multiplexer
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Tourism & Hospitality (AREA)
- Multimedia (AREA)
- Marketing (AREA)
- Economics (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Primary Health Care (AREA)
- Human Resources & Organizations (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Development Economics (AREA)
- General Engineering & Computer Science (AREA)
- Educational Administration (AREA)
- Educational Technology (AREA)
- Game Theory and Decision Science (AREA)
- Entrepreneurship & Innovation (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Databases & Information Systems (AREA)
- Environmental & Geological Engineering (AREA)
- Quality & Reliability (AREA)
- Cardiology (AREA)
- Telephonic Communication Services (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Operations Research (AREA)
Abstract
제1 및 제2 인터넷 통신장치들 중 일방에서 수행되고, 타방에 대한 통화품질을 예측하는 방법은 (a) 상기 일방의 통화품질 예측을 위한 상기 일방의 주소 정보(IP주소, Port번호)를 선택적으로 포함할 수 있고, 통화품질 예측요구를 포함하는 SIP(Session Initiation Protocol) 트랜잭션 요청을 타방에 전송하는 단계, (b) 상기 타방으로부터 상기 SIP 트랜잭션 요청에 응답하여 상기 타방의 주소 정보(IP주소, Port번호)를 포함하는 SIP 트랜잭션 응답을 수신하는 단계 및 (c) 상기 일방의 주소 정보와 상기 타방의 주소 정보를 통해 1) 실제 미디어의 포함 여부와 관계없는 RTP 패킷 2) RTCP 패킷 또는 3) 상기 타방에 대해 RTP를 가장한 가장 UDP 패킷(이하, 전송시험패킷)을 통한 통신을 통해 상기 타방과의 전송시험을 수행하여 통화품질을 예측하는 단계 및 (d) 또는 (a) 단계 이후 상기 일방의 주소 정보를 사용하여 상기 타방은 (c) 단계를 먼저 수행하여 통화품질 예측 결과를 구한 후에 결과를 상기 SIP 트랜잭션 응답에 포함하여 상기 일방에게 전송하는 단계를 포함한다.
Description
본 발명은 통화품질을 예측하는 기술에 관한 것으로, 보다 상세하게는, 인터넷 전화 단말을 포함하여 인터넷 전화망을 구성하는 인터넷 통신장치들 상호간에 실제 호 생성 과정없이 SIP 트랜잭션 요청과 SIP 트랜잭션 응답을 이용하는 전송시험을 통해 통화품질을 예측할 수 있는 통화품질을 예측하는 방법 및 이를 수행하는 통화품질 예측서비스 장치에 관한 것이다.
최근 구형 아날로그 및 SS7(Signaling System 7) 등 디지털 방식에 기반한 회선교환(Circuit Switching) 방식의 전화는 지속적으로 쇠퇴하고, SIP 프로토콜을 비롯한 IP(Internet Protocol)망 기반의 패킷 교환(Packet Switching) 방식의 전화는 확산되고 있다.
종래의 SIP 프로토콜을 사용한 인터넷 전화는 실제 대역폭이 물리적으로 보장된 회선교환 방식의 전화에 비해 단말의 과부화 또는 패킷 교환망에서 L2, L3, L4 스위치와 같은 중간 노드들의 시스템 및 네트워크 혼잡상태에 의해 통화품질이 나빠질 가능성이 상존하고 있다.
한국등록특허 제10-1011344호는 전화 통화 서비스 망의 통화 품질 측정 및 안내 시스템에 관한 것으로, 전화 통화자의 요청에 따라 콜센터에서 가입자의 통화 품질을 측정하여 음성 안내하도록 함으로써 콜센터 상담원과의 통화 대기시간 단축을 통한 고객만족도 향상, 상당원의 상담 전화 감소를 통한 비용절감 및 콜센터의 상담원 운영 효율을 달성할 수 있는 기술을 개시한다.
본 발명의 일 실시예는 이러한 문제점을 극복하기 위해, 복수의 인터넷 전화 착신 단말들로 구성된 경우에는 복수의 인터넷 전화 착신 단말들 각각에 관한 통화품질 예측지수를 인터넷 전화 발신 단말에 제공함으로써 통화품질이 우수한 특정 인터넷 전화 착신 단말을 선택할 수 있는 기술을 제공하고자 한다.
본 발명의 일 실시예는 실제 통화를 연결하기 전에 미리 통화 품질을 예측하게 됨으로써 통화 품질이 일정 기준치보다 하회하는 것으로 예상되는 경우 다른 방안을 강구할 수 있는 기회를 제공할 수 있는 통화품질을 예측하는 방법 및 이를 수행하는 통화품질 예측서비스 장치를 제공하고자 한다.
본 발명의 일 실시예는 통화에서 미디어의 예상 경로 상에서 구간별로 통화품질을 예측하고 캐시 메모리를 통해 정해진 만료시간동안 관리함으로써 인터넷 전화 단말 사이의 통화품질 예측에서 거의 동시에 중복되는 구간에 대한 불필요한 예측 작업을 피할 수 있는 통화품질을 예측하는 방법 및 이를 수행하는 통화품질 예측서비스 장치를 제공하고자 한다.
본 발명의 일 실시예는 실제 호 연결 과정과 동일한 환경에서 미디어 릴레이를 수행하는 중간 노드가 존재하는 경우 구간을 구분하여 통화품질을 예측하고 결과를 캐시에 저장하여 다른 통화품질 예측 과정에서 구간이 겹치는 경우 통화품질 예측을 위한 전송시험이 중복되는 것을 방지하여 효율적인 망 운영이 가능한 통화품질을 예측하는 방법 및 이를 수행하는 통화품질 예측서비스 장치를 제공하고자 한다.
본 발명의 일 실시예는 인터넷 전화 통화 대기 상태에 있는 인터넷 전화 단말의 경우 통화품질 관점에서 현재의 상태를 측정할 수 있는 방법과 실제 통화 연결 전의 경우 발신자와 착신자 사이의 통화품질을 구간별로 예측하는 방법을 제공함으로써 실제 통화를 연결하기 전에 통화품질을 참고할 수 있는 통화품질을 예측하는 방법 및 이를 수행하는 통화품질 예측서비스 장치를 제공하고자 한다.
본 발명의 일 실시예는 인터넷 전화 단말과 인터넷 전화 서버 사이 또는 실제 통화 연결의 종단 간에 미디어 전송의 구간별로 통화를 위한 실제 미디어의 포함 여부와 상관없는 RTP/RTCP 미디어 트래픽 또는 가장 UDP 트래픽을 발생시킨 다음 각 패킷의 RTT(Round Trip Time), 패킷 손실률을 계산하고 무선 구간이 존재할 경우 패킷의 훼손 가능성에 대비하여 원본 데이터의 무결성을 검사할 수 있는 통화품질을 예측하는 방법 및 이를 수행하는 통화품질 예측서비스 장치를 제공하고자 한다.
본 발명의 일 실시예는 가입자의 Presence 정보에 포함하여 SIP Event 통지 체계를 이용할 수도 있고, HTTP 서버 등과 연동된 SIP AS를 통해 통화품질 상태를 제공할 수 있는 통화품질을 예측하는 방법 및 이를 수행하는 통화품질 예측서비스 장치를 제공하고자 한다.
실시예들 중에서, 제1 및 제2 인터넷 통신장치들 중 일방에서 수행되고, 타방에 대한 통화품질을 예측하는 방법은 (a) 상기 일방의 통화품질 예측을 위한 상기 일방의 주소 정보(IP주소, Port번호)를 선택적으로 포함할 수 있고, 통화품질 예측요구를 포함하는 SIP(Session Initiation Protocol) 트랜잭션 요청을 타방에 전송하는 단계, (b) 상기 타방으로부터 상기 SIP 트랜잭션 요청에 응답하여 상기 타방의 주소 정보(IP주소, Port번호)를 포함하는 SIP 트랜잭션 응답을 수신하는 단계, (c) 상기 일방의 주소 정보와 상기 타방의 주소 정보를 통해 1) 실제 미디어의 포함 여부와 관계없는 RTP 패킷 2) RTCP 패킷 또는 3) 상기 타방에 대해 RTP를 가장한 가장 UDP 패킷(이하, 전송시험패킷)을 통한 통신을 통해 상기 타방과의 전송시험을 수행하여 통화품질을 예측하는 단계 및 (d) 또는 (a) 단계 이후 상기 일방의 주소 정보를 사용하여 상기 타방은 (c) 단계를 먼저 수행하여 통화품질 예측 결과를 구한 후에 결과를 상기 SIP 트랜잭션 응답에 포함하여 상기 일방에게 전송하는 단계를 포함한다.
일 실시예에서, 상기 (c)단계는 상기 일방과 상기 타방이 NAT 장비를 통해 연결된 경우에는 양방 간의 상기 주소 정보를 사용하여 상기 NAT 장비를 경유한 양방 간의 통신을 통해 상기 주소 정보를 위한 NAT 핀홀(Pinhole)을 미리 생성하는 단계를 포함할 수 있다.
일 실시예에서, 상기 (c) 단계는 상기 전송시험패킷을 N 개(상기 N은 2 이상의 자연수) 순차적으로 상기 일방 또는 타방에 송신하고 각각의 RTT(Round Trip Time)와 각각에 관한 손실 여부를 확인하여 상기 통화품질을 예측하는 단계를 포함할 수 있다.
실시예들 중에서, 통화품질을 예측하는 방법은 (e) 상기 N개의 전송시험패킷에 관한 패킷 손실률 및 전송지연 시간을 기초로 예측된 예측통화품질을 저장하여 상기 타방에 대한 통화 선택을 결정하는 단계를 더 포함한다.
일 실시예에서, 상기 (e) 단계는 상기 타방이 복수의 인터넷 전화 단말들로 구성된 경우에는 상기 복수의 인터넷 전화 단말들 각각에 관한 예측통화품질을 기초로 특정 인터넷 전화 단말을 통화 선택하는 단계를 포함할 수 있다.
일 실시예에서, 상기 (e) 단계는 상기 일방과 상기 타방 간의 통신이 음성통신에 해당하는 경우에는 현재 가용 가능하고 가장 적은 전송시간 지연을 가지는 인터넷 전화 단말을 상기 특정 인터넷 전화 단말로 선택하는 단계를 더 포함할 수 있다.
일 실시예에서, 상기 (e) 단계는 상기 일방과 상기 타방 간의 통신이 데이터통신에 해당하는 경우에는 현재 가용 가능하고 가장 적은 패킷 손실률을 가지는 인터넷 전화 단말을 상기 특정 인터넷 전화 단말로 선택하는 단계를 더 포함할 수 있다.
일 실시예에서, (e) 상기 제1 및 제2 인터넷 통신장치들 간에 릴레이 장치들 중 미디어 릴레이를 수행하는 적어도 하나의 미디어 릴레이 장치가 존재하는 경우에는 상기 제1 및 제2 인터넷 통신장치들과 상기 적어도 하나의 미디어 릴레이 장치(이하, 통화품질 예측장치)에서 상호 인접한 통화품질 예측장치들 간에 형성된 릴레이 구간에 관해 상기 (a) 내지 (d) 단계들의 수행 또는 상기 (c) 단계의 단독 수행을 통해 상기 통화품질 예측을 순차적으로 완성하는 단계를 더 포함할 수 있다.
일 실시예에서, 상기 (e) 단계는 상기 릴레이 구간에 관한 통화품질 예측을 캐시에 저장하고 특정 시간이 초과되면 상기 캐시를 갱신하는 단계를 포함할 수 있다.
일 실시예에서, 상기 (e) 단계는 특정 릴레이 구간에 관한 통화품질 예측이 실패한 경우에는 상기 실패의 원인과 관련된 통화품질 예측장치에 관한 정보를 포함한 SIP 트랜잭션 응답을 수신하는 단계를 더 포함할 수 있다.
실시예들 중에서, 인터넷 전화 서버 또는 SBC에서 수행되고, 호 생성 과정없이 복수의 인터넷 전화 단말들에 대한 통화품질을 예측하는 방법은 (a) 인터넷 전화 서버 또는 SBC와 인터넷 전화 단말 사이의 구간에 대해 1) 실제 미디어의 포함 여부와 관계없는 RTP 패킷 2) RTCP 패킷 또는 3) 상기 타방에 대해 RTP를 가장한 가장 UDP 패킷(이하, 전송시험패킷)을 통한 통신을 통해 상기 복수의 인터넷 전화 단말들 각각과의 전송시험을 수행하여 통화품질을 예측하는 단계 및 (b) 상기 각각에 관한 통화품질의 예측을 기초로 통화 상대방에게 상기 통화품질의 예측 결과를 제공하거나 가장 우수한 통화품질을 가지는 가용 가능한 인터넷 전화 단말에 관한 정보제공을 수행하거나 또는 연결의 시도를 수행하는 단계를 포함한다.
실시예들 중에서, 제1 및 제2 인터넷 통신장치들 중 일방에서 수행되고, 타방에 대한 통화품질을 예측하는 방법을 수행하는 통화품질 예측서비스 장치는 상기 일방의 통화품질 예측을 위한 상기 일방의 주소 정보(IP주소, Port번호)를 선택적으로 포함할 수 있고, 통화품질 예측요구를 포함하는 SIP(Session Initiation Protocol) 트랜잭션 요청을 타방에 전송하는 SIP 트랜잭션 요청부, 상기 타방으로부터 상기 SIP 트랜잭션 요청에 응답하여 상기 타방의 주소 정보(IP주소, Port번호)를 포함하는 SIP 트랜잭션 응답을 수신하는 SIP 트랜잭션 응답 수신부;
상기 일방의 주소 정보와 상기 타방의 주소 정보를 통해 1) 실제 미디어의 포함 여부와 관계없는 RTP 패킷 2) RTCP 패킷 또는 3) 상기 타방에 대해 RTP를 가장한 가장 UDP 패킷(이하, 전송시험패킷)을 통한 통신을 통해 상기 타방과의 전송시험을 수행하여 통화품질을 예측하는 통화품질 예측부, 또는 상기 SIP 트랜잭션을 타방에 전송한 이후 상기 일방의 주소 정보를 사용하여 상기 타방은 상기 통화품질을 예측하는 것을 먼저 수행하여 통화품질 예측 결과를 구한 후에 결과를 상기 SIP 트랜잭션 응답에 포함하여 상기 일방에게 전송하는 SIP 트랜잭션 응답 전송부 및 상기 N개의 전송시험패킷에 관한 패킷 손실률 및 전송지연 시간을 기초로 예측된 예측통화품질을 저장하여 상기 타방에 대한 통화 선택을 결정하는 통화선택 결정부를 포함한다.
개시된 기술은 다음의 효과를 가질 수 있다. 다만, 특정 실시예가 다음의 효과를 전부 포함하여야 한다거나 다음의 효과만을 포함하여야 한다는 의미는 아니므로, 개시된 기술의 권리범위는 이에 의하여 제한되는 것으로 이해되어서는 아니 될 것이다.
본 발명의 일 실시예에 따른 통화품질을 예측하는 방법 및 이를 수행하는 통화품질 예측서비스 장치는 실제 통화를 연결하기 전에 미리 통화 품질을 예측하게 됨으로써 통화 품질이 일정 기준치보다 하회하는 것으로 예상되는 경우 다른 방안을 강구할 수 있는 기회를 제공할 수 있다.
본 발명의 일 실시예에 따른 통화품질을 예측하는 방법 및 이를 수행하는 통화품질 예측서비스 장치는 통화에서 미디어의 예상 경로 상에서 구간별로 통화품질을 예측하고 캐시 메모리를 통해 정해진 만료시간동안 관리함으로써 인터넷 전화 단말 사이의 통화품질 예측에서 거의 동시에 중복되는 구간에 대한 불필요한 예측 작업을 피할 수 있다.
본 발명의 일 실시예에 따른 통화품질을 예측하는 방법 및 이를 수행하는 통화품질 예측서비스 장치는 실제 호 연결 과정과 동일한 환경에서 미디어 릴레이를 수행하는 중간 노드가 존재하는 경우 구간을 구분하여 통화품질을 예측하고 결과를 캐시에 저장하여 다른 통화품질 예측 과정에서 구간이 겹치는 경우 통화품질 예측을 위한 전송시험이 중복되는 것을 방지하여 효율적인 망 운영이 가능할 수 있다.
본 발명의 일 실시예에 따른 통화품질을 예측하는 방법 및 이를 수행하는 통화품질 예측서비스 장치는 인터넷 전화 통화 대기 상태에 있는 인터넷 전화 단말의 경우 통화품질 관점에서 현재의 상태를 측정할 수 있는 방법과 실제 통화 연결 전의 경우 발신자와 착신자 사이의 통화품질을 구간별로 예측하는 방법을 제공함으로써 실제 통화를 연결하기 전에 통화품질을 참고할 수 있다.
본 발명의 일 실시예에 따른 통화품질을 예측하는 방법 및 이를 수행하는 통화품질 예측서비스 장치는 인터넷 전화 단말과 인터넷 전화 서버 사이 또는 실제 통화 연결의 종단 간에 미디어 전송의 구간별로 통화를 위한 실제 미디어의 포함 여부와 상관없는 RTP/RTCP 미디어 트래픽 또는 가장 UDP 트래픽을 발생시킨 다음 각 패킷의 RTT(Round Trip Time), 패킷 손실률을 계산하고 무선 구간이 존재할 경우 패킷의 훼손 가능성에 대비하여 원본 데이터의 무결성을 검사할 수 있다.
본 발명의 일 실시예에 따른 통화품질을 예측하는 방법 및 이를 수행하는 통화품질 예측서비스 장치는 가입자의 Presence 정보에 포함하여 SIP Event 통지 체계를 이용할 수도 있고, HTTP 서버 등과 연동된 SIP AS를 통해 통화품질 상태를 제공할 수 있다.
도 1은 본 발명의 일 실시예에 따른 통화품질 예측 시스템을 설명하는 도면이다.
도 2는 통화품질 예측서비스 장치의 구성을 설명하는 도면이다.
도 3은 인터넷 전화 서버가 요청하 통화품질 예측 서버와 임의의 인터넷 전화 단말 사이의 통화품질 예측을 위한 전송시험세션을 생성하는 과정을 설명하는 도면이다.
도 4는 인터넷 전화 서버가 요청하고 인터넷 전화 서버와 임의의 인터넷 전화 단말 사이의 통화품질 예측을 위한 전송시험세션을 생성하는 과정을 설명하는 도면이다.
도 5는 인터넷 전화 단말이 요청하고 통화품질 예측 서버와 임의의 인터넷 전화 단말 사이의 통화품질 예측을 위한 전송시험세션을 생성하는 과정을 설명하는 도면이다.
도 6은 인터넷 전화 단말이 요청하고 인터넷 전화 서버와 임의의 인터넷 전화 단말 간의 통화품질 예측을 위한 전송시험세션을 생성하는 과정을 설명하는 도면이다.
도 7 내지 도 12는 임의의 인터넷 전화 단말들 간의 통화품질을 예측하는 과정을 설명하는 도면이다.
도 13은 본 발명의 일 실시예에 따른 UDP 패킷의 비교를 나타내는 도면이다.
도 14는 인터넷 전화 단말과 인터넷 전화 서버 또는 SBC 사이의 관계를 상세하게 설명하는 도면이다.
도 15는 본 발명의 일 실시예에 따른 타방에 대한 통화품질을 예측하는 과정을 설명하는 순서도이다.
도 16은 본 발명의 다른 일 실시예에 따른 호 생성 과정없이 복수의 인터넷 전화 단말들에 대한 통화품질을 예측하는 과정을 설명하는 순서도이다.
본 발명에 관한 설명은 구조적 내지 기능적 설명을 위한 실시예에 불과하므로, 본 발명의 권리범위는 본문에 설명된 실시예에 의하여 제한되는 것으로 해석되어서는 아니 된다. 즉, 실시예는 다양한 변경이 가능하고 여러 가지 형태를 가질 수 있으므로 본 발명의 권리범위는 기술적 사상을 실현할 수 있는 균등물들을 포함하는 것으로 이해되어야 한다. 또한, 본 발명에서 제시된 목적 또는 효과는 특정 실시예가 이를 전부 포함하여야 한다거나 그러한 효과만을 포함하여야 한다는 의미는 아니므로, 본 발명의 권리범위는 이에 의하여 제한되는 것으로 이해되어서는 아니 될 것이다.
한편, 본 출원에서 서술되는 용어의 의미는 다음과 같이 이해되어야 할 것이다.
"제1", "제2" 등의 용어는 하나의 구성요소를 다른 구성요소로부터 구별하기 위한 것으로, 이들 용어들에 의해 권리범위가 한정되어서는 아니 된다. 예를 들어, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어"있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결될 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어"있다고 언급된 때에는 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 한편, 구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한 복수의 표현을 포함하는 것으로 이해되어야 하고, "포함하다"또는 "가지다" 등의 용어는 실시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이며, 하나 또는 그 이상의 다른 특징이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
각 단계들에 있어 식별부호(예를 들어, a, b, c 등)는 설명의 편의를 위하여 사용되는 것으로 식별부호는 각 단계들의 순서를 설명하는 것이 아니며, 각 단계들은 문맥상 명백하게 특정 순서를 기재하지 않는 이상 명기된 순서와 다르게 일어날 수 있다. 즉, 각 단계들은 명기된 순서와 동일하게 일어날 수도 있고 실질적으로 동시에 수행될 수도 있으며 반대의 순서대로 수행될 수도 있다.
본 발명은 컴퓨터가 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현될 수 있고, 컴퓨터가 읽을 수 있는 기록 매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다. 컴퓨터가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장 장치 등이 있다.
여기서 사용되는 모든 용어들은 다르게 정의되지 않는 한, 본 발명이 속하는 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한 이상적이거나 과도하게 형식적인 의미를 지니는 것으로 해석될 수 없다.
도 1은 본 발명의 일 실시예에 따른 통화품질 예측 시스템을 설명하는 도면이다.
도 1을 참조하면, 통화품질 예측 시스템(10)은 통화품질 예측서비스 장치(20) 및 통화품질 예측 서버(300)를 포함하고, 통화품질 예측서비스 장치(20)는 인터넷 전화 단말(100) 및 인터넷 전화 서버(200)를 포함한다. 이들은 네트워크를 통해 연결될 수 있다.
통화품질 예측서비스 장치(20)는 인터넷 전화 단말(100) 또는 인터넷 전화 서버(200) 중 일방에서 수행되고, 타방에 대한 통화품질을 예측할 수 있다. 보다 구체적으로, 통화품질 예측서비스 장치(20)는 인터넷 전화 단말(100)과 인터넷 전화 서버(200), 인터넷 전화 단말(100)과 통화품질 예측 서버(300) 또는 인터넷 전화 단말(100)들 간의 통화품질을 예측할 수 있다.
인터넷 전화 단말(100)은 사용자에 의해 소유될 수 있고, 인터넷 전화 서버(200) 및 통화품질 예측 서버(300)와 연결된 컴퓨팅 장치에 해당할 수 있다. 예를 들어, 인터넷 전화 단말(100)은 스마트폰 등으로 구현될 수 있으며, 반드시 이에 한정되지 않는다.
임의의 인터넷 전화 발신 단말 또는 발신 단말(102, 106, 110, 114, 116, 120), 인터넷 전화 착신 단말 또는 착신 단말(104, 108, 112, 118, 122)는 모두 인터넷 전화 단말(100)과 동일하다.
통화품질 예측 서버(300)는 SIP 호 처리를 수행할 수 있는 인터넷 전화 서버(200)로부터 전송시험의 부담을 감소시키기 위해 설치될 수 있다. 여기에서, 호 처리는 호의 발생에서 종료까지 모든 상태를 제어하고 감시하여 정상적인 통화가 이루어지도록 하는 것을 의미한다. 또한, 통화품질 예측 서버(300)는 SIP 네트워크와 직접 관계없이 인터넷 전화 단말(100)에서 IP(Internet Protocol) 접속이 가능하고, 인터넷 전화 서버(200)와 연동을 통해 정보교환이 가능한 일반 서버에 해당할 수 있다.
먼저 릴레이 구간별 통화품질 예측을 위한 전송시험에 대해 설명한다.
통화품질 예측구간의 전송시험은 실제 통화처럼 재생 가능한 미디어를 포함하는 실제 RTP/RTCP 패킷을 사용해서도 가능하다. 특정 구간에서 쌍방이 동시에 RTP/RCTP 패킷을 주고 받고 RTCP 패킷을 통해 RTT(Round Trip Time)와 패킷 손실률을 계산하는 방법으로 통화품질을 예측하고 결과를 쌍방이 공유해서 양방향 통화품질의 예측 결과를 계산할 수 있으며, 특정 주체가 RTP 패킷을 생성해서 구간의 상대방으로 전송하면 상대방은 받아서 즉시 재전송하고 해당 주체가 각 RTP 패킷의 RTT와 패킷 손실률을 계산하는 방법도 가능하다.
실제 미디어를 포함하지 않고 전송 측의 전송시간 정보를 포함하는 RTP 패킷 혹은 RTP 헤더조차 없이 RTP 패킷과 동일한 IP 패킷 사이즈와 전송간격을 갖고 전송 측의 전송시간 정보를 포함하는 UDP 패킷을 전송하고 상대방으로부터 즉시 재전송 받아서 RTT와 패킷 손실률을 계산하는 방법으로 통화품질을 예측할 수도 있다.
즉, 통화품질 예측 구간에서 서로가 동시에 전송시험을 실시하는 경우와 한 쪽이 주도하여 먼저 전송시험 패킷을 전송하는 경우로 구분할 수 있는데, 동시에 전송시험을 실시하는 경우 서로가 상대방의 주소를 알 필요 없이 한 쪽이 먼저 전송하면 받는 쪽이 IP 패킷의 출발지 주소를 참조하여 반대로 전송할 수 있다.
따라서, 한 쪽이 주도하여 상대방 주소를 구한 후 전송시험을 실시하는 경우로부터 서로가 동시에 전송시험을 쉽게 실시할 수 있으므로 앞으로는 한 쪽이 주도하는 경우를 위주로 설명할 수 있다.
도 2는 통화품질 예측서비스 장치의 구성을 설명하는 도면이다.
도 2를 참조하면, 통화품질 예측서비스 장치(20)는 SIP 트랜잭션 요청부(21), SIP 트랜잭션 응답 수신부(22), 통화품질 예측부(23), SIP 트랜잭션 응답 전송부(24), 통화선택 결정부(25) 및 제어부(26)를 포함한다.
SIP 트랜잭션 요청부(21)는 일방의 통화품질 예측을 위한 일방의 주소 정보(IP주소, Port번호)를 선택적으로 포함할 수 있고, 통화품질 예측요구를 포함하는 SIP(Session Initiation Protocol) 트랜잭션 요청을 타방에 전송할 수 있다. 예를 들어, SIP 트랜잭션 요청부(21)는 통화품질 예측요구 정보를 포함하는 SIP 트랜잭션 요청을 인터넷 전화 단말(100)에 전송할 수 있다. 다른 예를 들어, SIP 트랜잭션 요청부(21)는 통화품질 예측요구 정보를 포함하는 SIP 트랜잭션 요청을 인터넷 전화 서버(200)에 전송할 수 있다.
일 실시예에서, SIP 트랜잭션 요청부(21)는 인터넷 전화 단말(100)과 복수의 서버들(인터넷 전화 서버(200) 또는 통화품질 예측 서버(300)) 사이에 NAT 장비가 존재하는 경우에는 전송시험세션 생성을 위한 SIP 트랜잭션 요청에 인터넷 전화 서버(200) 또는 통화품질 예측 서버(300)의 주소 정보를 포함하여 인터넷 전화 단말(100)에 전송할 수 있고, 인터넷 전화 단말(100)은 수신한 인터넷 전화 서버(200) 또는 통화품질 예측 서버(300)의 주소 정보를 통해 NAT 핀홀을 생성하기 위한 NAT 핀홀 패킷을 인터넷 전화 서버(200) 또는 통화품질 예측 서버(300)에 전송할 수 있다.
SIP 트랜잭션 응답 수신부(22)는 SIP 트랜잭션 응답을 수신할 수 있다. 보다 구체적으로, SIP 트랜잭션 응답 수신부(22)는 타방으로부터 SIP 트랜잭션 요청에 응답하여 타방의 주소 정보(IP주소, Port번호)를 포함하는 SIP 트랜잭션 응답을 수신할 수 있다. 일 실시예에서, SIP 트랜잭션 응답 수신부(22)는 인터넷 전화 단말(100)로부터 SIP 트랜잭션 요청에 대한 응답으로 SIP 트랜잭션 응답을 수신할 수 있다. 예를 들어, SIP 트랜잭션 응답 수신부(22)는 SIP 트랜잭션 요청에 대한 응답으로 전송시험을 위해 새로 할당된 Port 정보를 포함하는 주소 정보를 수신할 수 있다.
통화품질 예측부(23)는 일방의 주소 정보와 타방의 주소 정보를 통해 1) 실제 미디어의 포함 여부와 관계없는 RTP 패킷 2) RTCP 패킷 또는 3) 타방에 대해 RTP를 가장한 가장 UDP 패킷(이하, 전송시험패킷)을 통한 통신을 통해 타방과의 전송시험을 수행하여 통화품질을 예측할 수 있다.
통화품질 예측부(23)는 일방과 타방이 NAT 장비를 통해 연결된 경우에는 양방 간의 상기 주소 정보를 사용하여 NAT 장비를 경유한 양방 간의 통신을 통해 주소 정보를 위한 NAT 핀홀(Pinhole)을 미리 생성할 수 있다.
예를 들어, 인터넷 전화 서버(200) 또는 통화품질 예측 서버(300)는 SIP 트랜잭션 응답 수신부(22)를 통해 획득한 인터넷 전화 단말(100)의 주소를 활용하여 인터넷 전화 단말(100)과 통화품질 예측 대상 코덱에 대해 실제 RTP/RTCP 또는 실제 미디어를 포함하지 않는 RTP 또는 RTP를 가장한 UDP 패킷 생성을 통한 전송시험을 수행하여 통화품질을 예측할 수 있다.
다른 예를 들어, 인터넷 전화 단말(100)은 SIP 트랜잭션 응답 수신부(22)를 통해 획득한 인터넷 전화 서버(200)의 주소로 통화품질 예측 대상 코덱에 대해 실제 RTP/RTCP 또는 실제 미디어를 포함하지 않는 RTP 또는 RTP를 가장한 UDP 패킷을 통한 전송시험을 수행하여 통화품질을 예측할 수 있다.
즉, 인터넷 전화 단말(100)과 각각의 서버(인터넷 전화 서버(200) 또는 통화품질 예측 서버(300)) 사이에 NAT Traversal이 존재하는 경우에는 인터넷 전화 서버(200)가 인터넷 전화 단말(100)로 전달하는 SIP 트랜잭션 요청에 전송시험세션 생성을 위한 인터넷 전화 서버(200) 또는 통화품질 예측 서버(300)의 주소 정보를 포함하여 인터넷 전화 단말(100)로 전송하고, 인터넷 전화 단말(100)은 SIP 트랜잭션 요청에서 획득한 인터넷 전화 서버(200) 또는 통화품질 예측 서버(300)의 주소로 NAT 핀홀(Pinhole)을 생성하기 위한 패킷을 전송한 다음 인터넷 전화 서버(200) 또는 통화품질 예측 서버(300)가 NAT 핀홀(Pinhole)을 활용하여 인터넷 전화 단말(100)과 통화품질 예측 대상 코덱에 대해 실제 RTP/RTCP 또는 실제 미디어를 포함하지 않는 RTP 또는 RTP를 가장한 UDP 패킷 생성을 통한 전송시험을 수행하여 통화품질을 예측할 수 있다.
이때, 인터넷 전화 단말(100)과 인터넷 전화 서버(200) 또는 인터넷 전화 단말(100)과 통화품질 예측 서버(300) 사이에 전송시험을 수행하기 전에 인터넷 전화 단말(100)에 대한 SIP 인증을 수행하여 실패할 경우에는 통화품질 예측을 포기하고 인증이 성공할 경우 전송시험을 수행할 수 있다.
일 실시예에서, 통화품질 예측부(23)는 인터넷 전화 단말(100)의 주소 정보와 포트 정보를 기초로 RTP를 가장한 가장 UDP 패킷을 생성할 수 있고, 생성된 가장 UDP 패킷을 통해 전송시험을 수행하여 인터넷 전화 단말(100)에 대한 통화품질을 예측할 수 있다. 여기에서, 복수의 가장 UDP 패킷들은 RTP와 동일한 크기, 전송간격 및 전송시각 데이터를 포함할 수 있다.
통화품질 예측부(23)는 상기 전송시험패킷을 N 개(상기 N은 2 이상의 자연수) 일방 또는 타방에 송신하고 각각의 RTT(Round Trip Time)와 각각에 관한 손실 여부를 확인하여 통화품질을 예측할 수 있다.
통화품질 예측부(23)는 생성된 가장 UDP 패킷들 각각의 RTT(Round Trip Time)와 각각에 관한 왕복손실 여부를 확인하여 타방에 대한 통화품질을 예측할 수 있다. 통화품질 예측부(23)는 가장 UDP 패킷 각각의 수신시각과 가장 UDP 패킷에 기록된 전송시각을 기초로 RTT 값을 각각 계산할 수 있고, 누락된 RTP 패킷의 개수와 전체 RTP 패킷의 RTT 값 평균 및 RTT 값의 편차(즉, 이격도)를 산출하여 타방에 대한 통화품질을 예측할 수 있다.
일 실시예예서, 통화품질 예측부(23)는 N개의 순차적인 복수의 가장 UDP 패킷들을 생성하여 인터넷 전화 단말(100)로 전송할 수 있고, 인터넷 전화 단말(100)은 복수의 가장 UDP 패킷들을 수신함과 동시에 통화품질 예측부(23)로 재전송할 수 있다. 통화품질 예측부(23)는 재전송 과정을 통해 수신한 복수의 가장 UDP 패킷들 각각의 RTT 값과 왕복손실 여부를 확인하여 타방, 즉, 인터넷 전화 단말(100)에 대한 통화품질을 예측할 수 있다.
또한, 통화품질 예측부(23)는 인터넷 전화 서버(200) 또는 SBC에서 수행되고, 호 생성 과정없이 복수의 인터넷 전화 단말들에 대한 통화품질을 예측하는 경우 인터넷 전화 서버 또는 SBC와 인터넷 전화 단말 사이의 구간에 대해 1) 실제 미디어의 포함 여부와 관계없는 RTP 패킷 2) RTCP 패킷 또는 3) 타방에 대해 RTP를 가장한 가장 UDP 패킷(이하, 전송시험패킷)을 통한 통신을 통해 복수의 인터넷 전화 단말들 각각과의 전송시험을 수행하여 통화품질을 예측할 수 있다.
SIP 트랜잭션 응답 전송부(24)는 또는 SIP 트랜잭션 요청부(21)의 수행(즉, (a) 단계) 이후 일방의 주소 정보를 사용하여 타방은 통화품질 예측부(23)의 수행(즉, (c) 단계)를 먼저 수행하여 통화품질 예측 결과를 구한 후에 결과를 SIP 트랜잭션 응답에 포함하여 일방에게 전송할 수 있다.
통화선택 결정부(25)는 N개의 전송시험패킷에 관한 패킷 손실률 및 전송지연 시간을 기초로 예측된 예측통화품질을 저장하여 타방에 대한 통화 선택을 결정할 수 있다.
통화선택 결정부(25)는 타방이 복수의 인터넷 전화 단말(100)들로 구성된 경우에는 복수의 인터넷 전화 단말들 각각에 관한 예측통화품질을 기초로 특정 인터넷 전화 단말을 통화 선택할 수 있다.
일 실시예에서, 통화선택 결정부(25)는 일방과 타방 간의 통신이 음성통신에 해당하는 경우에는 현재 가용 가능하고 가장 적은 전송시간 지연을 가지는 인터넷 전화 단말을 특정 인터넷 전화 단말로 선택할 수 있다. 다른 일 실시예에서, 통화선택 결정부(24)는 일방과 타방 간의 통신이 데이터통신에 해당하는 경우에는 현재 가용 가능하고 가장 적은 패킷 손실률을 가지는 인터넷 전화 단말을 특정 인터넷 전화 단말로 선택할 수 있다.
통화선택 결정부(25)는 제1 및 제2 인터넷 통신장치들 간에 릴레이 장치들 중 미디어 릴레이를 수행하는 적어도 하나의 미디어 릴레이 장치가 존재하는 경우에는 제1 및 제2 인터넷 통신장치들과 적어도 하나의 미디어 릴레이 장치(이하, 통화품질 예측장치)에서 상호 인접한 통화품질 예측장치들 간에 형성된 릴레이 구간에 관해 SIP 트랜잭션 요청부터 SIP 트랜잭션 응답 전송 수행 또는 통화품질 예측 단독 수행을 통해 통화품질 예측을 순차적으로 완성할 수 있다.
예를 들어, 첫 번째, 제1 인터넷 통신 장치(또는 발신 단말)은 자동으로 최후의 통화품질 예측 구간 경계로 설정되고 자신이 속한 인터넷 전화 서버(200)로 전송하는 SIP 트랜잭션 요청에 제2 인터넷 통신 장치(또는 통화품질 예측 대상 착신 단말) 정보를 포함하여 통화품질 예측요구 정보를 전달할 수 있다.
두 번째, SIP 트랜잭션 요청이 제2 인터넷 통신 장치로 전달되는 과정에서 SIP 네트워크 구성 요소는 자신이 미디어 릴레이를 수행하지 않는다면 SIP 트랜잭션 요청을 그대로 다음 목적지로 전달하고 미디어 릴레이를 수행한다면 SIP 트랜잭션 요청에 포함된 최후의 통화품질 예측 구간 경계와 통화품질 예측을 위한 전송시험을 수행함과 동시에 자신의 주소를 최후의 통화품질 예측 구간 경계로 설정하는 정보를 포함한 SIP 트랜잭션 요청을 다음 목적지로 전달하거나 통화품질 예측을 위한 전송시험을 수행한 후 통화품질 예측결과와 자신의 주소를 최후의 통화품질 예측 구간 경계로 설정하는 정보를 포함한 SIP 트랜잭션 요청을 다음 목적지로 전달할 수 있다.
세 번째, 착신 측 인터넷 전화 서버로 SIP 트랜잭션 요청이 도착하고 착신 측 인터넷 전화 서버가 미디어 릴레이를 수행한다면 SIP 트랜잭션 요청에 포함된 최후의 통화품질 예측 구간 경계와 통화품질 예측을 위한 전송시험을 수행하고 착신 측 인터넷 전화 서버와 제2 인터넷 통신 장치 사이에 통화품질 예측을 위한 전송시험도 수행한 다음 두 예측 결과를 포함하여 제1 인터넷 통신 장치로 SIP 트랜잭션 응답을 전송하거나 또는 SIP 트랜잭션 요청에 포함된 최후의 통화품질 예측 구간 경계와 통화품질 예측을 위한 전송시험을 수행함과 동시에 자신의 주소를 최후의 통화품질 예측 구간 경계로 설정하는 정보를 포함한 SIP 트랜잭션 요청을 제2 인터넷 통신 장치로 전달하거나 또는 SIP 트랜잭션 요청에 포함된 최후의 통화품질 예측 구간 경계와 통화품질 예측을 위한 전송시험을 수행한 후 통화품질 예측 결과와 자신의 주소를 최후의 통화품질 예측 구간 경계로 설정하는 정보를 포함한 SIP 트랜잭션 요청을 제2 인터넷 통신 장치로 전달할 수 있다.
네 번째, 제2 인터넷 통신 장치는 자동으로 통화품질 예측 구간 경계로 설정되고 제2 인터넷 통신 장치로 SIP 트랜잭션 요청이 도착하면 SIP 트랜잭션 요청에 기록된 최후의 통화품질 예측 구간 경계와 통화품질 예측을 위한 전송시험을 수행한 다음 결과를 포함하여 SIP 트랜잭션 응답을 제1 인터넷 통신 장치로 전송하되, 통화품질 예측 구간 경계가 되는 SIP 네트워크 구성 요소가 통화품질 예측결과를 SIP 트랜잭션 요청에 포함하지 않았다면 SIP 트랜잭션 응답에 포함할 수 있다.
통화선택 결정부(25)는 릴레이 구간에 관한 통화품질 예측을 캐시에 저장하고 특정 시간이 초과되면 캐시를 갱신할 수 있다. 예를 들어, 통화품질 예측 구간의 경계가 되는 SIP 네트워크 구성 요소는 자신이 수행했던 통화품질 예측결과 또는 SIP 트랜잭션 응답을 참조하여 자신과 통화품질 예측 구간 경계가 되는 다른 SIP 네트워크 구성 요소들과의 통화품질 예측 결과를 캐시에 저장하여 관리함으로써 캐시의 만료시간 이내에 중복된 통화품질 예측 요청이 있을 경우 중복된 전송시험을 피할 수 있다.
통화선택 결정부(25)는 특정 릴레이 구간에 관한 통화품질 예측이 실패한 경우에는 실패의 원인과 관련된 통화품질 예측장치에 관한 정보를 포함한 SIP 트랜잭션 응답을 수신할 수 있다. 예를 들어, 통화선택 결정부(25)는 SIP 트랜잭션 요청이 제2 인터넷 통신장치로 전달되는 과정에서 SIP 네트워크 구성 요소가 정책 또는 기술적인 이유로 통화품질 예측을 더 이상 진행할 수 없는 경우 현재까지의 구간별 통화품질 예측 결과는 포함하고 자신을 통화품질 예측의 실패 지점으로 설정하는 정보 또는 실패 이유를 필요할 경우 SIP 트랜잭션 응답에 포함하여 제1 인터넷 통신장치로 전송할 수 있다.
또한, 통화선택 결정부(25)는 복수의 인터넷 전화 단말들 각각에 관한 통화품질의 예측을 기초로 통화 상대방에게 통화품질의 예측 결과를 제공하거나 가장 우수한 통화품질을 가지는 가용 가능한 인터넷 전화 단말에 관한 정보제공을 수행하거나 또는 연결의 시도를 수행할 수 있다.
예를 들어, 인터넷 전화 서버(200)는 인터넷 전화 단말(100)과 인터넷 전화 서버(200) 사이의 통화품질을 호 생성 과정 없이 인터넷 전화 단말(100)의 등록 주소를 그대로 이용하거나 별도의 통화품질 예측을 위한 전송시험세션을 생성하여 실제 RTP/RTCP 또는 실제 미디어를 포함하지 않는 RTP 또는 RTP를 가장한 UDP 패킷 생성을 통해 패킷 손실률, 전송지연 값을 계산하는 방법으로 통화품질을 예측하여 정보를 저장한 다음, 인터넷 전화 단말(100)의 통화품질 예측 정보를 통화 상대방에게 전달하여 통화 상대방이 실제 통화 연결 전에 참고하거나 통화 상대방으로 하여금 동일한 목적을 달성할 수 있는 인터넷 전화 단말이 다수 존재할 경우 통화품질이 우수한 인터넷 전화 단말을 선택할 수 있다.
제어부(26)는 통화품질 예측서비스 장치의 전체적인 동작을 제어할 수 있고, SIP 트랜잭션 요청부(21), SIP 트랜잭션 응답 수신부(22), 통화품질 예측부(23), SIP 트랜잭션 응답 전송부(24) 및 통화선택 결정부(25) 간의 제어 흐름 또는 데이터 흐름을 제어할 수 있다.
도 3은 인터넷 전화 서버가 요청하고 통화품질 예측 서버와 임의의 인터넷 전화 단말 사이의 통화품질 예측을 위한 전송시험세션을 생성하는 과정을 설명하는 도면이다.
보다 구체적으로, 도 3의 임의의 인터넷 전화 단말(100)은 인터넷 전화 서버(200)로 SIP 등록(또는 SIP REGISTER)을 수행하여 통화 가능상태가 될 수 있고, 인터넷 전화 서버(200)는 통화품질 예측 서버(300)와 인터넷 전화 단말(100)로 통화품질 예측을 위한 전송시험세션 생성을 요청하여 통화품질을 예측할 수 있다.
도 3의 ①과정에서, 인터넷 전화 단말(100)은 인터넷 전화 서버(200)에 SIP 등록을 요청할 수 있다. 보다 구체적으로, 인터넷 전화 단말(100)은 SIP 등록을 요청하기 위해 SIP REGISTER 메시지를 생성할 수 있고, 생성된 SIP REGISTER 메시지를 통해 SIP 등록 요청을 수행할 수 있다. 이때, 인터넷 전화 단말(100)에 대한 SIP 등록은 공유 비밀(Shared Secret)과 같은 방식을 통해 수행되고, Shared Secret은 아이디(ID) 및 패스워드(Password) 정보를 포함한다.
인터넷 전화 단말(100)은 인터넷 전화 서버(200)로 인증정보가 포함되지 않은 최초 SIP REGISTER 메시지를 전송하여 SIP 등록을 요청할 수 있고, 인터넷 전화 서버(200)는 인증정보를 포함하는 401 Unauthorized 응답을 인터넷 전화 단말(100)로 전송할 수 있다. 여기에서, 인증정보는 인증방법, 인증 알고리즘, 아이디(ID)와 패스워드(Password)가 정의된 영역, nonce 값 등을 포함할 수 있다.
인터넷 전화 단말(100)은 인터넷 전화 서버(200)로부터 전송 받은 401 Unauthorized 응답에서 인증정보를 확인할 수 있고, 인터넷 전화 서버(200)가 요구한대로 메시지 다이제스트(Message Digest)를 계산할 수 있다. 여기에서, 메시지 다이제스트(Message Digest)는 임의 길이 메시지에 단방향 해시 함수가 반복 적용되어 일정한 길이로 축약 생성된 비트열을 말한다.
인터넷 전화 단말(100)은 계산된 메시지 다이제스트(Message Digest)를 포함하는 두 번째 SIP REGISTER 메시지를 인터넷 전화 서버(200)로 전송할 수 있다. 인터넷 전화 서버(200)는 인터넷 전화 단말(100)의 메시지 다이제스트 계산 방법과 동일한 방법으로 메시지 다이제스트를 계산할 수 있다. 인터넷 전화 서버(200)는 메시지 다이제스트를 계산한 후에 자체 계산한 메시지 다이제스트 결과와 두 번째 SIP REGISTER 메시지에 포함된 메시지 다이제스트 결과를 비교할 수 있다.
일 실시예에서, 인터넷 전화 서버(200)는 자체 계산한 메시지 다이제스트 결과와 두 번째 SIP Register 메시지에 포함된 메시지 다이제스트 결과가 동일하면 인터넷 전화 단말(100)의 SIP 인증을 완료할 수 있다. 인터넷 전화 서버(200)는 인터넷 전화 단말(100)에 대한 SIP 인증을 완료하면 200 OK 메시지를 인터넷 전화 단말(100)로 전송하여 SIP REGISTER 메시지를 통한 인터넷 전화 단말(100)의 SIP 등록을 성공적으로 수행할 수 있다.
다른 일 실시예에서, 인터넷 전화 서버(200)는 자체 계산한 메시지 다이제스트 결과와 두 번째 SIP REGISTER 메시지에 포함된 메시지 다이제스트 결과가 동일하지 않으면 인터넷 전화 단말(100)의 SIP 인증을 완료할 수 없고, 즉, 인터넷 전화 단말(100)에 대한 SIP 인증은 실패하게 된다. 이러한 경우, 인터넷 전화 서버(200)는 403 Forbidden (Bad auth) 등과 같은 에러 응답을 인터넷 전화 단말(100)로 전송하여 SIP 등록이 실패하였음을 알려줄 수 있다.
도 3의 ②과정에서, 인터넷 전화 서버(200)는 인터넷 전화 단말(100)로 통화품질 예측을 위한 전송시험세션 생성을 요청할 수 있고, SIP의 대표적인 Dialog-Out 메시지인 SIP OPTIONS을 사용하는 것을 가정하여 설명하나 이에 한정되지는 않는다.
여기에서, SIP OPTIONS 메시지는 상대방 에이전트(UA, User Agent) 또는 Proxy Server, Registrar, Redirect Server 등 SIP 망의 구성요소들의 현재 능력(Capability)에 대한 질의를 요청하기 위한 SIP 메시지에 해당하고, SIP 망의 구성요소는 해당 SIP OPTIONS 메시지에 대한 응답에 자신이 처리할 수 있는 SIP 메시지 종류나 해석 가능한 언어 또는 처리 가능한 SIP 메시지 Body 타입 등의 정보를 제공할 수 있다. 그러나 현재는 SIP 망의 구성요소들의 능력에 대한 질의, 응답 외에 단순 SIP 망의 구성요소의 현재 정상 작동여부를 확인하기 위한 IP 네트워크에서 Ping 명령과 같은 용도로 많이 사용하고 있다.
SIP 메시지는 기본 프로토콜에서 표준화된 헤더 외에 새로운 기능이나 특성을 추가하기 위한 방법으로 실험적(eXperimental) 또는 확장(eXtension)의 뜻을 가지는 X-로 시작하는 비표준 헤더를 사용할 수 있다.
인터넷 전화 서버(200)는 X-로 시작하는 비표준 헤더를 사용할 수 있는 점을 활용하여 X-Quality-Test와 같은 헤더(header)를 추가하여 SIP OPTIONS 메시지를 인터넷 전화 단말(100)로 전송하여 통화품질 예측을 위한 전송시험세션 생성을 요청할 수 있다.
X-Quality-Test의 헤더는 아래와 같은 형식으로 구성할 수 있다.
X-Quality-Test: Request aservaddr="20.20.20.20:1000", vservaddr="20.20.20.20:1001", method=digest, nonce="458e3bf6", algorithm=MD5, realm="lecture", acodec=ulaw, vcodec=h263
여기에서, Request는 통화품질 예측 요청, aservaddr는 음성을 위한 통화품질 예측 서버(300)의 주소, vservaddr는 영상을 위한 통화품질 예측 서버(300)의 주소, method가 digest로 설정된 것은 message digest 방식을 통한 인증방법을 사용한다는 의미, nonce는 해시 값 계산에 포함될 랜덤 값, algorithm은 해시 알고리즘, realm은 ID와 Password가 정의된 영역(관례적으로 서버 이름이 많이 쓰이고 있음), acodec은 음성을 위한 코덱으로 ulaw 코덱 사용 및 vcodec은 영상을 위한 코덱으로 h263 코덱 사용을 의미한다.
위의 예(X-Quality-Test의 헤더의 형식)에서는 간략하게 표현하기 위해 코덱 명칭만 사용하고 있다. 코덱 별로 정확한 데이터 전송률을 파악하기 위해 h.264 코덱의 경우를 예로 들면 Profile과 Level과 같은 세부정보를 더 포함하여 전달함으로써 초당 프레임(Frame)의 개수 또는 프레임(Frame)의 크기를 산출할 수 있도록 한다.
음성 또는 영상을 위한 통화품질 예측 서버(300)의 주소(aservaddr, vservaddr)는 통화품질 예측을 위한 전송시험세션 생성을 위한 주소로, 인터넷 전화 서버(200)와 통화품질 예측 서버(300)가 별도의 과정을 통해 협의하여 결정할 수 있다.
인터넷 전화 서버(200)는 SIP 메시지에 위와 같이 새로운 header를 추가하는 방법뿐만 아니라 SIP 메시지에 body를 추가하여 통화품질 예측을 위한 요청정보를 전송할 수 있다.
예를 들어, 위의 SIP OPTIONS 메시지에 Content-Type:application/call-quality-test와 같은 헤더를 추가하고, content body에 아래와 같은 내용을 포함하여 SIP OPTIONS 메시지를 전송하면 된다.
Request
aservaddr:20.20.20.20:1000
vservaddr:20.20.20.20:1001
method:digest
nonce:"458e3bf6"
algorithm:MD5
realm:"lecture"
acodec:"ulaw"
vcodec:"h263"
도 3의 ②과정에서, SIP 200 OK 메시지의 X-Quality-Test의 헤더는 아래와 같다.
X-Quality-Test: Request aservaddr="20.20.20.20:1000", vservaddr="20.20.20.20:1001", method=digest, nonce="458e3bf6", algorithm=MD5, realm="lecture", response="dfe56131d1958046689d83306477ecc", username="abc", uri="sip:abc@def.com", acodec=ulaw, vcodec=h263 clientaddr=1.1.1.1:10,11
인터넷 전화 단말(100)은 메시지 다이제스트 계산한 결과를 X-Quality-Test 헤더의 response 필드에 포함하여 인터넷 전화 서버(200)에 전송할 수 있다. 인터넷 전화 단말(100)의 메시지 다이제스트 계산은 A1, nonce 및 A2를 각각 계산할 수 있고, A1, nonce 및 A2에 대하여 해시 알고리즘을 다시 적용하여 합산 계산할 수 있다.
여기에서, A1은 username 필드에 기록된 ID, Password, realm에 대해 해시 알고리즘을 적용하여 message digest를 계산한 결과, A2는 SIP OPTIONS 메시지의 메소드 "OPTIONS"와 SIP OPTIONS 메시지의 request uri에 대해 해시 알고리즘을 적용하여 message digest를 계산한 결과를 의미한다.
인터넷 전화 서버(200)는 자체 계산한 메시지 다이제스트 값과 인터넷 전화 단말(100)로부터 전송 받은 메시지 다이제스트 값을 비교하여 인터넷 전화 단말(100)에 대한 인증을 수행할 수 있다.
도 3의 ③과정에서, 인터넷 전화 서버(200)는 인터넷 전화 단말(100)에 대한 인증을 성공하면 통화품질 예측 서버(300)로 인증정보를 전송할 수 있다. 여기에서, 인증정보는 인터넷 전화 단말(100)에 전송한 통화품질 예측 서버(300)의 음성 및 영상 각각을 위한 IP 주소(20.20.20.20)와 Port 번호(1000, 1001), ②과정에서 인터넷 전화 서버(200)가 자체 계산한 메시지 다이제스트 값을 포함할 수 있다. 만약, 도 3의 ②과정에서 인터넷 전화 단말(100)에 대한 인증을 실패하면 통화품질 예측을 즉시 종료할 수 있다.
도 3의 ④과정에서, 인터넷 전화 단말(100)은 인증정보를 포함하는 패킷을 통화품질 예측 서버(300)로 전송하여 인터넷 전화 단말(100)과 통화품질 예측 서버(300) 사이의 전송시험을 위한 NAT 핀홀(Pinhole)을 생성할 수 있다.
보다 구체적으로, 인터넷 전화 단말(100)은 SIP 메시지 전송 및 수신을 위한 Port(예를 들어, SIP 메시지에서 Default로 사용하는 경우 5060이 할당)가 아닌 임의의 자신의 Port 둘을 할당할 수 있고, 도 3의 ②과정을 통해 전송 받은 통화품질 예측 서버(300)의 주소로 패킷을 전송하되, 도 3의 ②과정에서 계산한 메시지 다이제스트 값을 그대로 패킷에 포함하여 통화품질 예측 서버(300)로 전송하도록 할 수 있다.
통화품질 예측 서버(300)는 인터넷 전화 서버(200)로부터 받은 메시지 다이제스트와 인터넷 전화 단말(100)로부터 받은 메시지 다이제스트를 비교할 수 있다. 일 실시예에서, 통화품질 예측 서버(300)는 메시지 다이제스트 비교결과 동일하면 인터넷 전화 단말(100)에 대한 SIP 인증을 성공하게 되고, 이후 ⑤과정을 계속 수행할 수 있다. 다른 일 실시예에서, 통화품질 예측 서버(300)는 메시지 다이제스트 비교결과 동일하지 않으면 인터넷 전화 단말(100)에 대한 SIP 인증을 실패하게 되고, 전체 통화품질 예측 과정이 실패하게 된다.
도 3의 ⑤과정에서, 통화품질 예측 서버(300)는 도 3의 ④과정을 통해 수신한 패킷의 IP 헤더에 기록된 Source IP와 Source Port 번호를 목적지로 하여 통화품질 예측을 위한 전송시험을 수행하도록 할 수 있다. 이러한 과정에서 생성된 전송시험세션은 4가지 방식의 NAT(Network Address Translation)에 전부 대응이 가능할 수 있고, 여기에서 4가지 방식의 NAT는 Full Cone, Restricted Cone, Port Restricted Cone, Symmetric NAT에 해당한다.
도 2에서, 인터넷 전화 서버(200)는 만약 인터넷 전화 단말(100)과 인터넷 전화 서버(200) 및 통화품질 예측 서버(300) 사이에 NAT Traversal이 존재하지 않는다면 도 3의 ②과정에서 인터넷 전화 단말(100)의 인증성공 여부를 검사할 수 있다.
일 실시예에서, 인터넷 전화 서버(200)는 인증성공에 해당하는 경우 도 3의 ③과정을 통해 ②과정에서 획득한 인터넷 전화 단말(100)의 주소 정보(X-Quality-Test 헤더의 clientaddr 필드)를 추가로 전송할 수 있고, 통화품질 예측 서버(300)는 도 3의 ④과정의 NAT 핀홀(Pinhole)을 생성하는 과정없이 바로 ⑤과정을 수행하여 통화품질을 예측할 수 있다.
예를 들어, 인터넷 전화 단말(100)과 통화품질 예측 서버(300) 사이에 NAT Traversal이 존재하지 않으면 NAT 핀홀(Pinhole)을 생성하는 과정이 필요 없고, 이에 따라 도 3의 ②과정에서 SIP OPTIONS 메시지에 통화품질 예측 서버(300)의 주소가 반드시 포함될 필요가 없다.
다른 예를 들어, 인터넷 전화 단말(100)과 통화품질 예측 서버(300) 사이에 NAT Traversal이 존재하면 통화품질 예측 서버(300)가 NAT 핀홀(Pinhole)을 기초로 전송시험을 수행하기 때문에 도 3의 ②과정에서 SIP 200 OK 메시지에 인터넷 전화 단말(100)의 주소가 반드시 포함될 필요가 없다.
즉, 인터넷 전화 단말(100)은 인터넷 전화 서버(200)로 SIP 등록이 완료되면 통화 가능상태가 될 수 있고, 인터넷 전화 서버(200)는 통화품질 예측 서버(300)와 인터넷 전화 단말(100)로 통화품질 예측을 위한 전송시험세션 생성을 요청하여 통화품질을 예측할 수 있다.
도 4는 인터넷 전화 서버가 요청하고 인터넷 전화 서버와 임의의 인터넷 전화 단말 사이의 통화품질 예측을 위한 전송시험세션을 생성하는 과정을 설명하는 도면이다. 보다 구체적으로, 도 4는 통화품질 예측 서버(300)를 사용하지 않고 인터넷 전화 서버(200)가 직접 통화품질 예측을 수행하는 과정을 설명하는 도면이다.
도 4의 ①과정에서, 인터넷 전화 단말(100)은 인터넷 전화 서버(200)로 SIP 등록을 요청할 수 있다. 보다 구체적으로, 인터넷 전화 단말(100)은 SIP 등록을 요청하기 위해 SIP REGISTER 메시지를 생성할 수 있고, 생성된 SIP REGISTER 메시지를 통해 SIP 등록 요청을 수행할 수 있다. 이때, 인터넷 전화 단말(100)에 대한 SIP 등록은 공유 비밀(Shared Secret)과 같은 방식을 통해 수행된다.
인터넷 전화 단말(100)은 인터넷 전화 서버(200)로 인증정보가 포함되지 않은 최초 SIP REGISTER 메시지를 전송하여 SIP 등록을 요청할 수 있고, 인터넷 전화 서버(200)는 인증정보를 포함하는 401 Unauthorized 응답을 인터넷 전화 단말(100)로 전송할 수 있다. 여기에서, 인증정보는 인증방법, 인증 알고리즘, 아이디(ID)와 패스워드(Password)가 정의된 영역, nonce 값 등을 포함할 수 있다.
인터넷 전화 단말(100)은 인터넷 전화 서버(200)로부터 전송 받은 401 Unauthorized 응답에서 인증정보를 확인할 수 있고, 인터넷 전화 서버(200)가 요구한대로 메시지 다이제스트(Message Digest)를 계산할 수 있다. 여기에서, 메시지 다이제스트(Message Digest)는 임의 길이 메시지에 단방향 해시 함수가 반복 적용되어 일정한 길이로 축약 생성된 비트열을 말한다.
인터넷 전화 단말(100)은 계산된 메시지 다이제스트(Message Digest)를 포함하는 두 번째 SIP REGISTER 메시지를 인터넷 전화 서버(200)로 전송할 수 있다. 인터넷 전화 서버(200)는 인터넷 전화 단말(100)의 메시지 다이제스트 계산 방법과 동일한 방법으로 메시지 다이제스트를 계산할 수 있다. 인터넷 전화 서버(200)는 메시지 다이제스트를 계산한 후에 자체 계산한 메시지 다이제스트 결과와 두 번째 SIP REGISTER 메시지에 포함된 메시지 다이제스트 결과를 비교할 수 있다.
일 실시예에서, 인터넷 전화 서버(200)는 자체 계산한 메시지 다이제스트 결과와 두 번째 SIP REGISTER 메시지에 포함된 메시지 다이제스트 결과가 동일하면 인터넷 전화 단말(100)의 SIP 인증을 완료할 수 있다. 인터넷 전화 서버(200)는 인터넷 전화 단말(100)에 대한 SIP 인증을 완료하면 200 OK 메시지를 인터넷 전화 단말(100)로 전송하여 SIP REGISTER 메시지를 통한 인터넷 전화 단말(100)의 SIP 등록을 성공적으로 수행할 수 있다.
다른 일 실시예에서, 인터넷 전화 서버(200)는 자체 계산한 메시지 다이제스트 결과와 두 번째 SIP REGISTER 메시지에 포함된 메시지 다이제스트 결과가 동일하지 않으면 인터넷 전화 단말(100)의 SIP 인증을 완료할 수 없고, 즉, 인터넷 전화 단말(100)에 대한 SIP 인증은 실패하게 된다. 이러한 경우, 인터넷 전화 서버(200)는 403 Forbidden (Bad auth) 등과 같은 에러 응답을 인터넷 전화 단말(100)로 전송하여 SIP 등록이 실패하였음을 알려줄 수 있다.
도 4의 ②과정에서, 인터넷 전화 서버(200)는 인터넷 전화 단말(100)로 통화품질 예측을 위한 전송시험세션 생성을 요청할 수 있다. 이때, 도 4의 ②과정은 도 3의 ②과정에서 X-Quality-Test 헤더의 aservaddr, vservaddr가 통화품질 예측 서버(300)의 주소가 아닌 인터넷 전화 서버(200) 자신을 나타내도록 설정되는 것 외에는 동일하다.
도 4는 통화품질 예측 서버(300)를 사용하지 않으므로 도 3의 ③과정은 수행하지 않는다. 도 4의 ③과정에서, 인터넷 전화 단말(100)은 도 3의 ④과정과 동일하게 인증정보를 포함하는 패킷을 인터넷 전화 서버(200)로 전송하여 전송시험을 위한 NAT 핀홀(Pinhole)을 생성하여 인증을 수행할 수 있다.
도 4의 ④과정에서, 인터넷 전화 서버(200)는 도 4의 ③과정을 통해 수신한 패킷의 IP 헤더에 포함된 Source IP와 Source Port 번호를 목적지로 하여 통화품질 예측을 위한 전송시험을 수행할 수 있다. 이러한 과정에서 생성된 전송시험세션은 4가지 방식의 NAT(Network Address Translation)에 전부 대응이 가능할 수 있고, 여기에서 4가지 방식의 NAT는 Full Cone, Restricted Cone, Port Restricted Cone, Symmetric NAT에 해당한다.
인터넷 전화 서버(200)는 만약 인터넷 전화 단말(100)과 인터넷 전화 서버(200) 사이에 NAT Traversal이 존재하지 않는다면 도 4의 ②과정에서 인터넷 전화 단말(100)의 인증성공 여부를 검사할 수 있다. 일 실시예에서, 인터넷 전화 서버(200)는 인증성공에 해당하면 인터넷 전화 단말(100)에 NAT 핀홀(Pinhole)을 생성하는 과정없이 바로 다음 과정을 수행하여 통화품질을 예측할 수 있다. 예를 들어, SIP 200 OK 메시지에 포함된 인터넷 전화 단말(100)이 통화품질 예측 전송시험을 위해 할당한 Port 정보를 사용하여 도 4의 ③과정없이 바로 전송시험을 수행하면 된다.
즉, 인터넷 전화 단말(100)은 인터넷 전화 서버(200)로 SIP 등록이 완료되면 통화 가능상태가 될 수 있고, 인터넷 전화 서버(200)는 인터넷 전화 단말(100)로 통화품질 예측을 위한 전송시험세션 생성을 요청하여 통화품질을 예측할 수 있다.
도 5는 인터넷 전화 단말이 요청하고 통화품질 예측 서버와 임의의 인터넷 전화 단말 사이의 통화품질 예측을 위한 전송시험세션을 생성하는 과정을 설명하는 도면이다. 보다 구체적으로, 도 5는 인터넷 전화 단말(100)이 요청하고 직접 통화품질 예측을 수행하는 과정을 설명하는 도면이다.
도 5의 ①과정에서, 인터넷 전화 단말(100)은 인터넷 전화 서버(200)로 SIP 등록을 요청할 수 있다. 보다 구체적으로, 인터넷 전화 단말(100)은 SIP 등록을 요청하기 위해 SIP REGISTER 메시지를 생성할 수 있고, 생성된 SIP REGISTER 메시지를 통해 SIP 등록 요청을 수행할 수 있다. 여기에서, 인터넷 전화 단말(100)의 SIP 등록 과정은 도 3 및 도 4의 ①번과정과 동일하다.
도 5의 ②과정에서, 인터넷 전화 단말(100)은 인터넷 전화 서버(200)로 통화품질 예측을 위한 전송시험세션 생성을 요청할 수 있다. 보다 구체적으로, 인터넷 전화 단말(100)은 도 3 및 도 4에서와 같이 SIP OPTIONS가 사용될 수 있다.
X-Quality-Test의 헤더는 아래와 같은 형식으로 구성하도록 할 수 있다.
X-Quality-Test: Request acodec="ulaw", vcodec="h263"
여기에서, Request는 통화품질 예측 요청, acodec과 vcodec은 각각 음성과 영상 코덱을 의미한다.
전송시험을 위한 다른 정보는 인터넷 전화 서버(200)가 SIP OPTIONS에 대한 응답으로 전송하는 SIP 200 OK 응답 메시지의 X-Quality-Test 헤더에 아래와 같이 포함되어 전송될 수 있다.
X-Quality-Test: Response aservaddr="20.20.20.20:1000", vservaddr="20.20.20.20:1001", method=digest, nonce="458e3bf6", algorithm=MD5, realm="lecture", acodec="ulaw", vcodec="h263"
여기에서, Response는 통화품질 예측 요청에 대한 응답, aservaddr는 음성을 위한 통화품질 예측 서버(300)의 주소, vservaddr는 영상을 위한 통화품질 예측 서버(300)의 주소, method가 digest로 설정된 것은 message digest 방식을 통한 인증방법을 사용한다는 의미, nonce는 해시 값 계산에 포함될 랜덤 값, algorithm은 해시 알고리즘, realm은 ID와 Password가 정의된 영역, acodec은 음성을 위한 코덱으로 ulaw 코덱 사용 및 vcodec은 영상을 위한 코덱으로 h263 코덱 사용을 의미한다.
인터넷 전화 서버(200)는 도 5의 ②과정에서 ①과정의 SIP REGISTER을 통한 SIP 등록 요청 과정처럼 401 Unauthorized를 포함하여 인터넷 전화 단말(100)의 SIP 인증을 완료한 후 수행할 수도 있다. 다만, 통화품질 예측은 통화품질 예측 서버(300)가 수행하기 때문에 도 5에서는 생략된다.
도 5의 ③과정에서, 인터넷 전화 서버(200)는 도 3의 ③과정과 동일하게 수행되어 통화품질 예측 서버(300)로 인증정보를 전송할 수 있다. 여기에서, 인증정보는 인터넷 전화 단말(100)에 전송한 통화품질 예측 서버(300)의 음성 및 영상 각각을 위한 IP 주소(20.20.20.20)와 Port 번호(1000, 1001)를 포함할 수 있다. 일 실시예에서, 인터넷 전화 서버(200)는 도 3의 ②의 과정에서 메시지 다이제스트를 계산하는 방법과 동일하게 메시지 다이제스트를 계산하여 통화품질 예측 서버(300)로 인증정보를 전송할 수 있다.
도 5의 ④과정에서, 인터넷 전화 단말(100)은 도 3의 ②과정에서 계산하는 방식과 동일하게 메시지 다이제스트를 계산한 후, 계산된 값을 패킷에 포함하여 통화품질 예측 서버(300)로 먼저 전송하도록 할 수 있다.
통화품질 예측 서버(300)는 인터넷 전화 단말(100)로부터 수신한 메시지 다이제스트와 도 5의 ③과정을 통해 인터넷 전화 서버(200)로부터 수신한 메시지 다이제스트를 비교하여 인터넷 전화 단말(100)에 대한 SIP 인증을 수행할 수 있다.
일 실시예에서, 통화품질 예측 서버(300)는 인터넷 전화 단말(100)에 대한 SIP 인증을 성공하면 인터넷 전화 단말(100)이 전송하는 통화품질 예측을 위한 전송시험 패킷을 수신할 수 있고, 전송시험 패킷의 IP 헤더에 포함된 Source IP와 Source Port 번호를 목적지로 하여 재전송할 수 있다. 이러한 과정에서 생성된 전송시험세션은 4가지 방식의 NAT(Network Address Translation)에 전부 대응이 가능할 수 있고, 여기에서 4가지 방식의 NAT는 Full Cone, Restricted Cone, Port Restricted Cone, Symmetric NAT를 해당한다.
다른 일 실시예에서, 통화품질 예측 서버(300)는 인터넷 전화 단말(100)에 대한 SIP 인증을 실패하면 재전송을 거부하거나 SIP 인증 실패에 대한 정보를 인터넷 전화 단말(100)에 별도로 통보하여 통화품질 예측 과정을 종료한다.
즉, 인터넷 전화 단말(100)은 인터넷 전화 서버(200)로 SIP 등록을 수행하여 통화 가능상태가 될 수 있고, 인터넷 전화 단말(100)은 인터넷 전화 서버(200)로 통화품질 예측을 위한 전송시험세션 생성을 요청할 수 있다. 인터넷 전화 서버(200)는 자신이 아닌 통화품질 예측 서버(300)의 주소 정보를 인터넷 전화 단말(100)로 전송할 수 있고, 인터넷 전화 단말(100)은 해당 주소의 통화품질 예측 서버(300)로 SIP 인증과정을 수행한 후 전송시험세션을 생성하여 통화품질을 예측할 수 있다.
도 6은 인터넷 전화 단말이 요청하고 인터넷 전화 서버와 임의의 인터넷 전화 단말 간의 통화품질 예측을 위한 전송시험세션을 생성하는 과정을 설명하는 도면이다. 보다 구체적으로, 도 6은 인터넷 전화 단말(100)이 요청하고 직접 통화품질 예측을 수행하는 과정을 설명하는 도면이다. 다만, 도 6은 별도의 통화품질 예측 서버(300)를 통하지 않고 인터넷 전화 단말(100)이 SIP 등록을 수행한 인터넷 전화 서버(200)와 직접 전송시험세션을 생성하고 통화품질을 예측한다.
도 6의 ①과정에서, 인터넷 전화 단말(100)은 인터넷 전화 서버(200)로 SIP 등록을 요청할 수 있다. 보다 구체적으로, 인터넷 전화 단말(100)은 SIP 등록을 요청하기 위해 SIP REGISTER 메시지를 생성할 수 있고, 생성된 SIP REGISTER 메시지를 통해 SIP 등록 요청을 수행할 수 있다. 여기에서, 인터넷 전화 단말(100)의 SIP 등록 과정은 도 3, 도 4 및 도 5의 ①과정과 동일하다.
도 6의 ②과정에서, 인터넷 전화 단말(100)은 도 3, 도 4 및 도 5와 같이 SIP OPTIONS을 사용하여 인터넷 전화 서버(200)로 통화품질 예측을 위한 전송시험세션 생성을 요청할 수 있다. 다만, 이 경우 인터넷 전화 서버(200)가 전송하는 200 OK 응답에서 X-Quality-Test 헤더의 aservaddr, vservaddr 필드는 자신의 IP 주소와 전송시험을 위해 새로 할당한 Port 번호 둘을 포함한다.
도 6의 ③과정에서, 인터넷 전화 단말(100)은 SIP 인증을 성공하면 전송시험세션을 생성할 수 있고 통화품질 예측을 수행할 수 있다. 인터넷 전화 단말(100)과 인터넷 전화 서버(200) 각각은 이전의 방식(도 3, 도 4 및 도 5)과 동일하게 메시지 다이제스트 값을 계산할 수 있다. 일 실시예에서, 인터넷 전화 서버(200)는 인터넷 전화 단말(100)이 전송한 메시지 다이제스트와 자신이 자체 계산한 메시지 다이제스트를 비교하여 값이 동일한 경우 인증을 성공할 수 있고, 전송시험세션 생성 요청을 수락하여 인터넷 전화 단말(100)과 통화품질 예측을 수행할 수 있다. 여기에서, 통화품질 예측을 수행하는 대상이 인터넷 전화 서버(200)라는 점만 제외하면 도 5의 ④과정과 동일하다.
또한, 인터넷 전화 서버(200)는 도 6의 ①과정의 SIP REGISTER 과정처럼 401 Unauthorized를 포함하여 인터넷 전화 단말(100)의 SIP 인증을 완료한 후 통화품질 예측을 수행할 수도 있다. 이 경우 도 6의 ③과정에서, 인터넷 전화 단말(100)은 도 6의 ②과정에서 획득한 인터넷 전화 서버(200)의 주소 정보를 사용하여 바로 전송시험을 수행할 수 있다.
즉, 인터넷 전화 단말(100)은 인터넷 전화 서버(200)로 SIP 등록을 수행하여 통화 가능상태가 될 수 있고, 인터넷 전화 단말(100)은 인터넷 전화 서버(200)로 통화품질 예측을 위한 전송시험세션 생성을 요청할 수 있다. 인터넷 전화 서버(200)는 전송시험을 위해 새로 할당된 자신의 Port를 포함하는 주소와 SIP 인증 요청 정보를 인터넷 전화 단말(100)로 통보할 수 있고, 인터넷 전화 단말(100)은 해당 인터넷 전화 서버(200)의 주소로 SIP 등록 인증을 수행한 후 전송시험세션을 생성하여 통화품질을 예측할 수 있다.
도 3에서 도 6까지의 통화품질 예측 과정은 인터넷 전화 단말(100)과 인터넷 전화 서버(SIP Proxy, IP-PBX, CSCF 등)(200) 사이 또는 인터넷 전화 단말(100)과 통화품질 예측 서버(300) 사이의 전송시험 수행을 통해 패킷 손실률, 전송지연, 원본 데이터 무결성 등을 측정하여 통화품질을 예측하는 과정을 설명한다. 이때, NAT 문제를 해결하기 위해 인터넷 전화 단말(100)과 인터넷 전화 서버(200) 사이에 SBC가 설치되는 경우에는 도 3에서 도6까지의 통화품질 예측 과정을 그대로 적용하여 SBC가 인터넷 전화 단말(100) 사이의 통화품질을 예측할 수 있고, SBC가 인터넷 전화 단말(100)과 인터넷 전화 서버(200) 사이의 통화품질 예측과정을 중개하는 역할만을 수행할 수도 있다.
SIP 등록 과정을 수행한 인터넷 전화 서버(200)나 외부의 통화품질 예측 서버(300)와 별도의 통화품질 예측을 위한 전송시험세션을 생성하여 전송시험을 수행할 수 있다. 또한, SIP 등록 과정에서 인터넷 전화 서버(200)가 인식하는 인터넷 전화 단말(100)의 등록 주소 역시 SIP 자체의 NAT Traversal 해결 구조에 의해 NAT 문제가 해결되어 인터넷 전화 서버(200)에 저장되기 때문에 해당 주소를 그대로 사용하여 간단하게 전송시험을 수행할 수 있다.
다만, SIP 메시지 전송을 위한 주소이기 때문에 SIP 메시지와 전송시험 패킷이 혼동될 수는 있겠지만 SIP 메시지의 경우 양식이 정해져 있고, RTP 패킷 또는 RTP 패킷을 가장(동일한 크기와 전송간격)하고 전송시간이 기록된 UDP 패킷 역시 양식이 정해져 있기 때문에 구분이 불가능하지 않고 SIP 등록 주소를 그대로 활용하여 통화품질 예측 전송시험을 수행하는 것이 가능하다.
만약 인터넷 전화 사업자가 SBC(Session Border Controller)를 사용하여 SIP의 NAT Traversal 문제 해결과 인터넷 전화 서버 측의 Topology Hiding을 수행하는 상황에서는 SBC가 Media Relay를 수행하는 것이 일반적이며, 이런 경우 가입자 단말과 SBC는 평상시에 NAT Pinhole을 미리 생성하여 실제 호 생성 시에 사용할 수 있다. 이런 상황에서 통화품질 예측은 실제 호 생성 시와 최대한 동일한 환경에서 수행될 수 있도록 SBC가 통화품질 예측을 위한 Media 역시 마찬가지로 Relay할 수 있도록 한다.
도 3 및 도 4는 인터넷 전화 서버(200)가 SIP OPTIONS 메시지에 자신 또는 통화품질 예측 서버(300)의 주소 정보를 기록하여 인터넷 전화 단말(100)로 전송하면 SBC(Session Border Controller)가 해당 주소를 자신의 주소로 바꾸어 인터넷 전화 단말(100)로 전송함으로써 통화품질 예측을 위한 전송시험세션을 수행할 수 있다.
도 5 및 도 6은 SIP OPTIONS에 대한 응답 메시지에 포함된 인터넷 전화 서버(200) 또는 통화품질 예측 서버(300) 주소를 SBC가 자신의 주소로 바꾸어 통화품질 예측을 수행하도록 할 수 있다. 다만, 실제 호 생성시 사용하는 주소이므로 실제 호와 충돌이 발생하여 불편이 예상될 경우 SBC가 인터넷 전화 단말(100)과 협의하여 전송시험세션을 위한 NAT 핀홀(Pinhole)을 미리 생성할 수 있고, 이 주소를 사용할 수도 있다.
도 3에서 도 6까지의 통화품질 예측과정에서 전송시험은 SIP 트랜잭션이 완료된 후에 수행되지만 SIP 트랜잭션 중간에 수행하는 것도 가능하다. 예를 들어, 도 3의 ②과정에서 인터넷 전화 단말(100)은 SIP OPTIONS 메시지를 통해 통화품질 예측 서버(300)의 주소와 인증정보를 수신할 수 있고, 해당 인증정보를 기초로 메시지 다이제스트를 계산하여 계산된 값을 통화품질 예측 서버(300)로 전송할 수 있다. 통화품질 예측 서버(300)는 인터넷 전화 단말(100)로부터 계산된 메시지 다이제스트 값을 수신하면 도 3의 ③과정을 도 3의 ②과정 중간에 수행하면서 인터넷 전화 서버(200)로부터 전달받은 인증정보를 기초로 자체 계산한 메시지 다이제스트와 비교하여 SIP 인증을 수행할 수 있다. 일 실시예에서, 통화품질 예측 서버(300)는 SIP 인증을 성공하면 인터넷 전화 단말(100)로부터 메시지 다이제스트를 수신하는 과정에서 생성된 NAT 핀홀(Pinhole)을 사용하여 전송시험을 수행할 수 있고, 전송시험을 수행한 후에 필요한 경우 인터넷 전화 서버(200)를 통해 통화품질 예측결과를 SIP 200 OK 메시지에 포함하여 인터넷 전화 단말(100)로 전송할 수 있다. 또한, 도 4의 경우에도 마찬가지 방법으로 가능하다.
도 5의 경우, 인터넷 전화 단말(100)은 인증정보와 통화품질 예측 서버(300)의 주소를 수신하기 위해 SIP 200 OK 메시지를 먼저 수신할 필요가 있다. 예를 들어, 인터넷 전화 서버(200)는 최초 SIP OPTIONS 메시지에 대한 응답으로 401 Unauthorized 응답을 인터넷 전화 단말(100)에 먼저 전송하면서 인증정보와 통화품질 예측 서버(300)의 주소를 미리 전송할 수 있고, 이러한 경우 두 번째 SIP OPTIONS 트랜잭션 중간에 전송시험을 수행하는 것이 가능하다.
또한, 인터넷 전화 서버(200)는 만약 인증과정을 생략하고 인터넷 전화 단말(100)과 통화품질 예측 서버(300) 사이에 NAT 장비가 존재하지 않는다면, 도 5의 ②과정에서 SIP OPTIONS 메시지를 통해 인터넷 전화 단말(100)의 주소를 획득한 후에 도 5의 ③과정을 도 5의 ②과정 중간에 수행하면서 통화품질 예측 서버(300)로 인터넷 전화 단말(100)의 주소를 전송할 수 있고, 통화품질 예측 서버(300)는 인터넷 전화 단말(100)과 통화품질 예측을 위한 전송시험을 수행할 수 있고, 예측결과를 인터넷 전화 서버(200)를 통해 도 5의 ②과정의 SIP 200 OK 메시지에 포함하여 인터넷 전화 단말(100)로 전송할 수 있다. 도 6의 경우에도 마찬가지 방법으로 가능하다.
이동통신 무선망에서 인터넷 전화 단말(100)과 인터넷 전화 서버(200)에 해당하는 CSCF(Call Session Control Function) 사이에 GPRS(General Packet Radio Service)와 같은 네트워크가 존재하는 경우에는 GPRS attach 과정이 더 필요하고, 인터넷 전화 단말(100)과 SGSN(Serving GPRS Support Node) 사이에 PDP(Packet Data Protocol) Context Activate 과정 및 SGSN과 GGSN(Gateway GPRS Support Node) 사이에 PDP Context Create 과정으로 구성된다.
해당 PDP Context가 생성되어 활성화되면 인터넷 전화 단말(100)은 전송시험을 위한 IP주소와 Port번호를 부여 받고 이를 이용하여 전송시험세션을 생성하여 통화품질을 예측하도록 할 수 있다. 이러한 과정은 실제 호 생성 시와 최대한 동일한 환경에서 통화품질 예측을 하기 위해 필요하며, 이동통신사의 정책에 따라 GGSN을 통해 Private IP를 부여 받을 수도 있기 때문에 유선망에서 Private IP를 사용하는 경우와 마찬가지로 NAT Pinhole 생성은 필요할 수가 있다.
도 3의 ②과정은 전송시험을 위한 코덱 정보를 주고 받게 되는데 이를 이용하여 코덱 별로 필요한 대역폭만큼의 QOS(Quality Of Service)를 PDP 생성 및 활성화 과정에서 요청할 수 있고, RSVP(Resource Reservation Protocol)나 DiffServ(Differentiated Service) 등 QOS 관련 기술을 이용하여 QOS를 보장받을 수 있도록 하여 전송시험이 실제 인터넷 전화 단말(100) 간의 통화와 동일한 환경에서 수행될 수 있도록 한다. 이와 같은 QOS 수행 과정은 본 발명의 전체에 적용될 수 있다.
즉, 만약 실제 호 연결 과정이라면 첫 번째 PDP Context 생성과 활성화 또는 두 번째 RSVP를 통한 특정 경로 세션에 대한 자원 예약 또는 세 번째 DiffServ를 통한 트래픽 분류에 의한 차등화 또는 네 번째 MPLS(Multi-Protocol Label Switching), IntServ(Integrated Service) 등 다양한 방법으로 QOS를 제공하고 있다면 인터넷 전화 단말(100)을 포함한 SIP 네트워크 구성 요소들 사이의 구간별 통화품질 예측을 위한 전송시험도 동일한 QOS를 제공한 후에 실시하도록 한다.
도 7 내지 도 12는 임의의 인터넷 전화 단말 간의 통화품질을 예측하는 과정을 설명하는 도면이다. 도 7 내지 도 12에 있는 인터넷 전화 단말(100)은 IMS망 또는 유선망에서 SIP 메시지를 송수신하는 것을 가정하여 설명한다.
보다 구체적으로, 도 7은 IMS 망에서 임의의 발신 단말과 착신 단말 사이의 통화품질 예측을 위한 전송시험을 수행하기 위한 메시지 송수신 절차이며 발신 단말이 SIP OPTIONS와 같은 메시지를 통해 착신 단말과의 통화품질 예측을 요청하면 IMS 구성 요소는 해당 SIP OPTIONS 메시지를 SIP INVITE 메시지의 전달 경로와 동일하게 전송하고 SIP OPTIONS 메시지가 거쳐 가는 IMS 망의 각 구성 요소는 발신 단말과 착신 단말 사이의 실제 호를 중계하는 상황에서 통신사의 정책, NAT, Topology Hiding, Media Transcoding 등의 다양한 이유로 인해 Media Relay를 수행하는 경우 통화품질 전송 구간의 경계로 설정(단말은 기본적으로 전송 구간의 경계로 설정)되고 각 구간별로 전송시험을 수행하여 각 통화품질 예측 지수를 평균값 혹은 단순하게 최저치를 적용하는 등의 방법으로 전체 구간의 통화품질 예측 지수를 합산한다. 도 7의 경우는 발신 단말과 착신 단말이 속한 양쪽 P-CSCF가 NAT 등의 이유로 인해 Media Relay를 수행하는 과정을 나타낸다.
도 8은 도 7과 대부분 동일하며 발신 단말과 착신 단말이 GPRS(General Packet Radio Service) 망의 경우 GGSN(Gateway GPRS Support Node)을 통해 공인 IP가 바로 설정되거나 단말과 P-CSCF 사이에 SBC 등이 있어서 간접적으로 공인 IP를 가지는 경우로 단말과 SBC을 제외한 IMS 망 구성 요소가 Media Relay를 전혀 수행하지 않으므로(SBC가 일반적으로 Media Relay를 수행하지만 여기서는 무시하고 도 12에서 보충 설명하기로 함) 발신 단말과 착신 단말이 직접 전송시험을 수행하는 과정을 나타낸다.
도 7 및 도 8은 SIP OPTIONS 메시지를 이용하여 임의의 인터넷 전화 발신 단말(102, 106)과 특정 인터넷 전화 착신 단말(104, 108) 간의 통화품질 예측을 수행하는 과정을 나타낸다. 여기에서, 임의의 인터넷 전화 발신 단말(102, 106)은 도 1에 있는 복수의 인터넷 전화 단말(100)들 중 적어도 2개에 해당할 수 있고, 특정 인터넷 전화 착신 단말(104, 108)은 임의의 인터넷 전화 발신 단말(102, 106)에 포함되지 않고, 도 1에 있는 복수의 인터넷 전화 단말(100)들 중 적어도 2개에 해당할 수 있다.
이하, 설명의 편의를 위하여 인터넷 전화 발신 단말(102, 106)은 발신 단말(102, 106)로 기재하고, 특정 인터넷 전화 착신 단말(104, 108)은 착신 단말(104, 108)로 기재하여 설명하도록 한다.
SIP 트랜잭션 요청부(21)는 From 헤더에 발신 단말(102, 106)의 정보를 기록할 수 있고, To 헤더에 착신 단말(104, 108)의 정보를 기록한 후 도 3 내지 도 6과 유사한 방법으로 X-Quality-Test와 같은 헤더를 추가하여 통화품질 예측을 요청할 수 있다.
X-Quality-Test의 헤더는 도 3 내지 도 6의 경우와 마찬가지로 SIP 메시지의 바디(body)에 기록할 수도 있고, 여기에서 의미하는 것은 동일하므로 앞으로 SIP 메시지에 바디(body)를 추가하여 기록하는 과정은 생략하도록 한다.
X-Quality-Test의 헤더는 아래와 같은 형식으로 구성할 수 있다.
X-Quality-Test: Request acodec=ulaw, vcodec=h263, addr1=1.1.1.1:10,11
여기에서, Request는 통화품질 예측 요청, addr1은 통화품질 예측 요청 시 사용할 자신의 IP 주소, 음성 포트 정보 및 영상 포트 정보를 의미한다. 즉, addr1은 자신의 IP 주소(1.1.1.1), 음성 Port(10) 및 영상 Port(11)를 포함하고, acodec은 음성을 위해 ulaw 코덱을 사용하며, vcodec은 영상을 위해 h263 코덱을 사용한다.
자신의 IP 주소는 사설 IP 또는 공인 IP 모두 가능하고 SBC(Session Border Controller)가 발신 단말(102, 106)과 P-CSCF(Proxy CSCF)(400, 404) 사이에 존재하며 발신 단말(102, 106)이 사설 IP를 가지는 경우에는 발신 단말(102, 106)이 사설 IP를 그대로 기록할 수 있고, 이후 SBC가 공인 IP로 변환하여 P-CSCF(400, 404)로 전송할 수 있다. 이때, P-CSCF(400, 404)는 발신 단말(102, 106)이 공인 IP를 가지는 것으로 인식하여 Media Relay를 수행하지 않기 때문에 도 8의 과정이 적용될 수 있다.
발신 단말(102)은 도 3 내지 도 6의 경우와 마찬가지로 SIP 인증을 먼저 수행할 수 있다. 도 7의 ①과정에서, P-CSCF(400)는 SIP OPTIONS 메시지에 대한 응답으로 401 Unauthorized 응답을 발신 단말(102)에 전송하여 인증을 요청할 수 있고, 발신 단말(102)은 SIP 인증 요청에 대해 인증정보를 포함하여 다시 SIP OPTIONS 메시지를 P-CSCF(400)에 전송할 수 있다.
P-CSCF(400)는 발신 단말(102)로부터 수신한 SIP OPTIONS 메시지의 값을 검사하여 인증을 성공하면 다음의 과정을 계속 수행할 수 있고, 인증을 실패하면 403 Forbidden (Bad auth)과 같은 에러 메시지를 발신 단말(102)에 전송하여 통화품질 예측요구를 거부할 수 있다. 앞으로 도 8이후 SIP 인증과정도 동일하게 적용할 수 있고, 더 이상 SIP 인증에 대한 설명은 생략하도록 한다.
일단 P-CSCF(400)는 통화품질 예측요구를 포함하는 SIP 트랜잭션 요청을 수신하고 도 7의 ①과정을 통해 자신이 관리하는 발신 단말(102)이 SIP 트랜잭션 요청에 기록된 착신 단말(104)과 전화연결을 수행하며 Media Relay를 수행하는 경우에는 발신 단말(102)과의 전송시험을 통해 통화품질을 예측할 수 있다. 이때, 전송시험은 도 3 및 도 4에 기술된 방법과 동일하다.
예를 들어, P-CSCF 또는 IP-PBX는 발신 단말(102)이 GGSN(Gateway GPRS Support Node)을 통해 사설 IP를 부여 받고 중간에 NAT Traversal을 수행하는 SBC가 없는 경우, IP-PBX로 구성된 SIP 환경의 경우 또는 NAT 장비 뒤에 존재하는 발신 단말의 경우에는 NAT Traversal을 해결하기 위해 Media Relay를 수행할 수 있다. 이런 경우에는 도 4의 통화품질 예측 방법을 수행하고, Media Relay만 전문적으로 수행하는 서버를 P-CSCF 또는 IP-PBX가 관리한다면 도 3의 통화품질 예측 방법을 수행하면 된다. 또한, 도 7의 ①과정에서, X-Quality-Test 헤더의 addr1 필드는 전혀 필요하지 않으므로 무시하도록 한다.
P-CSCF(400)는 발신 단말(102)과의 통화품질 예측이 완료되면 결과를 자신의 캐시 메모리(cache memory)에 저장할 수 있고, Media Relay를 수행하는 P-CSCF(400)의 IP 주소(30.30.30.30)와 음성 및 영상 각각의 포트(1000, 1001)를 X-Quality-Test 헤더에 아래와 같은 형식으로 저장할 수 있다.
X-Quality-Test: Request acodec= ulaw, vcodec= h263, addr1= 1.1.1.1:10,11, CQTY= 8.9:8.2, addr2= 30.30.30.30:1000,1001
P-CSCF(400)는 X-Quality-Test 헤더를 저장한 후에는 SIP 트랜잭션 요청 메시지의 전송 경로와 동일하게 다음 목적지로 SIP OPTIONS 메시지를 전송할 수 있다. 이때, P-CSCF(400)는 통화품질 예측의 신속성을 위해 CQTY(Call Quality) 필드를 제외하고 SIP OPTIONS 메시지를 먼저 전송한 다음 나중에 200 OK 응답을 전송하는 과정에서 CQTY 필드를 삽입하여 전송한다. 여기에서, CQTY 필드는 각각 음성 품질(8.9) 및 영상 품질(8.2), addr2 필드는 발신 측 P-CSCF(400)의 IP 주소(30.30.30.30), 음성 포트(1000) 및 영상 포트(1001)를 의미한다.
도 8의 ①과정은 발신 단말(106) 자체가 공인 IP를 가지거나 발신 단말(106)과 P-CSCF(404) 사이에 SBS가 존재하여 NAT Traversal을 수행하고, 발신 단말(106)이 공인 IP를 가진 것으로 인식되어 P-CSCF(404)의 Media Relay가 필요하지 않는 경우에 해당한다. 따라서, 도 8의 P-CSCF(404)는 통화품질 예측을 위한 구간의 경계로 설정되지 않을 수 있고, 발신 단말(106)과 P-CSCF(404) 사이의 통화품질 예측은 수행되지 않을 수 있다. 만약, 발신 단말(106)이 사설 IP를 가지더라도 동일한 SUBNET 환경에 구성되므로 Media Relay가 필요하지 않을 수 있다.
예를 들어, SBC가 NAT Traversal을 수행하는 경우에는 발신 단말(106)과 SBC 사이에 Media 전송을 위한 세션을 미리 설정하여 NAT 핀홀을 생성하고 유지할 수 있는데, 이러한 경우 SBC가 자산의 Media Relay 주소를 addr1 필드에 기록(예를 들어, 기존 발신 단말의 주소를 자신의 주소로 변경할 수 있음)하여 P-CSCF(404)로 전송할 수 있습니다. 다만, SBC 주소는 실제 호 생성 시 사용하는 주소이므로 충돌발생이 예상되는 경우에는 SBC가 발신 단말(106)과 협의하여 전송시험세션을 위한 NAT 핀홀(Pinhole)을 생성할 수 있고, SBC의 주소를 X-Quality-Test 헤더의 addr1 필드에 설정할 수 있다.
도 8의 ①과정에서, 발신 단말(106)은 P-CSCF(404)로 전송하는 SIP OPTIONS 메시지의 X-Quality-Test 헤더가 아래와 같으면 그대로 S-CSCF(504)로 전송할 수 있다.
X-Quality-Test: Request acodec= ulaw, vcodec= h263, addr1= 1.1.1.1:10,11
IMS 망의 경우를 예를 들어, 발신 측 P-CSCF(400, 404)에서 SIP OPTIONS 메시지의 다음 목적지는 발신 단말(102, 106)의 홈 네트워크(Home Network)에 속하는 S-CSCF(500, 504)에 해당하고, 다음 목적지는 착신 단말(104, 108)이 속하는 도메인의 I-CSCH(600, 602), HSS 질의를 통해 착신 단말(104, 108)이 속하는 S-CSCF(502, 506), 착신 단말(104, 108)이 속하는 P-CSCF(402, 406) 및 착신 단말(104, 108) 순으로 전송될 수 있다.
만약, X-Quality-Test 헤더는 중간에 Media Relay를 수행하는 노드가 존재하지 않는다면 착신 측 P-CSCF(402, 406)까지 도 7의 경우와 마찬가지로 아래와 같이 발신 단말(102)이 속하는 P-CSCF(400)가 기록한 그대로 전송될 수 있다.
X-Quality-Test: Request acodec= ulaw, vcodec= h263, addr1= 1.1.1.1:10,11, CQTY= 8.9:8.2, addr2= 30.30.30.30:1000,1001
여기에서, addr1은 발신 단말(102)의 주소, addr2는 발신 단말(102)에 속하는 P-CSCF(400)의 주소, CQTY는 도 7의 ①과정에서 산출한 통화품질 예측 결과를 의미한다.
도 8의 경우에는 아래와 같이 발신 단말(106)이 속하는 P-CSCF(404)가 기록한 그대로 전송될 수 있다.
X-Quality-Test: Request acodec= ulaw, vcodec= h263, addr1= 1.1.1.1:10,11
여기에서, addr1은 발신 단말(106)의 주소를 의미한다.
도 7의 ③과정에서, 착신 단말(104)이 사설 IP를 가지는 등의 이유로 착신 측 P-CSCF(402)가 Media Relay를 수행한다면 도 3 및 도 4의 방법으로 착신 단말(104)과 P-CSCF(402) 사이에 통화품질을 예측하고 결과(음성은 8.1, 영상은 8.2)를 캐시 메모리에 저장할 수 있다.
또한, 도 7의 ②과정에서, 착신 측 P-CSCF(402)는 수신한 SIP OPTIONS 메시지의 X-Quality-Test 헤더의 addr2에 기록된 발신 측 P-CSCF(400)로 통화품질 예측을 위한 전송시험을 수행할 수 있고, 결과(음성은 8.4, 영상은 8.5)를 캐시 메모리에 저장할 수 있다. 이 경우에는 NAT Traversal이 일반적으로 존재하지 않으므로 NAT 핀홀(Pinhole) 생성과정은 필요 없고 addr2에 기록된 주소로 전송시험을 수행하면 된다.
착신 측 P-CSCF(402)가 도 7의 ②과정을 통해 발신 측 P-CSCF(400)와 통화품질 예측을 수행할 수 있고, 도 7의 ③과정을 통해 착신 단말(104)과 전송시험을 직접 수행하는 대신 P-CSCF(402)가 도 7의 ②과정만 수행하고 결과와 자신의 주소를 SIP OPTIONS 메시지에 기록한 다음 착신 단말(104)로 전달하고 착신 단말(104)이 P-CSCF(402)와 통화품질을 예측할 수도 있다.
만약, 도 7의 ②과정에서 SIP 인증이 필요하면 도 3 내지 도 6의 경우와 같이 Shared Secret을 이용한 방법은 적절하지 않고 상호 신뢰할 수 있는 CA(Certificate Authority)로부터 파생된 CA가 발행한 인증서를 교환한 상태에서 인증서를 이용한 방법을 통해 인증을 수행할 수 있다. 예를 들어, challenge를 생성하여 전송하면 수신 측이 자신의 개인키로 암호화하여 재전송하고, 수신 측의 인증서의 공개키로 복호화하여 원래 전송한 challenge를 확인하는 과정을 통해 상대방 인증을 수행한다.
이렇게 통화품질 예측이 완료되면 착신 단말(104)이 속하는 P-CSCF(402, 주소= 40.40.40.40:2000,2001)는 아래와 같이 X-Quality-Test 헤더를 구성할 수 있다.
X-Quality-Test: Request acodec= ulaw, vcodec= h263, addr1= 1.1.1.1:10,11, CQTY= 8.9:8.2, addr2= 30.30.30.30:1000,1001 CQTY= 8.4:8.5 addr3= 40.40.40.40:2000,2001 CQTY= 8.1:8.3 addr4= 50.50.50.50:3000,3001
여기에서, addr1은 발신 단말(102)의 주소, addr2는 발신 측 P-CSCF(400)의 주소, addr3은 착신 측 P-CSCF(402)의 주소, addr4는 착신 단말(104)의 주소를 의미한다. 또한, 3개의 CQTY 필드는 각각 순서대로 발신 단말(102)과 발신 측 P-CSCF(400) 사이, 발신 측 P-CSCF(400)와 착신 측 P-CSCF(402) 사이, 착신 측 P-CSCF(402)와 착신 단말(104) 사이의 통화품질 예측 결과를 의미한다.
SIP OPTIONS 메시지에 대한 200 OK 응답에 위의 X-Quality-Test 헤더를 포함하여 발신 단말(102)로 전송할 수 있다. 발신 단말(102)과 착신 단말(104) 사이의 구간별 통화품질 예측 결과는 위의 X-Quality-Test 헤더에 전부 포함되어 있음을 확인할 수 있다.
각 구간별 통화품질 예측 지수는 통화품질 예측을 수행한 주체가 캐시에 저장해 둠으로써 일정 시간 이내에 동일한 대상에 대한 통화품질 예측요청이 수신되면 실제 전송시험을 수행하지 않고 캐시에 저장된 값을 그대로 활용하여 불필요한 트래픽을 감소시킬 수 있다. 예를 들어, 동일한 발신 측 P-CSCF(400)에 속하는 다른 발신 단말(102)이 위와 동일한 착신 단말(104)로 통화품질 예측을 요구하면 발신 측 P-CSCF(400)와 발신 단말(102) 사이에 통화품질 예측만 수행할 수 있고, 나머지 두 번은 캐시 메모리에 저장된 값을 그대로 사용할 수 있다.
도 7의 ②과정을 통한 전송시험 후 착신 측 P-CSCF(402)은 통화품질을 예측한 주체이기 때문에 결과(CQTY= 8.4:8.5)를 발신 측 P-CSCF(400)와의 통화품질 예측 결과로 저장하고, 착신 단말(104)과의 통화품질 예측 결과 역시 저장한다. 발신 측 P-CSCF(400)는 SIP 200 OK 응답 메시지에서 착신 측 P-CSCF(402)와의 통화품질 예측 결과를 참조하여 캐시에 저장한다.
또한 발신 측 P-CSCF(400)에서는 SIP 200 OK 메시지를 참조하여 도 7의 ②과정과 ③과정을 통한 통화품질 예측 결과를 합산하여 발신 측 P-CSCF(400)과 착신 단말(104) 사이의 통화품질 예측 결과로 캐시 메모리에 저장할 수 도 있다. 이 경우 발신 측 P-CSCF(400)에 속한 다른 발신 단말이 동일한 착신 단말(104)에 대해 통화품질 예측을 요구하면 도 7의 ①과정만 수행하고 발신 측 P-CSCF(400)가 캐시에 저장된 통화품질 예측 결과를 활용하여 발신 단말(102)로 바로 SIP 200 OK 응답을 전송하고 통화품질 예측을 종료한다. 이러한 캐시 활용 구조는 본 발명의 전체에 적용될 수 있다.
도 8의 경우는 착신 단말(108)이 자체적으로 또는 SBC 등을 통해 공인 IP를 가지며 따라서 중간에 Media Relay를 수행하는 노드가 없으므로 아래의 X-Quality-Test 헤더가 착신 단말(108)까지 그대로 전달될 수 있다.
X-Quality-Test: Request acodec= ulaw, vcodec= h263, addr1= 1.1.1.1:10,11
도 8의 ②과정을 통해 착신 단말(108)은 addr1을 참조하여 발신 단말(106)과 통화품질 예측을 위한 전송시험을 수행할 수 있다. 만약 착신 측 SBC가 존재하고 착신 측 SBC 역시 도 8의 ①과정에서 설명한 것처럼 착신 단말(108)과 협의하여 전송시험세션을 위한 NAT 핀홀을 생성하고 있다면 해당 주소를 사용하여 전송시험을 수행한다. 즉, 착신 측 SBC가 전송시험에 참가하기 위해 위의 X-Quality-Test 헤더의 addr1 필드를 자신의 주소정보로 변경하여 착신 단말(108)로 전달하고 착신 단말(108)이 해당 SBC의 주소로 전송시험을 수행하면 SBC가 이를 발신 단말(106)로 그대로 Media Relay를 수행하여 전송시험에 참가한다. 도 8의 ③과정을 통해 통화품질 예측 결과가 음성 8.8, 영상 8.9이고 착신 단말(108)의 전송시험을 위한 사설 IP 주소가 192.168.1.1 음성 포트 정보가 10, 영상 포트 정보가 11이고 착신 측 SBC가 변환하는 공인 IP가 50.50.50.50, 음성 포트 정보가 20, 영상 포트 정보가 21이라면 아래 X-Quality-Test 헤더가 포함된 200 OK 메시지가 착신 단말(108)에서 착신 측 SBC로 전송될 수 있다.
X-Quality-Test: Request acodec= ulaw, vcodec= h263, addr1= 50.50.50.50:20,21, CQTY= 8.8:8.9, addr2= 192.168.1.1:10,11
착신 측 SBC는 아래와 같이 X-Quality-Test 헤더의 add1 필드와 addr2 필드를 수정하여 착신 측 SBC에서 착신 측 P-CSCF(406)로 전달할 수 있다.
X-Quality-Test: Request acodec= ulaw, vcodec= h263, addr1= 1.1.1.1:10,11, CQTY= 8.8:8.9, addr2= 50.50.50.50:20,21
이후는 200 OK 메시지가 그대로 발신 단말(106)까지 전달되어 통화품질 예측 과정을 완료하게 된다.
도 9는 임의의 인터넷 전화 발신 단말과 특정 인터넷 전화 착신 단말 간의 통화품질 예측을 수행하는 과정을 나타낸다.
보다 구체적으로, 도 9는 도 8의 경우와 마찬가지로 각 단말은 공인 IP를 가지며 통신사 사이에 보안, NAT Traversal, Topology Hiding 등의 이유로 IMS 망 사이에 Border Controller 역할을 수행하는 IBCF(Interconnection Border Control Function)를 설치하는 경우로 각 통신사의 IBCF는 Media Relay를 수행하는 것이 일반적이고, 도 9에서 양쪽 IBCF가 IBGF(Interconnection Border Gateway Function) 또는 TrGW(Transition Gateway)와 연동을 통해 Media Relay를 수행하므로 통화품질 예측을 위한 전송시험 구간이 발신 단말 - 발신 측 IBGF1 - 착신 측 IBGF2 - 착신 단말로 설정되어 각 구간별 전송시험을 수행하는 과정을 나타낸다
또한, 도 9는 임의의 인터넷 전화 발신 단말(110)과 특정 인터넷 전화 착신 단말(112) 모두 직간접적으로 공인 IP를 가지는 등의 이유로 발신 단말(110)과 발신 측 CSCF1(700) 사이 또는 착신 단말(112)과 착신 측 CSCF2(702) 사이에 Media Relay가 없는 경우에 해당하고, 중간에 이동통신 사업자 간의 보안 또는 NAT Traversal, Topology Hiding 등의 목적으로 시그널링 처리가 목적인 IBCF(Interconnection Border Control Function)와 미디어 처리가 목적인 IBGF(Interconnection Border Gateway Function)가 존재하는 경우 발신 단말(110)과 착신 단말(112) 간의 통화품질 예측을 수행하는 과정을 나타낸다.
또한, 도 9는 IBCF 뿐만 아니라 호 전달 경로 중간에 미디어 트랜스코딩 등이 필요한 경우에도 Media Relay가 발생하게 되어 IBCF의 경우와 비슷하게 통화품질 예측 과정이 수행된다. 여기에서, IBGF는 IBCF와 연동을 통해 Media Relay를 수행하는 것이 일반적이고, 도 9의 ①과정을 통해 발신 측 IBCF1(800)에 도착한 SIP OPTIONS 메시지의 X-Quality-Test 헤더는 아래와 같다.
X-Quality-Test: Request acodec= ulaw, vcodec= h263, addr1= 1.1.1.1:10,11
발신 측 IBCF1(800)은 발신 측 IBGF1(900, 주소= 2.2.2.2)과 연동을 통하여 Media Relay를 수행하므로 SIP OPTIONS 메시지를 착신 측 IBCF2(802)로 전송하기 전이나 또는 통화품질 예측수행의 신속성을 위해 동시에 발신 측 IBGF1(900)으로 명령하여 전송시험을 수행한다.
전송하기 전의 경우는 결과를 IBGF1(900)으로부터 받아서 아래와 같이 X-Quality-Test 헤더를 구성하여 착신 측 IBCF2(802)로 전송할 수 있다.
X-Quality-Test: Request acodec= ulaw, vcodec= h263, addr1= 1.1.1.1:10,11 CQTY= 8.8:8.9, addr2= 2.2.2.2:20,21
IBCF1(800)이 Topology Hiding 역할을 수행하는 경우는 일관성을 위해 아래와 같이 addr1 정보를 삭제하고 IBCF2(802)로 전송할 수 있다.
X-Quality-Test: Request acodec= ulaw, vcodec= h263, CQTY= 8.8:8.9, addr1= 2.2.2.2:20,21
여기에서, 기존의 addr2는 addr1이 될 수 있다.
위에서 설명한 것과 같이 Topology Hiding이 수행되어 SIP OPTIONS 메시지가 IBCF2(802)에 도착하면 IBCF2(802) 역시 마찬가지로 Media Relay를 수행한다면 착신 측 IBGF2(902, 주소= 3.3.3.3)으로 명령하여 도 9의 ②과정을 통해 IBGF1(900)과 IBGF2(902) 사이에 전송시험을 수행할 수 있도록 제어하고 결과를 IBGF2(902)로부터 받아서 아래와 같이 X-Quality-Test 헤더에 기록한 다음 착신 측 CSCF2(702)로 전송한다.
X-Quality-Test: Request acodec= ulaw, vcodec= h263, CQTY= 8.8:8.9, addr1= 2.2.2.2:20,21, CQTY= 9.0:9.1, addr2= 3.3.3.3:30,31
만약 IBCF1(800)이 미디어 트랜스코딩을 수행한다고 가정(audio의 경우 ulaw를 iLBC로, video의 경우 h.263을 h.261로 트랜스코딩)하면 IBCF1(800)이 IBCF2(802)로 전송하는 SIP OPTIONS 메시지의 acodec과 vcodec 필드는 iLBC와 h261로 바꾸어서 전달하도록 하여 실제 통화와 동일하게 IBCF1(800)과 IBCF2(802)는 iLBC와 h261로 통화품질 예측이 수행될 수 있도록 한다. 이러한 필드 변경은 반드시 기억하고 있다가 200 OK 응답 메시지를 전송할 때는 다시 복원하여 전달할 수 있도록 한다.
또한, audio 코덱과 video 코덱은 통화품질 예측을 요청하는 발신 단말 또는 SIP AS(Application Server)가 임의로 정하고 있지만, 실제 호의 경우와 같이 통화품질 예측을 위한 SIP OPTIONS 메시지 전송 이전에 또 다른 SIP OPTIONS Transaction을 이용하여 발신 단말의 지원 가능 코덱 리스트를 모두 기록하여 전송하고 착신 단말이 이 중에서 자신의 지원 가능 코덱 리스트와의 교집합을 SIP OPTIONS 메시지에 대한 응답을 통해 발신 단말로 전달하면 발신 단말이 이 중에서 임의의 코덱을 정하여 통화품질 예측을 수행할 수 있다.
항상 통화품질 예측 과정은 신속성을 위해 전송시험과 SIP OPTIONS 메시지의 전달은 동시에 이루어질 수 있다. 이 때, CQTY 필드는 생략되더라도 Media Relay를 수행하는 서버의 주소는 반드시 포함되어 전달되므로 통화품질 예측을 위한 구간의 경계로 설정된다. SIP Transaction의 기본 timer f는 32초 이므로 전송시험은 10초 정도가 적당할 수 있고, 구간별로 전송시험이 동시에 수행되어야 timer f가 넘지 않는 선에서 최종 200 OK 응답이 발신 단말로 전달될 수 있다. 전송시험 수행 주체는 결과를 기억하고 있다가 200 OK 응답 메시지에서 적당한 위치에 CQTY 필드를 삽입하여 전달하면 된다.
CSCF2(702)의 경우는 앞에서 가정한 대로 Media Relay를 수행하지 않으므로 위의 X-Quality-Test 헤더는 그대로 착신 단말(112)로 전달되고 착신 단말(112, 주소= 4.4.4.4)은 X-Quality-Test 헤더에 포함된 최후의 통화품질 예측을 위한 구간의 경계인 addr2(주소= 3.3.3.3, IBGF2)와 도 9의 ③과정을 통해 통화품질 예측을 수행하고 결과(음성 9.2, 영상 9.3)를 아래와 같이 X-Quality-Test 헤더에 기록하여 CSCF2(702)로 전달할 수 있다.
X-Quality-Test: Request acodec= ulaw, vcodec= h263, CQTY= 8.8:8.9, addr1= 2.2.2.2:20,21, CQTY= 9.0:9.1, addr2= 3.3.3.3:30,31 CQTY= 9.2:9.3, addr3= 4.4.4.4:40,41
CSCF2(702)는 그대로 IBCF2(802)로 전달하며 IBCF2(802)의 경우 IBCF1(800)의 경우와 마찬가지로 Topology Hiding 역할을 수행하고 있다면 아래와 같이 내부망 정보를 숨기기 위해 addr3를 삭제한 다음 IBCF1(800)로 전달할 수 있다.
X-Quality-Test: Request acodec= ulaw, vcodec= h263, CQTY= 8.8:8.9, addr1= 2.2.2.2:20,21, CQTY= 9.0:9.1, addr2= 3.3.3.3:30,31 CQTY= 9.2:9.3
IBCF1(800)은 Topology Hiding을 위해 위에서 삭제했던 발신 단말(110)의 주소를 아래와 같이 원래대로 복원하여 CSCF1(700)으로 전달하고 CSCF1(700)은 발신 단말(110)로 그대로 전달할 수 있다.
X-Quality-Test: Request acodec= ulaw, vcodec= h263, addr1= 1.1.1.1:10,11, CQTY= 8.8:8.9, addr2= 2.2.2.2:20,21, CQTY= 9.0:9.1, addr3= 3.3.3.3:30,31 CQTY= 9.2:9.3
발신 단말(110)은 각 구간별 통화품질 예측을 참조하여 정책에 따라 평균 혹은 최저치를 사용하여 통화품질을 예측할 수 있다.
도 10은 인터넷 전화 착신 단말이 PSTN과 같은 아날로그 회선 교환망에 존재할 때 통화품질 예측을 수행하는 과정을 나타낸다.
보다 구체적으로, 도 10은 착신 단말이 CS(Circuit Switching) domain에 속하는 경우로 IMS 망의 경우 이러한 상황에서 호는 BGCF(Breatout Gateway Control Function)로 전달되고 BGCF로부터 호의 SIP 시그널은 MGCF(Media Gateway Control Function)를 경유하여 SGW(Signaling Gateway)를 통해 CS Domain으로 향하고 호의 미디어는 MGW(Media Gateway)를 통해 CS Domain으로 향하게 되는데, 이런 경우 MGW가 PS(Packet Switching) Domain의 마지막 경유지이므로 여기서 통화품질 예측을 위한 구간 경계가 설정되고 발신 단말과 사이에 통화품질 예측을 위한 전송시험을 수행하는 과정을 나타낸다.
목적지가 PSTN(1400)인 경우 BGCF(1000, Breakout Gateway Control Function)로 SIP OPTIONS 메시지가 전달되고, 다음 MGCF(1100, Media Gateway Control Function)가 선택되어 전달될 수 있다. 시그널링은 SGW(1200, Signaling Gateway)가 담당하고, 미디어는 MGW(1300, Media Gateway)가 담당하여 회선 교환망과 연결되게 된다. 회선 교환망의 경우 물리적으로 대역폭이 보장된 채널을 사용하기 때문에 본 발명의 범위를 넘어서며 더 이상 통화품질 예측 작업은 수행하지 않도록 한다. 즉, MGW(1300) 까지만 통화품질을 예측하도록 할 수 있다.
도 10은 발신 단말(114)이 직간접적으로 공인 IP를 가지는 등의 이유로 인해 발신 단말(114)과 발신 측 P-CSCF1(408) 사이에 Media Relay가 없는 경우에 해당하고, 아래와 같은 X-Quality-Test 헤더를 포함한 OPTIONS 메시지가 도 10의 ①과정을 통해 P-CSCF(408)로 전달되고 이후 MGCF(1100)까지 변경없이 그대로 전달된다.
X-Quality-Test: Request acodec= ulaw, vcodec= h263, addr1= 1.1.1.1:10,11
MGCF(110)는 MGW(1300)와 연동을 통해 Media Relay를 수행하므로 도 10의 ②과정을 통해 MGW(1300, 주소= 2.2.2.2)에 명령하여 통화품질 예측을 수행할 수 있도록 한다. MGCF(803)는 통화품질 예측을 수행한 결과로 음성 8.0 영상 9.0의 결과를 획득하면 아래와 같이 X-Quality-Test 헤더를 포함하여 200 OK 메시지를 BGCF(1000)로 전달하고 차례로 발신 단말(114)까지 그대로 전달하여 통화품질 예측을 수행하는 과정이 종료하게 된다.
X-Quality-Test: Request acodec= ulaw, vcodec= h263, addr1= 1.1.1.1:10,11 CQTY= 8.0:9.0, addr2= 2.2.2.2:20,21
이러한 경우, 최종 착신 단말까지 통화품질 예측을 완료한 것이 아니기 때문에 200 OK 메시지 대신에 다른 SIP Error 메시지에 실패 지점(MGCF)과 실패 이유(회선 교환망으로 전환) 등의 정보를 포함하여 전송할 수 있다. 다만, 위의 X-Quality-Test 헤더의 내용은 그대로 포함하여 MGW(1300)까지의 통화품질 예측 결과는 전달하도록 한다. 회선 교환망으로 전환 등의 기술적인 이유뿐만 아니라 통화품질 예측에 따른 통신망의 과부하를 예방하기 위해 특정 구역은 통신사의 정책적인 이유에 의해서도 통화품질 예측이 금지될 수 있다.
도 11는 외부의 SIP AS에 의해 통화품질 예측을 수행하는 과정을 나타낸다. 보다 구체적으로, 도 11은 발신 단말이 아니라 SIP 응용서버 등이 특정 발신 단말과 착신 단말 사이의 통화품질 예측을 요청하는 경우를 나타낸다.
발신 단말(116)이 SIP OPTIONS 메시지를 전송하여 직접적으로 요구하는 대신에 SIP AS(1500, Application Server) 등이 임의의 통신 프로토콜을 통해 특정 발신 단말(116)로부터 특정 착신 단말(118)로의 통화품질 예측을 요청할 수도 있다. 이러한 경우 IMS 망(1600)을 예로 들면 발신 단말(116)이 속한 P-CSCF(410)의 정보를 먼저 획득할 수 있다. 이는 발신 단말(116)이 속한 도메인에서 SLF(Subscriber Location Function)를 통해 HSS(Home Subscriber Server)의 주소를 얻고 HSS에 질의하여 발신 측의 S-CSCF의 주소를 얻은 다음 P-CSCF(410)의 정보를 획득하면 된다. 유선망의 경우 역시 마찬가지로 비슷한 방법에 의해 발신 가입자가 속한 SIP Proxy의 정보를 획득하면 되고, 이후 SIP AS(1500)은 발신 측의 SIP Proxy 또는 P-CSCF(410)로 임의의 발신 단말(116)과 착신 단말(118) 사이의 통화품질 예측을 요청한다.
도 11의 ①과정을 통해 발신 단말(116) 정보와 착신 단말(118) 정보가 포함된 통화품질 예측 요청이 발신 측 P-CSCF(410)로 도착하면 도 11의 ②과정을 통해 P-CSCF(410)가 발신 단말(116)로 통화품질 예측을 요청한다. 마찬가지로 SIP OPTIONS 메시지를 사용하고, To 헤더와 Request URI는 발신 단말(116)의 주소가 되며 X-Quality-Test 헤더는 아래와 같이 구성할 수 있다.
X-Quality-Test: Request acodec= ulaw, vcodec= h263, peer= "sip:abc@def.com"
여기에서, Request는 통화품질 예측 요청, acodec은 음성코덱, vcodec은 영상코덱, peer는 착신 단말의 정보를 의미한다.
발신 단말(116)이 도 11의 ②과정을 통해 통화품질 예측 요청을 받으면 도 11의 ③과정을 통해 착신 단말(118)과 자신(116) 사이에 통화품질 예측을 수행할 수 있다.
도 11의 ③과정은 경우에 따라 도 7, 도8, 도 9, 도 10, 도 12 등의 과정으로 대체된다. 도 11의 ④과정을 통해 발신 단말(116)은 P-CSCF(410)로 도 11의 ②과정을 통해 받은 통화품질 예측 요청에 대한 결과를 P-CSCF(410)로 전송할 수 있다. 200 OK 메시지의 X-Quality-Test 헤더는 아래와 같이 구성할 수 있다.
X-Quality-Test: Request acodec= ulaw, vcodec= h263, peer= "sip:abc@def.com", CQTY= 8.0:9.0
위의 예에서는 구간별 통화품질 예측 결과를 합산한 최종 결과만 전달되는 것을 확인할 수 있다. 또한, 각 구간별로 통화품질 예측 결과를 구간의 경계들의 주소 정보와 같이 포함하여 전달할 수도 있다.
발신 측 P-CSCF(410)가 발신 단말(116)과 착신 단말(118) 사이의 통화품질 예측 결과를 받으면 도 11의 ⑤과정을 통해 SIP AS(1500)로 통화품질 예측 결과를 전송할 수 있다.
도 12는 통화품질 예측 트래픽을 감소시킬 수 있는 과정을 나타내는 도면이고, 도 13은 본 발명의 일 실시예에 따른 UDP 패킷의 비교를 나타내는 도면이다. 보다 구체적으로, 도 12는 Media Relay를 수행하는 SBC를 통화품질 예측을 위한 구간의 경계로 설정하여 통화품질 예측을 수행하는 과정을 설명한다.
지금까지는 SBC가 단말의 NAT Traversal을 책임지면서 실제 호 연결 과정에서는 Media Relay를 실제적으로 수행하고 통화품질 예측을 위한 전송시험에서도 Media Relay를 실제적으로 수행하지만 통화품질 예측의 구간 경계는 되지 않았다. 만약 SBC가 다수 설치되어 있고 다수의 단말이 SBC와 연동되어 있다면 SBC를 통화품질 예측 구간의 경계로 설정하도록 하고 SBC 사이의 통화품질 예측 기록을 캐시를 통해 관리한다면 통화품질 예측 트래픽을 감소시킬 수 있다.
도 12에서, 발신 단말(120)의 사설 IP 주소는 192.168.1.10이고 이후 SBC를 통해 변경되는 공인 IP 주소는 20.20.20.20이라고 가정한다.
도 12의 ①과정은 발신 단말(120)이 착신 단말(122)와의 통화품질 예측을 요청하고, 착신 단말(122)의 정보는 SIP OPTIONS 메시지의 To 헤더에 설정되며, SIP OPTIONS 메시지의 X-Quality-Test의 헤더는 아래와 같은 형식으로 구성될 수 있다.
X-Quality-Test: Request acodec= ulaw, vcodec= h263, addr1= 192.168.1.10:10,11
발신 측 SBC1(1700)이 위의 X-Quality-Test가 포함된 SIP OPTIONS 메시지를 수신하면 addr1 필드를 무시하고 도 3 및 도 4의 방법으로 발신 단말(120)과 자신(1700) 사이에 통화품질 예측을 수행(음성 8.9, 영상 8.2)하고 아래와 같이 X-Quality-Test 헤더를 구성하여 발신 측 Proxy1(1800)로 전달한다.
X-Quality-Test: Request acodec= ulaw, vcodec= h263, addr1= 192.168.1.10:10,11, CQTY= 8.9:8.2, addr2= 20.20.20.20:10,11
이러한 경우 발신 측 Proxy1(1800)과 착신 측 Proxy2(1802)는 Media Relay를 수행하지 않기 때문에 착신 측 SBC2(1702, 주소= 30.30.30.30)까지 위의 X-Quality-Test 헤더가 그대로 전달된다. 착신 측 SBC2(1702)는 Media Relay를 수행하고, 상기 이유로 통화품질 예측을 위한 구간의 경계로 설정되기 때문에 통화품질 예측을 수행하고 결과(음성 8.3, 영상 8.4)를 아래와 같이 기록하고 착신 단말(122, 주소= 192.168.2.10)로 전달한다.
X-Quality-Test: Request acodec= ulaw, vcodec= h263, addr1= 192.168.1.10:10,11, CQTY= 8.9:8.2, addr2= 20.20.20.20:10,11 CQTY= 8.3:8.4 addr3= 30.30.30.30:10,11
착신 측 SBC2(1702)가 착신 단말(122)과의 통화품질 예측까지 수행하여 바로 Proxy2(1802)로 200 OK 메시지를 전송할 수 있다. 착신 단말(122)은 도 11의 ③과정을 통해 착신 측 SBC2(1702)와 전송시험을 수행하고 결과(음성 8.5, 영상 8.6)를 아래와 같이 기록하여 SIP 200 OK 메시지를 착신 측 SBC2(1702)로 전송한다.
X-Quality-Test: Request acodec= ulaw, vcodec= h263, addr1= 192.168.1.10:10,11, CQTY= 8.9:8.2, addr2= 20.20.20.20:10,11 CQTY= 8.3:8.4 addr3= 30.30.30.30:10,11 CQTY= 8.5:8.6 addr4= 192.168.2.10:10,11
해당 200 OK 메시지는 그대로 발신 단말(120)까지 전달되어 통화품질 예측 과정은 종료하게 된다.
본 발명은 실제 통화 연결의 경우 각 통신사의 정책에 따라 보안성 향상을 위해 IPSEC(Internet Protocol Security)이나 SRTP(Secure Real-Time Transport Protocol) 같은 기술이 사용되기도 하는데, 통화품질 예측 과정에서도 구간별로 실제 호 연결 과정과 최대한 동일한 환경에서 시험을 위해 구간의 경계 사이에 IPSEC SA(Security Association) 협상을 먼저 수행한 후 IPSEC의 ESP(Encapsulating Security Payload)나 AH(Authentication Header) 방식을 사용하여 전송시험 패킷에 대한 암호화와 인증을 수행할 수 있다.
또한 RTP를 위해 전용으로 개발된 SRTP를 사용하는 경우는 실제 RTP 패킷이나 실제 미디어를 포함하지 않는 RTP 패킷에 대해 구간의 경계 사이에 키 교환 수행 후 SRTP 방식으로 해당 패킷에 대한 암호화와 인증을 수행할 수 있다.
UDP 패킷을 통한 전송시험의 경우 UDP 패킷을 생성하는 과정은 실제 시험하고자 하는 대상 코덱의 RTP 패킷과 동일한 크기와 전송간격을 갖는 UDP 패킷을 생성하도록 한다. ULAW의 경우를 예로 들면 초당 8000 샘플의 데이터를 20ms의 간격으로 나누어서 전송(160샘플 * 50개의 데이터를 1초 동안 전송)하므로 160샘플(=160바이트)의 임의의 데이터와 실제 RTP 패킷에 포함되는 RTP 헤더의 크기(기본 12바이트 + 코덱의 type에 따라 포함되는 헤더 또는 확장 데이터)의 크기 만큼의 dummy 데이터를 포함하는 UDP 패킷을 생성하여 주고 받도록 하며, 일정한 기준 시간 동안의 패킷을 생성하여 시험하도록 할 수 있다.
즉, 본 발명은 ULAW를 사용하고 10초의 시간 동안 통화품질 예측 시험을 수행한다고 하면 500개의 패킷을 생성하며 각각의 패킷에 포함되는 dummy 데이터에는 현재 전송 측의 발송시간 정보를 포함한다. 상대방이 재전송하면 전송 측은 500개 각각의 패킷에 대해 수신된 시간과 패킷의 dummy 데이터 속에 포함된 발송시간을 비교하여 평균 RTT(Round Trip Time)를 계산하고, 누락된 패킷의 개수와 각각의 패킷의 RTT 값과 평균 RTT 값의 편차(이격도) 값을 구한 다음 이 값들을 사용하여 통화 품질을 예측하도록 할 수 있다. 무선망이 포함될 경우 원본 데이터의 무결성 여부도 통화품질 예측 과정에 포함시킬 수 있다.
AMR(Adaptive Multi Rate)과 같은 음성 코덱에서는 네트워크 상황에 따라 가변 전송률을 사용하므로 UDP 패킷 전송 역시 실제의 경우와 비슷하게 가변 전송률을 네트워크 상황에 따라 적용하도록 할 수 있다.
영상의 경우는 대부분 압축률 향상을 위해 영상 정보를 이미지 전체의 독립된 정보를 포함하는 I-frame(Intra Frame)과 이전의 I 또는 P-frame을 참조하여 부호화한 P-frame(Predictive Frame), 앞과 뒤의 I 또는 P-frame 모두를 쌍방향 예측하여 부호화한 B-frame(Bi-directionally predictive Frame)으로 구성된 GOP(Group Of Pictures) 개념을 사용하는데, frame 들의 크기가 틀리고 GOP 구조 자체도 달리 구성이 가능하므로 통계적인 방법 등을 사용하여 UDP 패킷 역시 실제의 경우와 비슷하게 전송간격과 패킷 크기를 조정하여 최대한 실제 통화시의 영상 프레임과 유사하게 전송하도록 할 수 있다. 실제 RTP 패킷과 본 발명에 사용된 UDP 패킷의 비교는 도 13을 참조한다.
도 14는 인터넷 전화 단말과 인터넷 전화 서버 또는 SBC 사이의 관계를 상세하게 설명하는 도면이다. 보다 구체적으로, 도 14는 인터넷 전화 단말(124, 126)과 인터넷 전화 서버(200) 사이를 보다 자세하게 표현하는 도면이다.
인터넷 전화 단말1(124)은 스마트폰과 같이 무선망을 통해 접속하는 인터넷 전화 단말의 경우에 해당한다. 인터넷 전화 단말1(124)는 BTS(1900, Base Transceiver Station) 또는 Node B(1900)와 무선으로 연결되고, BTS(1900)를 통하여 무선망을 관리하는 BSC(2000, Base Station Controller) 또는 Node B(1900)를 통하여 무선망을 관리하는 RNC(2000, Radio Network Controller)를 경유하여 유선망으로 연결된다.
이후, 인터넷 전화 단말1(124)는 회선교환망에 접속하기 위해서 MSC(Mobile Switching Center)에 접속(도 14에서는 생략)할 수도 있고, 인터넷과 같은 패킷 교환망에 접속하기 위해 SGSN(2100)과 GGSN(2200)을 통해 IP주소를 부여 받게 되고 Router(2600)와 같은 L3 Switch, L2 Switch, L4 Switch 등으로 구성된 인터넷을 통하여 인터넷 전화 서버(200)로 직접 또는 경우에 따라 SBC(1704)를 경유하여 접속하게 된다.
인터넷 전화 서버(200)는 IMS망의 P-CSCF와 유선망의 SIP Proxy 및 사기업용의 IP-PBX 등의 역할을 수행하는 서버이며, SIP 프로토콜 관점에서는 SIP 망에서 인터넷 전화 단말1(124)과 SIP로 대화하는 첫 번째 SIP 객체이다.
인터넷 전화 단말1(124)은 통신사의 정책 등의 이유로 GGSN(2200)을 통해 사설 IP를 부여 받을 수도 있고, 이후 NAT 장비를 통해 공인 IP로 변환되어 인터넷을 경유하여 인터넷 전화 서버(200)로 접속할 수도 있는데, 이런 경우 NAT Traversal 문제를 해결하기 위해 SBC(1704)를 경유하여 인터넷 전화 서버(200)로 접속할 수 있다. 또한, 발신 단말과 착신 단말 사이에 호가 생성될 경우 미디어 역시 SBC를 경유하는 것이 일반적이며 NAT Traversal 문제가 있음에도 불구하고 SBC(1704)를 사용하지 않는 경우에는 호가 생성될 때 인터넷 전화 서버(200)가 미디어를 릴레이할 수도 있다.
인터넷 전화 단말2(126)은 유무선 공유기(2300)와 DSL 모뎀(2400)을 경유하여 xDSL과 같은 가입자 망(Access Network)을 통해 유선망에 연결된다. DSLAM(2500, Digital Subscriber Line Access Multiplexer)은 통신사에 설치되어 DSL 모뎀(2400)과 연결되어 가입자에게 인터넷 접속 서비스를 제공하게 된다. 이후는 인터넷 전화 단말1(124)의 경우와 마찬가지로 Router(2600)와 같은 L3 Switch, L2 Switch, L4 Switch 등으로 구성된 인터넷을 통하여 인터넷 전화 서버(200)로 직접 또는 경우에 따라 SBC(1704)를 경유하여 접속하게 된다.
통신사의 정책에 따라 통신사는 DSL 모뎀(2400)을 통해 가입자에게 사설 또는 공인 IP를 제공할 수 있고, 공인 IP를 제공받더라도 유무선 공유기를 사용할 경우 일반적으로 인터넷 전화 단말2(126)는 사설 IP를 부여 받게 된다. 이런 경우 인터넷 전화 단말1(124)의 경우와 마찬가지로 NAT Traversal 문제를 해결하기 위해 SBC(1704)를 경유하여 인터넷 전화 서버(200)로 접속하거나 인터넷 전화 서버(200)가 미디어를 릴레이할 수도 있다.
본 발명에서는 이런 경우를 반영하여 호가 실제 생성되기 전에 임의의 인터넷 전화 단말(124, 126)의 통화품질 상태를 예측하기 위해 인터넷 전화 서버(200)와 인터넷 전화 단말(124, 126) 사이 또는 SBC(1704)와 인터넷 전화 단말(124, 126) 사이의 구간에 대해 전송시험을 통해 통화품질을 예측하여 Idle 상태에 있는 인터넷 전화 단말(124, 126)의 통화품질 상태의 기준으로 삼도록 한다. 즉, 통화상대가 결정되기 전의 상태에서 어떤 상대방과 연결하더라도 공통되는 최장거리의 미디어 전송경로에 대해 통화품질을 예측하도록 하는 것이다. IPv6 환경과 같은 이유로 무선망의 경우 GGSN(2200)을 통해 인터넷 전화 단말1(124)이 공인 IP를 가지거나 유선망의 경우 DSL Modem(2400)을 통해 인터넷 전화 단말2(126)가 공인 IP를 가지면 실제 통화 시에 미디어가 SBC(1704)나 인터넷 전화 서버(200)를 경유하지 않고 상대 단말로 직접 전달되어서 본 발명의 통화품질 예측 구간과 겹치지 않는 문제가 있을 수 있지만 인터넷 전화 서버(200)가 아닌 별개의 통화품질 측정 장비를 통해 측정하는 경우보다는 인터넷 전화 서버(200)의 상태를 반영할 수 있는 장점이 있다.
도 15는 본 발명의 일 실시예에 따른 타방에 대한 통화품질을 예측하는 과정을 설명하는 순서도이다.
도 15에서, 통화품질을 예측하는 방법은 제1 및 제2 인터넷 통신장치들 중 일방에서 수행될 수 있고, 타방에 대한 통화품질을 예측할 수 있다.
SIP 트랜잭션 요청부(21)는 일방의 통화품질 예측을 위한 일방의 주소 정보(IP주소, Port번호)를 선택적으로 포함할 수 있고, 통화품질 예측요구를 포함하는 SIP(Session Initiation Protocol) 트랜잭션 요청을 타방에 전송할 수 있다(단계 S1501).
SIP 트랜잭션 응답 수신부(22)는 타방으로부터 SIP 트랜잭션 요청에 응답하여 타방의 주소 정보(IP주소, Port번호)를 포함하는 SIP 트랜잭션 응답을 수신할 수 있다(단계 S1502).
통화품질 예측부(23)는 일방의 주소 정보와 타방의 주소 정보를 통해 1) 실제 미디어의 포함 여부와 관계없는 RTP 패킷 2) RTCP 패킷 또는 3) 타방에 대해 RTP를 가장한 가장 UDP 패킷(이하, 전송시험패킷)을 통한 통신을 통해 타방과의 전송시험을 수행하여 통화품질을 예측할 수 있다(단계 S1503).
SIP 트랜잭션 응답 전송부(24)는 (a) 단계 이후 일방의 주소 정보를 사용하여 타방은 (c) 단계를 먼저 수행하여 통화품질 예측 결과를 구한 후에 결과를 SIP 트랜잭션 응답에 포함하여 일방에게 전송할 수 있다(단계 S1504).
통화선택 결정부(25)는 N개의 전송시험패킷에 관한 패킷 손실률 및 전송지연 시간을 기초로 예측된 예측통화품질을 저장하여 타방에 대한 통화 선택을 결정할 수 있다(단계 S1505).
도 16은 본 발명의 다른 일 실시예에 따른 호 생성 과정없이 복수의 인터넷 전화 단말들에 대한 통화품질을 예측하는 과정을 설명하는 순서도이다.
도 16에서, 통화품질을 예측하는 방법은 인터넷 전화 서버 또는 SBC에서 수행되고, 호 생성 과정없이 복수의 인터넷 전화 단말들에 대한 통화품질을 예측할 수도 있다.
통화품질 예측부(23)는 인터넷 전화 서버 또는 SBC와 인터넷 전화 단말 사이의 구간에 대해 1) 실제 미디어의 포함 여부와 관계없는 RTP 패킷 2) RTCP 패킷 또는 3) 타방에 대해 RTP를 가장한 가장 UDP 패킷(이하, 전송시험패킷)을 통한 통신을 통해 복수의 인터넷 전화 단말들 각각과의 전송시험을 수행하여 통화품질을 예측할 수 있다(단계 S1601).
통화선택 결정부(25)는 복수의 인터넷 전화 단말들 각각에 관한 통화품질의 예측을 기초로 통화 상대방에게 통화품질의 예측 결과를 제공하거나 가장 우수한 통화품질을 가지는 가용 가능한 인터넷 전화 단말에 관한 정보제공을 수행하거나 또는 연결의 시도를 수행할 수 있다(단계 S1602).
상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
[부호의 설명]
10: 통화품질 예측 시스템 20: 통화품질 예측서비스 장치
21: SIP 트랜잭션 요청부 22: SIP 트랜잭션 응답 수신부
23: 통화품질 예측부 24: SIP 트랜잭션 응답 전송부
25: 통화선택 결정부 26: 제어부
30, 40: IP Header 32, 42: UDP Header
34: RTP Header 36: RTP Data
44: UDP 패킷에 포함된 전송시각 46: Dummy Data
100, 102, 104, 106, 108, 110, 112, 114, 116, 118, 120, 122, 124, 126: 인터넷 전화 단말
200: 인터넷 전화 서버 300: 통화품질 예측 서버
400, 402, 404, 406, 408, 410: P-CSCF(Proxy CSCF)
500, 502, 504, 506, 508: S-CSCF(Serving CSCF)
600, 602: I-CSCF(Interrogating CSCF)
700, 702: CSCF(Call Session Control Function)
800, 802: IBCF(Interconnection Border Control Function)
900, 902: IBGF(Interconnection Border Gateway Function)
1000: BGCF(Border Gateway Control Function)
1100: MGCF(Media Gateway Control Function)
1200: SGW(Signaling Gateway) 1300: MGW(Media Gateway)
1400: PSTN(Public Switched Telephone Network)
1500: SIP AS(Application Server)
1600: IMS(IP Multimedia Subsystem) 망
1700, 1702, 1704: SBC(Session Border Controller)
1800, 1802: SIP Proxy
1900: BTS(Base Transceiver Station) 또는 Node B
2000: BSC(Base Station Controller) 또는 RNC(Radio Network Controller)
2100: SGSN(Serving GPRS Support Node)
2200: GGSN(Gateway GPRS Support Node)
2300: Wireless Router(유무선 공유기)
2400: DSL(Digital Subscriber Line) Modem
2500: DSLAM(Digital Subscriber Line Access Multiplexer)
2600: Router 2700: Backbone 망
Claims (12)
- 제1 및 제2 인터넷 통신장치들 중 일방에서 수행되고, 타방에 대한 통화품질을 예측하는 방법에 있어서,(a) 상기 일방의 통화품질 예측을 위한 상기 일방의 주소 정보(IP주소, Port번호)를 선택적으로 포함할 수 있고, 통화품질 예측요구를 포함하는 SIP(Session Initiation Protocol) 트랜잭션 요청을 타방에 전송하는 단계;(b) 상기 타방으로부터 상기 SIP 트랜잭션 요청에 응답하여 상기 타방의 주소 정보(IP주소, Port번호)를 포함하는 SIP 트랜잭션 응답을 수신하는 단계;(c) 상기 일방의 주소 정보와 상기 타방의 주소 정보를 통해 1) 실제 미디어의 포함 여부와 관계없는 RTP 패킷 2) RTCP 패킷 또는 3) 상기 타방에 대해 RTP를 가장한 가장 UDP 패킷(이하, 전송시험패킷)을 통한 통신을 통해 상기 타방과의 전송시험을 수행하여 통화품질을 예측하는 단계; 및(d) 또는 (a) 단계 이후 상기 일방의 주소 정보를 사용하여 상기 타방은 (c) 단계를 먼저 수행하여 통화품질 예측 결과를 구한 후에 결과를 상기 SIP 트랜잭션 응답에 포함하여 상기 일방에게 전송하는 단계를 포함하는 통화품질을 예측하는 방법.
- 제1항에 있어서, 상기 (c)단계는상기 일방과 상기 타방이 NAT 장비를 통해 연결된 경우에는 양방 간의 상기 주소 정보를 사용하여 상기 NAT 장비를 경유한 양방 간의 통신을 통해 상기 주소 정보를 위한 NAT 핀홀(Pinhole)을 미리 생성하는 단계를 포함하는 것을 특징으로 하는 통화품질을 예측하는 방법.
- 제1항에 있어서, 상기 (c) 단계는상기 전송시험패킷을 N 개(상기 N은 2 이상의 자연수) 순차적으로 상기 일방 또는 타방에 송신하고 각각의 RTT(Round Trip Time)와 각각에 관한 손실 여부를 확인하여 상기 통화품질을 예측하는 단계를 포함하는 것을 특징으로 하는 통화품질을 예측하는 방법.
- 제1항에 있어서,(e) 상기 N개의 전송시험패킷에 관한 패킷 손실률 및 전송지연 시간을 기초로 예측된 예측통화품질을 저장하여 상기 타방에 대한 통화 선택을 결정하는 단계를 더 포함하는 것을 특징으로 하는 통화품질을 예측하는 방법.
- 제4항에 있어서, 상기 (e) 단계는상기 타방이 복수의 인터넷 전화 단말들로 구성된 경우에는 상기 복수의 인터넷 전화 단말들 각각에 관한 예측통화품질을 기초로 특정 인터넷 전화 단말을 통화 선택하는 단계를 포함하는 것을 특징으로 하는 통화품질을 예측하는 방법.
- 제5항에 있어서, 상기 (e) 단계는상기 일방과 상기 타방 간의 통신이 음성통신에 해당하는 경우에는 현재 가용 가능하고 가장 적은 전송시간 지연을 가지는 인터넷 전화 단말을 상기 특정 인터넷 전화 단말로 선택하는 단계를 더 포함하는 것을 특징으로 하는 통화품질을 예측하는 방법.
- 제6항에 있어서, 상기 (e) 단계는상기 일방과 상기 타방 간의 통신이 데이터통신에 해당하는 경우에는 현재 가용 가능하고 가장 적은 패킷 손실률을 가지는 인터넷 전화 단말을 상기 특정 인터넷 전화 단말로 선택하는 단계를 더 포함하는 것을 특징으로 하는 통화품질을 예측하는 방법.
- 제1항에 있어서,(e) 상기 제1 및 제2 인터넷 통신장치들 간에 릴레이 장치들 중 미디어 릴레이를 수행하는 적어도 하나의 미디어 릴레이 장치가 존재하는 경우에는 상기 제1 및 제2 인터넷 통신장치들과 상기 적어도 하나의 미디어 릴레이 장치(이하, 통화품질 예측장치)에서 상호 인접한 통화품질 예측장치들 간에 형성된 릴레이 구간에 관해 상기 (a) 내지 (d) 단계들의 수행 또는 상기 (c) 단계의 단독 수행을 통해 상기 통화품질 예측을 순차적으로 완성하는 단계를 더 포함하는 것을 특징으로 하는 통화품질을 예측하는 방법.
- 제8항에 있어서, 상기 (e) 단계는상기 릴레이 구간에 관한 통화품질 예측을 캐시에 저장하고 특정 시간이 초과되면 상기 캐시를 갱신하는 단계를 포함하는 것을 특징으로 하는 통화품질을 예측하는 방법.
- 제9항에 있어서, 상기 (e) 단계는특정 릴레이 구간에 관한 통화품질 예측이 실패한 경우에는 상기 실패의 원인과 관련된 통화품질 예측장치에 관한 정보를 포함한 SIP 트랜잭션 응답을 수신하는 단계를 더 포함하는 것을 특징으로 하는 통화품질을 예측하는 방법.
- 인터넷 전화 서버 또는 SBC에서 수행되고, 호 생성 과정없이 복수의 인터넷 전화 단말들에 대한 통화품질을 예측하는 방법에 있어서,(a) 인터넷 전화 서버 또는 SBC와 인터넷 전화 단말 사이의 구간에 대해 1) 실제 미디어의 포함 여부와 관계없는 RTP 패킷 2) RTCP 패킷 또는 3) 상기 타방에 대해 RTP를 가장한 가장 UDP 패킷(이하, 전송시험패킷)을 통한 통신을 통해 상기 복수의 인터넷 전화 단말들 각각과의 전송시험을 수행하여 통화품질을 예측하는 단계; 및(b) 상기 각각에 관한 통화품질의 예측을 기초로 통화 상대방에게 상기 통화품질의 예측 결과를 제공하거나 가장 우수한 통화품질을 가지는 가용 가능한 인터넷 전화 단말에 관한 정보제공을 수행하거나 또는 연결의 시도를 수행하는 단계를 포함하는 통화품질을 예측하는 방법.
- 제1 및 제2 인터넷 통신장치들 중 일방에서 수행되고, 타방에 대한 통화품질을 예측하는 방법을 수행하는 통화품질 예측서비스 장치에 있어서,상기 일방의 통화품질 예측을 위한 상기 일방의 주소 정보(IP주소, Port번호)를 선택적으로 포함할 수 있고, 통화품질 예측요구를 포함하는 SIP(Session Initiation Protocol) 트랜잭션 요청을 타방에 전송하는 SIP 트랜잭션 요청부;상기 타방으로부터 상기 SIP 트랜잭션 요청에 응답하여 상기 타방의 주소 정보(IP주소, Port번호)를 포함하는 SIP 트랜잭션 응답을 수신하는 SIP 트랜잭션 응답 수신부;상기 일방의 주소 정보와 상기 타방의 주소 정보를 통해 1) 실제 미디어의 포함 여부와 관계없는 RTP 패킷 2) RTCP 패킷 또는 3) 상기 타방에 대해 RTP를 가장한 가장 UDP 패킷(이하, 전송시험패킷)을 통한 통신을 통해 상기 타방과의 전송시험을 수행하여 통화품질을 예측하는 통화품질 예측부;또는 상기 SIP 트랜잭션을 타방에 전송한 이후 상기 일방의 주소 정보를 사용하여 상기 타방은 상기 통화품질을 예측하는 것을 먼저 수행하여 통화품질 예측 결과를 구한 후에 결과를 상기 SIP 트랜잭션 응답에 포함하여 상기 일방에게 전송하는 SIP 트랜잭션 응답 전송부; 및상기 N개의 전송시험패킷에 관한 패킷 손실률 및 전송지연 시간을 기초로 예측된 예측통화품질을 저장하여 상기 타방에 대한 통화 선택을 결정하는 통화선택 결정부를 포함하는 통화품질 예측서비스 장치.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201780008163.6A CN108496346A (zh) | 2016-01-25 | 2017-01-24 | 预测通话质量的方法及实现上述方法的通话质量预测服务装置 |
CN202310395329.1A CN116319709A (zh) | 2016-01-25 | 2017-01-24 | 预测通话质量的方法及通话质量预测服务装置 |
US16/044,319 US10623465B2 (en) | 2016-01-25 | 2018-07-24 | Method for predicting call quality and call quality prediction service apparatus for performing the same |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20160008727 | 2016-01-25 | ||
KR10-2016-0008727 | 2016-01-25 | ||
KR1020160173727A KR20170088745A (ko) | 2016-01-25 | 2016-12-19 | Sip 네트워크에서 구간별 통화 품질 예측 방법 |
KR10-2016-0173727 | 2016-12-19 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US16/044,319 Continuation-In-Part US10623465B2 (en) | 2016-01-25 | 2018-07-24 | Method for predicting call quality and call quality prediction service apparatus for performing the same |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2017131418A1 true WO2017131418A1 (ko) | 2017-08-03 |
Family
ID=59398522
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/KR2017/000839 WO2017131418A1 (ko) | 2016-01-25 | 2017-01-24 | 통화품질을 예측하는 방법 및 이를 수행하는 통화품질 예측서비스 장치 |
Country Status (3)
Country | Link |
---|---|
KR (1) | KR101787348B1 (ko) |
CN (2) | CN116319709A (ko) |
WO (1) | WO2017131418A1 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10623465B2 (en) | 2016-01-25 | 2020-04-14 | Byung Jin Moon | Method for predicting call quality and call quality prediction service apparatus for performing the same |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115103064B (zh) * | 2022-06-07 | 2023-01-10 | 慧之安信息技术股份有限公司 | 基于sip接入的话音专线的实现方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100785112B1 (ko) * | 2007-01-02 | 2007-12-12 | 삼성네트웍스 주식회사 | SIP(Session InitiationProtocol)기반 MoIP(Multimediaover Internet Protocol)서비스를수용하는 무선 접속 지점에 QoS를 제공하기 위한 장치및 방법 |
KR20080052287A (ko) * | 2006-12-06 | 2008-06-11 | 한국전자통신연구원 | VoIP 망에서의 실시간 통화품질 측정 및 관리 장치와그 방법 |
KR20110010443A (ko) * | 2009-07-24 | 2011-02-01 | 뉴브로드테크놀러지(주) | 인터넷 전화의 원격 품질측정을 위한 자동응답과 루프백 방법 |
JP2011250064A (ja) * | 2010-05-26 | 2011-12-08 | Nec Access Technica Ltd | VoIP回線制御システム、VoIP通信装置、VoIP通信制御方法およびVoIP通信制御プログラム |
KR20150097986A (ko) * | 2014-02-19 | 2015-08-27 | 주식회사 엘지유플러스 | 통신 단말기 종류별 통신 품질 판단 시스템 및 그 제어방법과, 그 제어방법을 실행하기 위한 프로그램을 기록한 기록 매체 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100501324B1 (ko) * | 2002-12-30 | 2005-07-18 | 삼성전자주식회사 | 음성 품질 예측값을 이용한 보이스 오버 인터넷프로토콜에서의 콜 라우팅 방법 |
US7020087B2 (en) * | 2003-01-13 | 2006-03-28 | Motorola, Inc. | Segmented and distributed path optimization in a communication network |
CN102118521B (zh) * | 2010-01-05 | 2013-12-04 | 华为技术有限公司 | 一种呼叫路由方法,装置和系统 |
CN102546418B (zh) * | 2012-01-16 | 2015-04-22 | 东北大学 | 基于重叠网络多径传输的ims客户端及媒体交换方法 |
CN102594703B (zh) * | 2012-03-19 | 2015-04-29 | 广州华多网络科技有限公司 | 基于中继节点的互联网通信系统和通信路径选择方法 |
-
2017
- 2017-01-24 WO PCT/KR2017/000839 patent/WO2017131418A1/ko active Application Filing
- 2017-01-24 CN CN202310395329.1A patent/CN116319709A/zh active Pending
- 2017-01-24 KR KR1020170011333A patent/KR101787348B1/ko active IP Right Grant
- 2017-01-24 CN CN201780008163.6A patent/CN108496346A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20080052287A (ko) * | 2006-12-06 | 2008-06-11 | 한국전자통신연구원 | VoIP 망에서의 실시간 통화품질 측정 및 관리 장치와그 방법 |
KR100785112B1 (ko) * | 2007-01-02 | 2007-12-12 | 삼성네트웍스 주식회사 | SIP(Session InitiationProtocol)기반 MoIP(Multimediaover Internet Protocol)서비스를수용하는 무선 접속 지점에 QoS를 제공하기 위한 장치및 방법 |
KR20110010443A (ko) * | 2009-07-24 | 2011-02-01 | 뉴브로드테크놀러지(주) | 인터넷 전화의 원격 품질측정을 위한 자동응답과 루프백 방법 |
JP2011250064A (ja) * | 2010-05-26 | 2011-12-08 | Nec Access Technica Ltd | VoIP回線制御システム、VoIP通信装置、VoIP通信制御方法およびVoIP通信制御プログラム |
KR20150097986A (ko) * | 2014-02-19 | 2015-08-27 | 주식회사 엘지유플러스 | 통신 단말기 종류별 통신 품질 판단 시스템 및 그 제어방법과, 그 제어방법을 실행하기 위한 프로그램을 기록한 기록 매체 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10623465B2 (en) | 2016-01-25 | 2020-04-14 | Byung Jin Moon | Method for predicting call quality and call quality prediction service apparatus for performing the same |
Also Published As
Publication number | Publication date |
---|---|
KR20170088774A (ko) | 2017-08-02 |
KR101787348B1 (ko) | 2017-10-19 |
CN116319709A (zh) | 2023-06-23 |
CN108496346A (zh) | 2018-09-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2019135560A1 (ko) | Pdu 세션 수립 절차를 수행하는 방법, 사용자 장치 및 네트워크 노드 | |
WO2021137579A1 (ko) | 에지 컴퓨팅 시스템에서 어플리케이션 컨텍스트 재배치 조정 방법 및 장치 | |
WO2019216526A1 (ko) | 5gs에서 액세스 제어를 수행하는 방법 및 사용자 장치 | |
WO2018194315A1 (ko) | Pdu 세션 수립 절차를 처리하는 방법 및 amf 노드 | |
WO2018066799A1 (ko) | 무선 통신 시스템에서 세션 및 서비스 연속성 모드 선택 방법 및 이를 위한 장치 | |
WO2015199319A1 (en) | Method and apparatus for optimizing internet communications | |
WO2011132956A2 (ko) | 세션 내의 하나 이상의 미디어를 단말간에 공유하는 방법 | |
WO2016006969A1 (en) | Inter-menb handover method and device in a small cell system | |
WO2015016546A1 (ko) | Ims 서비스를 위한 페이징 방법 및 장치 | |
WO2015147576A1 (en) | Apparatus and method for communicating voice data in a wireless network | |
WO2014011008A1 (en) | Method and device for accessing a mobile communication system | |
WO2021054747A1 (ko) | 무선 통신 시스템에서 psa-upf 재배치를 위한 장치 및 방법 | |
WO2013122374A1 (ko) | 무선 통신 시스템에서 근접 서비스를 수행하는 방법 및 장치 | |
WO2017095204A1 (ko) | 통신 서비스 제공 방법 및 패킷 데이터 네트워크 게이트웨이 | |
WO2021054770A1 (ko) | 무선통신 시스템에서 데이터 속도 제어 방법 및 장치 | |
WO2018048230A1 (en) | Method for managing short data service (sds) in mission critical data (mc data) communication system | |
WO2013019035A2 (en) | Apparatus and method for supporting handover | |
WO2021187893A1 (ko) | 무선 통신 시스템에서 저지연 위치 정보 서비스를 제공하기 위한 장치 및 방법 | |
WO2017023055A1 (en) | Method and system for identity management across multiple planes | |
WO2014029088A1 (zh) | 深度报文检测解析结果共享/获取方法、系统及其相应设备 | |
WO2021060892A1 (en) | Method and system for handling mission critical data (mcdata) communications using pre-established session | |
WO2019070100A1 (ko) | 네트워크 슬라이싱을 지원하는 무선 통신 시스템에서 정보를 송수신하는 방법 및 이를 위한 장치 | |
WO2011056034A2 (en) | Method for controlling session and server using the same | |
WO2012165794A2 (ko) | 이기종 네트워크 기반 데이터 동시 전송 서비스 시스템 및 그 방법 | |
EP3513547A1 (en) | Method for managing communication in mission critical data (mcdata) communication system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 17744539 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 17744539 Country of ref document: EP Kind code of ref document: A1 |