450 likes | 696 Views
H.324/3G-324M. 2008.02.15. Contents. H.324 & 3G-324M History 비교 Scope H.324 The Base Protocol Annex A – Protocol Stack for Control Channel Annex C – Terminals over error prone channels Annex K – MONA H.223 The Multiplex Protocol H.245 The Control Protocol 3G-324M Spec
E N D
H.324/3G-324M 2008.02.15
Contents • H.324 & 3G-324M • History • 비교 • Scope • H.324 • The Base Protocol • Annex A – Protocol Stack for Control Channel • Annex C – Terminals over error prone channels • Annex K – MONA • H.223 • The Multiplex Protocol • H.245 • The Control Protocol • 3G-324M • Spec • Error Handling • Call Set-up Scenario
H.324 & 3G-324M - History • Video Conferencing Protocol on Circuit Switching(CS) Network • All-IP wireless 망에서 multimedia service에 대한 요구는 있으나 현재 Packet Switching(PS) 망의 QoS가 이에 미치지 못함 • 이와 같은 문제를 해결하기 위해 IP 망 대신 CS 망을 사용하는 protocol을 개발 • CS 망을사용함으로써 여러 가지 장점을 얻을 수 있음 • Fixed delay • Low overhead of codecs • No IP/UDP/RTP header overheads • Multimedia protocols • H.310 for ATM • H.320 for ISDN (1990) • H.323 for IP networks (1996) • H.324 for GSTN (1996) • H.324M for Mobile networks (1998) • H.324/I for ISDN • 3G-324M for 3G Mobile networks • 3G-324M의 진화과정 3G-324M 3GPP, 3GPP2 에서 채택 More Codecs, Error handling Using H.223 annexes H.324 GSTN 의 동영상 서비스 제공 H.324M GSTN 및 무선망에서의 동영상 서비스 제공
H.324 & 3G-324M - 비교 • H.324 • GSTN망에서의 V.34 모뎀 접속 • H.263, G.723.1 codec 사용 • H.223기반의 Multiplexing / De-multiplexing • H.245기반의 Call Control • H.324M • H.324와 가능한 가깝게 설계 • GSTN 및 무선망에서의 multimedia 서비스 제공 • 대부분 H.223의 확장 (Annexes) • 에러 방지 기능 제공 (Flexible, Bit Rate Scalable, Extensible) • Media payload의 손실에 대한 보다 높은 에러 방지 기능 제공 • 3G-324M • Wireless interface, H.223, H.245 version 3 이상 지원 필요 • GSM-AMR mandatory (G.723.1 optional) • H.263 mandatory (MPEG-4, H.261 optional) • H.223 Annex A, B(mobile level 1, 2)를 필수 지원 • H.324에서 modem과 dialing 관련 부분 제외
H.324 & 3G-324M - Scope • H.324 (ITU-T) • Analog telephone (GSTN, General Switched Telephone Network)망에서 modem을 사용하여 videoconferencing을 하기 위한 규격 • Voice, video, data의 전송이 가능
H.324 & 3G-324M - Scope • 3G-324M (3GPP) • 3G mobile network에서 video telephony service를 하기 위한 protocol • 하위 mobile network에 독립적이어서 UMTS나 TD-SCDMA등의 망에도 쉽게 적용될 수 있음 • H.324 spec을 기반으로 wireless 환경을 고려한 여러 가지 보완이 이루어진 규격
H.324 – The Base Protocol • Multimedia data 처리 • Video stream encoding/decoding • Audio stream encoding/decoding • Receive path delay • 필수는 아니나 lip sync를 지원하는 경우 H.245 제어 채널을 통해 H.223 SkewIndication message를 사용해 audio/video 간의 시간차에 대한 정보를 송신 • 수신 측은 이러한 정보를 선택적으로 사용하여 audio에 적절한 delay를 발생시킴 • Data 통신 • 모든 data channel은 선택 사항이나 real-time audiographic conferencing을 지원하는 H.324 단말은 T.120을지원해야 함 • T.120 – Real-time audiographics conferencing (DB 접근, 정지 화상 전송, annotation, App. 공유, 실시간 file 전송 등을 포함) • T.84 – 정지 화상 전송 • T.434 – File 전송 • H.224/H.281 – 원거리 카메라 제어를 포함한 simplex application 실시간 제어 • 외부 modem을 사용하는 경우 이를 제어하기 위해 V.250 protocol 사용 • H.324 단말은 통신에 필수적인 요소를 제외한 다른 기능 요소들은 선택적으로 구현할 수 있음 • 필수 기능 요소 • V.34 modem • H.223 multiplex • H.245 system control
H.324 – The Base Protocol • Optional enhancements • H.324 단말은 data 통신을 위한 물리적인 입출력 포트를 가지거나, 단말 자체에 data application을 가질 수 있음 • H.324 단말에 선택적으로 암호화를 적용할 수 있으며, 이를 위해 변경된 H.223/H.245의 절차를 따름 • Multipoint 통신 • MCU를 사용하여 다자간 통신을 구현할 수 있음 • MCU는 단말들에게 수신 모드 capability 집합을 전송하여 공통의 전송 모드를 사용하도록 요구할 수 있음 • Bit rate을 맞추기 위해 MCU는 각 단말의 전송 속도를 제한할 수 있음 • MCU는 각 단말의 lip sync를 위해 각기 다른 H.223 SkewIndication을 보낼 수 있음 • 그림과 같은 MCU의 계층 구조는 향후 연구 과제임
H.324 – The Base Protocol • Optional enhancements • Maintenance • H.245에 정의된 loopback 기능의 지원을 위한 선택 기능 • System loopback의 동작은 향후 연구 과제 • Media loopback– 수신되어 decoding 된 media를 다시 encoding하여 송신 측으로 되돌려 보냄 • Logical channel loopback – 지정된 channel의 패킷을 multiplexer가 송신측으로 돌려보냄
H.324 Annex A – Protocol Stack for Control Channel • Annex A • H.245 message의 전달을 보장하기 위한 protocol로써 SRP와 LAPM을 정의 • Simple Retransmission Protocol (SRP) • 하나의 message를 보내고 반드시 응답을 받아야 다음 message를 전송 • H.324 단말은필수로 지원해야 하며, 통신을 시작할 때는 항상 SRP로 시작 • 각 SRP frame은 하나의 AL1 AL-SDU로 만들어짐 • Link Access Procedure for Modems (LAPM, optional) • Message에 대한 응답을 받기 전에 여러 개의 message를 연속해서 보낼 수 있음 • 선택적으로 지원할 수 있으며, 복잡한 단말에서만 사용 • H.223Capability message를 통해 상대방에게 LAPM 사용을 제안할 수 있으며, 상대방이 동의하면 에러 보정 연결 설정 • LMPM mode로 동작하고 있는 중에도 SRP message를 받으면 정상적으로 응답이 가능해야 함
H.324 Annex A – Protocol Stack for Control Channel • SRP Command Frame • SRP command frame의 각 필드는 H.223에 정의된 포맷을 따름 • Header 값은이진수 ‘11111001’ (십진수 249)이며, 이는 특정 값을 가진 HDLC address octet과 같음 • HDLI 값 62 • C/R bit 값 0 • EA bit 값 1 • Seq. number는 첫 전송 시에 단말이 임의로 선택하며, 새로운 command를 전송할 때마다 증가 (modulo 256, 0~255) • 재전송일 경우에는 seq. number를 바꾸지 않고 원본과 똑같이 유지 • Info. 필드는 하나 혹은 그 이상의 H.245 message를 포함하며 최대 2048 octet • Info. 필드 마지막 octet의 여분 bit padding은 X.691을 따름 • FCS는 전체 frame의 16bit CRC (V.42 8.1.1.6.1을 따름) • SRP Response Frame • SRP command frame 수신에 대한 응답 • Header octet과 FCS 필드로만 구성 • Header 값은이진수 ‘11111011’ (십진수 249)이며, 이는 특정 값을 가진 HDLC address octet과 같음 • HDLI 값 62 • C/R bit 값 1 • EA bit 값 1 • FCS는 command의 경우와 동일하게 적용
H.324 Annex A – Protocol Stack for Control Channel • SRP procedure at transmitter • Ack. timer T401과 retransmission counter N400을 사용 • T401의 주기는 각 단말에서 결정하여 사용하므로 송신 단말과 수신 단말의 T401이 다른 주기로 동작할 수 있음 • N400의 최대값도 각 단말에서 결정하여 사용하나,5이상의 값을 권장 • 새로운 command frame을 전송할 때 T401 start, N400 reset • 전송한 command에 대해 정확한 header와 FCS를 가진 response가 도착하거나,T401의 주기가 끝나기 전에 새로운 command를 전송할 수 없음 • 정확한 response를 받으면 증가한 seq. number를 가진 새로운 command를 전송할 수 있음 • Response가 도착하기 전에 T401이 먼저 끝나면 다음의 절차를 따름 • 원본과 동일한 seq. number를 가지고 command를 재전송 • T401을 재시작하고 N400의 값을 1 증가 • 재전송 횟수가 N400 최대값을 넘으면 link 단절로 간주하고 적당한 action을 취함 • SRP procedure at receiver • 정확한 header와 FCS를 가진 SRP command를 받은 수신 단말은 500ms 내에 response를 보내야 함 • 이전 command와 동일한 seq. number를 가진 frame을 수신하면 H.245 layer로 전달하지 않아야 함 • 위의 경우들을 제외한 다른 frame의 수신은 무시 • 단말이 LAPM/V.42 mode로 동작이 가능하다고 협의가 된 경우는 예외 • LAPM mode의 경우는 header의 DLCI 값을 확인하여 LAPM에서 사용되는 특정 값과 일치하는 경우 그에 해당하는 응답을 보냄
H.324 Annex A – Protocol Stack for Control Channel • Numbered SRP response frame (NSRP) • SRP response는 seq. number를 사용하지 않으므로 어느 command에 대한 ack.인지 불명확할 수 있음 • 이러한 문제를 해결하기 위해 NSRP의 사용을 권장 (필수는 아님) • NSRP의 사용하면 더욱 신뢰성 있는 control channel operation이 가능하며 T401의 값을 더 작게 하여 사용할 수 있음 • Header 값은이진수 ‘11110111’ (십진수 247)이며, 이는 특정 값을 가진 HDLC address octet과 같음 • HDLI 값 61 • C/R bit 값 1 • EA bit 값 1 • FCS는 다른 frame들과 동일하게 V.42 8.1.1.6.1을따름 • NSRP의동작 • NSRP를 사용하고자 하는 단말은 H.245 message를 통해 이 사실을 상대 단말에 알림 • Receiver의 동작 • H.245 NSRP capability를수신하기 전까지는 SRP response로 응답해야 함 • NSRP capability를 수신하고 나면 모든 SRP command에 대해 NSRP response로 응답해야 함 • Transmitter의 동작 • 첫 번째 NSRP response를 수신하기 전까지는 SRP response를 수신하여 정상적으로 처리해야 함 • 일단 NSRP response를 수신한 다음부터는 오직 NSRP response만 정상적으로 처리 • 그 밖의 동작은 SRP와 같음
H.324 Annex A – Protocol Stack for Control Channel • LAPM/V.42 mode • 단말 간에 LAPM/V.42 통신이 열리기 전에는 SRP mode로 H.245 message를 주고 받아야 함 • LAPM이 설정된 후에는 H.245 message 전송에 SRP를 사용할 수 없음 • 주소 필드의 DLCI 값은 이진수 ‘111111’ (십진수 63) 사용 • N401(info. 필드의 최대 octet 수)값을 제외한 모든 parameter 값은 V.42에 따름 • 크기가 큰 capability set의 전송을 위해 N401의 값은 충분히 크게 설정될 수 있으며, default 값은 2048
H.324 Annex A – Protocol Stack for Control Channel • Windowed NSRP (WNSRP) control frame • WNSRP frame은 logical channel number 0, multiplex table entry 15를 사용하는 control channel에 의해 처리 • 하위 호환성을 위해 SRP/NSRP frame들은 mux table entry 0를 사용 • Mux table entry 15를 지원하지 않는 수신 단말은 H.223 6.4.1.1에따라 이를 무시해야 함 • WNSRP command frame • Header 값이 이진수 ‘11110001’ (십진수 241)이라는 점을 제외하고 SRP command와 동일함 • SRP command frame은 seq. number를 windowing 목적으로사용하도록 허용하지 않음 • 각각의 command에 대한 응답을 받는 데 full round-trip이 소요됨 • Call setup을 위해 단말 간에 5번 이상의 control message 교환이 필요할 수 있으며, 이로 인해 많은 시간이 소요됨 • 이 과정을 병렬화 함으로써 소요되는 round-trip 횟수를 줄여 call setup 시간을 단축할 수 있음 • WNSRP response frame • Header 값이 이진수 ‘11110011’ (십진수 243)이라는 점을 제외하고 NSRP response와 동일함
H.324 Annex A – Protocol Stack for Control Channel • WNSRP 지원 단말에 필요한 기능 • 단말 간에 이 기능의 사용을 알리는 데 H.245 message는 쓰지 않음 • WNSRP mode detection • WNSRP를 사용하고자 하는 단말은 상대로부터 첫 번째 WNSRP frame을 수신하기 전까지 mux table entry 15를사용하여 WNSRP command를 송신 • 첫 번째 WNSRP frame을 수신하기 전까지는 SRP command와 WNSRP command를 모두 송신해야 함 • 수신 단말로부터 WNSRP frame을 수신하여 mode switch가 일어난 다음부터는 mux table entry 0을사용하며 SRP command의 송신은 중단 • 수신 된 SRP command에는 반드시 SRP/NSRP response로 응답 • Additional mode counter N402를 가짐 • N402의 최대값은 단말에서 결정할 수 있고(1 이상이어야 함), 각 송수신 단말이 서로 다른 N402 값을 가지고 동작할 수 있음 • SRP 또는 NSRP response를 수신하면 N402 증가 • WNSRP frame을 수신하지 못하고 N402의 값이 정해진 최대값을 초과하면 WNSRP frame의 송신을 중단하고 SRP/NSRP만 사용 • 첫 번째 SRP와 WNSRP frame의 seq. number는 0을 사용하며 새로운 command를 보낼 때마다 증가 (modulo 256) • WNSRP mode로 동작하기 시작한 단말은 SRP/NSRP mode로 돌아갈 수 없음 • WNSRP mode로 switch 되면 단말은 response를 기다리지 않고 하나 이상의 WNSRP command를 계속하여 송신 • 송신 된 WNSRP command는 각각의 T401 ack. timer와 N400 retransmission counter를 가져야 함
H.324 Annex A – Protocol Stack for Control Channel • WNSRP procedure at the transmitter • 하나의 command를 보내고 그에 대한 response를 받기 전에 seq. number가 증가 된 다음 command를 바로 전송할 수 있음 • 각각의 command에 대해 T401 timer나 N400 counter의 사용 등 일반적인 동작은 SRP/NSRP와 동일 • WNSRP 특유의 동작 • 전송한 command frame은 response를 받기 전까지 보관 • Command frame에 대한 정확한 response를 수신하면 해당 command frame을 삭제하고 T401 정지 • WNSRP response를 수신하면 그보다 이전에 송신한 보관된 command들을 모두 재송신하고 각 T401 다시 시작, N400 증가 • WNSRP procedure at the receiver • 일반적인 동작은 SRP/NSRP와 동일 • WNSRP 특유의 동작 • 처음 수신한 SRP command frame의 seq. number가 0이 아닌 경우, 상대 단말이 WNSRP를 지원하지 않는 것으로 간주하고 SRP/NSRP만을 사용하여 통신 • 수신된 WNSRP command frame의 seq. number가 예상하는 seq. number보다 큰 경우, 수신된 command를 처리하지 않고 보관 • 보관된 command는 그보다 앞 순서의 command들이 모두 수신되어 처리된 뒤에 처리 • Window size가 작거나 memory 부족 등의 이유로 command를 보관할 수 없는 경우에는 해당 command를 무시하고 응답하지 않음
H.324 Annex C – Terminals over error prone channels • Multimedia telephone terminals over error prone channels • 전송 error가 잦은 환경에서의 H.324 단말 사용에 대해 다음과 같은 내용을 정의 • NSRP를 필수적으로 사용 • 전송 error에 강한 multiplexer의사용 (여러 단계의 error 처리 level을 제공) • 초기 level setup 절차 • Session 도중에 동적으로 level을 바꾸는 절차 • 네 가지의 H.223 multiplexer level을 정의 • 높은 level일 수록 전송 error가 많은 환경에 강해지지만 complexity와 overhead도 함께 증가 • H.223 level 0: H.223 baseline • H.223 level 1: H.223 Annex A를 사용 • Level 0에서 MUX-PDU를 구분하기 위해 사용되는 HDLC flag을더 긴 flag으로 대체하여 MUX-PDU 동기화를 향상 • HDLC bit stuffing은 사용하지 않음 • Control Channel Segmentation and Reassembly Layer (CCSRL) 사용 • H.223 level 2: H.223 Annex B를 사용 • Annex A의 특징을 포함 • MUX-PDU의 내용을 나타내는 header에 error protection 추가 • H.223 level 3: H.223 Annex C를 사용 • Annex B의 특징을 포함 • AL-PDU를 보호하기 위해 error protection과 같은 여러가지 기능을 제공
H.324 Annex C – Terminals over error prone channels • Multimedia telephone terminals over error prone channels • 단말은 SRP와 NSRP를 모두 지원해야 함 • Level 0로 session을 시작하는 경우에는 SRP를 사용 • 그 밖의 level로 session을 시작하는 경우에는 NSRP를 사용 • Level 3 adaptation layer의 사용 • 송/수신 단말이 모두 level 3를 지원하는 경우에는 level 0/1/2에서도 level 3에 정의된 adaptation layer AL1M, AL2M, AL3M을 사용할 수 있음 • 양방향 channel에서 H.223 adaptation layer와 H.223 level 3 adaptation layer를 동시에 사용할 수는 없음 • Session의 각 방향은 서로 다른 level을 사용할 수 있음 • H.324 baseline의 수정 • Mobile 단말의 사용을 전제로 함 • H.324의 구조의 V.34 modem 대신 wireless interface를 사용 • V.34를 사용하지 않으므로 V.8도 사용하지 않음 • 단말은 G.723.1 Annex C를 지원해야 함 (error protection) • 모든 단말이 H.223 level 0를 지원하므로 Annex C를 지원하지 않는 H.324 단말과 연동하기 위해 특별한 기능을 가질 필요가 없음
H.324 Annex C – Terminals over error prone channels • Terminal procedures • H.324 baseline의 표준 통신 절차 • Phase A : 음성 채널 호 setup • Phase B : 초기 아날로그 전화 통신 • Phase C : 디지털 통신 설정, 모뎀 점검 • Phase D : 초기화 • Phase E : 통신 • Phase F : 세션 종료 • Phase G : 부가 서비스 및 통화 해제 • Mobile 단말을 위한 절차 수정 • Wireless telephony의 접근 절차에 따라 phase A와 B 생략 • Phase C: 단말은 자체 표준을 사용하여 디지털 통신을 설정 • Phase D: T401 timer의 값은 Annex E의 절차에 따라 정의, 16개의 연속된 HDLC flag의 전송은 Annex C의 level setup 절차로 대체 • Phase G: 의도하지 않게 연결이 끊어져 phase G로 넘어온 경우, 연결을 종료할 것인지, phase A와 C의 setup 절차로 돌아갈 것인지를 미리 설정된 내용에 따라 결정
H.324 Annex C – Terminals over error prone channels • Session 시작 시의 multiplex level 초기화 • 양 단말에서 지원하는 가장 높은 level을사용하기 위한 절차 • Physical line이 연결 되고, phase D의 capability exchange를 하기 전에 수행 • 각 level의 stuffing sequence는 해당 표준에따름 (아래 표 참조) • Stuffing mode는 전적으로 multiplex level에의해 결정되며 adaptation layer와는 관계 없음 • 양단말이 level 3로 통신을 시작하는 경우, 하나의 channel이 AL 1/2/3를 사용하여 열려 있더라도 H.223 Annex C의 stuffing mode를 사용해야 함 • Level setup 절차 • 각단말이 지원하는 가장 높은 level의 stuffing sequence를 전송 • 상대방 단말이 자신과 같거나 낮은 level을 사용하고 있음을 알 수 있을 때까지 수신한 stuffing sequence를 계속 해서 확인 • 같은 level로 확인 된 경우 H.324 통신 절차의 phase D를 수행 • 자신보다 낮은 level로 확인 된 경우 즉시 그에 맞춰서 stuffing sequence를 변경하여 송신 • 신뢰도를 높이기 위해 동일한 stuffing sequence가 일정 횟수(e.g. n=5) 이상 수신 되어야 이를 사용하도록 할 수도 있음
H.324 Annex C – Terminals over error prone channels • Session 중의 multiplex level/option 변경 • Level을 변경하고자 하는 단말이 mobileOperationTransmitCapability message의 modeChangeCapability를 true로 설정하고 변경하고자 하는 level을 포함하여 송신 • modeChangeCapability가 true인 H.245 message를 수신한 단말은 변경할 level을 지원할 수 있는 경우에 level 변경 절차를 시작 • 단말 A가 단말 B에게 변경 절차를 시작하는 H.245 command를 전송 • 이를 수신한 단말 B는 바로 다음과 같은 작업을 수행 • Payload를 포함한 MUX-PDU 송신 중지 • 현재 levelsync flag의 1의 보수를 취하여 연속적으로 송신 시작 (최소는 10회, 최대는 500ms 이내에 보낼 수 있는 횟수로 제한) • 새로운 level의 MUX-PDU 전송 시작 • 단말 A는 1의 보수 flag을 수신하다가처음으로 새로운 level의 sync flag을 받는 순간에 level 변경을 수행 • 단말 A가 T401 timer에여유시간을 더한 제한 시간 내에 연속적인 1의 보수 sync flag을 받지 못하면 변경 절차를 다시 시작 • 이미 사용 중인 level로의 변경 command를 받으면 이를 무시 • 변경 절차가 수행되는 도중에 단말 B가 또 다른 option 변경을 요청할 수 없음
H.324 Annex C – Terminals over error prone channels • Control Channel Segmentation and Reassembly Layer (CCSRL) • Annex A에 정의 된 control channel용 protocol stack은 mobile 환경과 같이 전송 error가 자주 발생하는 환경에서는 신뢰성이 떨어짐 • 특히 message의 크기가 클수록 성공적인 전송이 어려워짐 (e.g. 특별한경우의 H.245 Capability Exchange message) • 이러한 문제를 해결하기 위해 H.245와 NSRP or LAPM/V.42 layer 사이에 segmentationlayer를 정의 (CCSRL) • Annex C를 사용하는 단말에는 CCSRL을 필수적으로 적용 • H.245 message(CCSRL-SDU)를하나 이상의 segment(CCSRL-PDU)로분할 • CCSRL을 이용하는 주체(User of CCSRL)는 항상 H.245 • 단말은 H.245 message 전체를 한꺼번에 전송하지 않고 segmentation layer에서 만든 frame을 전송
H.324 Annex C – Terminals over error prone channels • CCSRL과 CCSRL User사이에 교환되는 정보 • CCSRL-DATA.request (CCSRL-SDU) • CCSRL User가 CCSRL에게 상대 단말의 CCSRL User로 data(CCSRL-SDU)를 전송해 줄 것을 요청 • CCSRL-DATA.indication (CCSRL-SDU) • CCSRL이 CCSRL User에게 CCSRL-SDU의 수신을 알림 • CCSRL-SDU • CCSRL과 CCSRL User 사이에 교환되는 data • 길이는 가변이나 반드시 정수 개수의 octet 단위로 전송 되어야 하며, 최대 수신 허용 크기는 256 octet • CCSRL-PDU • CCSRL과 하위 layer 사이에 교환되는 data • 길이는 가변 • 다음과 같은 CCSRL-PDU는 error로 취급하여 무시 • 포함하고 있는 octet의 수가 정수가 아닌 경우 • CCSRL-PDU의 최대 크기를 초과하는 경우 • 크기가 0인 경우 • LS 필드의 값이 잘못 된 경우 (이진수 ‘1111 1111’ 혹은 ‘0000 0000’만 가능)
H.324 Annex K – MONA • Media Oriented Negotiation Acceleration Procedure (MONA) • H.324의 call setup 과정에서 media channel 초기화를 더욱 빠르고 유연하게 하기 위한 확장 • 반드시 H.324 Annex C와 함께 사용 • Media channel 초기화를 위한 MONA Preference Message를 가장 먼저 송신 • H.245 capability exchange를 기다리지 않고 빠르게 media channel을 열 수 있음 • Preference message를 통한 channel 설정이 실패할 경우에는 일반적인 H.245 협상도 가능 (fallback) • 기존 H.245 procedure를 조금만 수정하여 빠른 fallback mechanism을 구현할 수 있음 • Annex C의 단말간 동작 절차 중 phase D를 수정하여 level setup 절차 중에 MONA phase를 새로 정의
H.324 Annex K – MONA • MONA framing • Frame Information (FI) • Last Segment (LS) flag로 1 bit, Segment Sequence Number (SSN)로 3 bit을 사용 • 나머지 4 bit은 현재 사용하지 않고 고정된 값을 넣어서 전송 • Payload Length (PL) • Frame Emulation Avoidance (FEA)가 적용되기 전의 payload 크기를 octet 단위로 표시 • Payload • Preference Message Capability Description을 포함 • CRC • FEA가 적용되기 전의 전체 frame에 CRC 적용 • CRC error가 발생한 경우,FI 필드나 reserved 필드에 잘못된 값이 들어있는 경우 해당 frame을 폐기 • MPC(Media Preconfigured Channel) media data를 포함하는 MONA frame의 경우는 예외 • MPC media data의 경우는 decoder에서 error를처리하므로 frame 자체의 error는 따로 처리하지 않음 • Segmentation and Reassembly를 위해 Annex C의 CCSRL을 다음과 같이 수정하여 사용 • Last Segment flag은 CCSRL의 LS를 사용 • Mona frame의 FI에포함 된 SSN(Segment Sequence Number)은 0에서 시작하여 단순 증가하며 사용, 최대 값은 6 (7은 reserved value)
H.324 Annex K – MONA • MONA payload • Call setup을 빠르게 하기 위한 capability 정보를 포함하여 media channel을 여는 데 사용할 수 있음
H.324 Annex K – MONA • Channel establishment method negotiation • MONA 단말은 session을 열기 위해 channel capability와 preference 정보를 포함한 Preference Message를 반복적으로 전송하기 시작 • Preference Message를 최소 10번 반복 전송 • 하나의 session 동안 송신되는 Preference Message들은 ACK 값을 제외한 모든 정보를 동일하게 유지 • ACK 초기 값은 ’00’이며 Preference Message를 수신함에 따라 ‘01’, ‘10’으로 바꾸어 전송 • ACK 값이 ‘10’인 Preference Message나 내용이 비어있지 않은 첫 번째 H.223 MUX-PDU를 수신하면 Preference Message 송신을 중단 (SPC/MOS 협상의 경우는 예외) • Preference Message 송신을 개시하고 수신은 아직 하지 못한 상태에서도 data 전송을 할 수 있음 • 하나 이상의 MPC를 사용한 media data 전송 • SPC를 사용한 session signalling data 전송 • Mux level setup flag 전송 • 송신한 Preference Message의 MPC-TX에 표시되지 않은 Preconfigured Channel은 사용할 수 없음 • 위에서 정의한 Preference Message 전송 중단 조건이 만족될 때까지는 Preconfigured Channel PDU 사이마다 최소 한 개의 Preference Message 전송
H.324 Annex K – MONA • Channel establishment method negotiation • Preference Message를 수신하면 MPC-RX 값을 통해 사용 불가능한 MPC를 확인하고 해당 channel을 사용한 송신을 중단 • Channel negotiation behavior • 양 단말이 모두 SPC를 지원하고, 최소 하나의 단말이 이를 사용하기를 원하면(SPP) MPC를 사용한 송신을 모두 중단하고 SPC negotiation을 시작 (MPC는 사용한 적 없는 것으로 간주) • 양 단말이 모두 SPC를 지원하고, 서로 주고 받은 MPC capability를 비교한(e.g. local MPC-RX와 remote MPC-TX를 logical AND 연산) 결과 Preconfigured Channel을 열 수 없는 경우 SPC negotiation을 시작 • 이외의 경우에는 다음 중 한 가지 방법을 사용하여 각 media type에 대해 빠진 media channel을 열어야 함 • 수신한 MPC-RX를 살펴 본 결과 주어진 media type에 대한 MPC를 사용할 수 있는 경우 해당 채널을 사용하여 media 송신 개시 • 단말은 Accelerated H.245 procedure(ACP)를 송신 channel을 개설 • Media channel을 열기 위해 SPC를 사용하는 경우 다음과 같은 내용이 적용 되어야 함 • Media channel을 열기 위해 SPC를 통해 Media Oriented Setup(MOS) request를 주고 받아야 함 • Channel 협상은 주고 받은 MOS message의 내용을 사용하여 이루어지며, MOS message의 전송은 Preference Message의 교환과 관계 없이 수행 됨 • 하나 혹은 양 단말이 초기 SPC 전송을 하지 않았다면 SPC 사용이 결정되자마자 이를 전송 해야 함 • 상대단말로부터 첫 H.245 message를 받았을 때 아직 H.245 TCS와 MSD procedure를 시작하지 않은 상태라면 이를 바로 시작해야 함
H.324 Annex K – MONA • MONA synchronization flag • Preference Message의 앞뒤에 항상 16bit MONA sync flag 전송 (연속된 Preference Message 사이에는 sync flag 하나만 전송) • Multiplexer flag interleaving • 단말은 Preference Message나 Preconfigured Channel PDU들 사이에 stuffing flag(Annex C)을 전송 (20개 이하) • 삽입된 flag의 multiplex level은 Preference Message의 MONA-ML 값과 일치해야 함 • Preference Message를 수신하면 flag 삽입을 중단 • Legacy Interworking • MONA 단말은 다음의 경우에 상대 단말이 MONA를 지원하지 않는 것으로 간주 • Mux level stuffing flag이 20개 이상 연속하여 수신 된 경우 • 수신된 첫 번째 non-empty H.223 MUX-PDU 가 MONA를 사용하지 않는 보통의 H.245 TerminalCapabilitySet message인 경우 • 상대가 legacy 단말로 판단되면 즉시 MONA 관련 전송을 중단하고 Annex C에 정의 된 절차에 따라 setup을 진행
H.324 Annex K – MONA • Terminal Requirements • Annex K에 정의 된 모든 MONA channel 협상 방법을 구현할 수도 있으나필수는 아니며, 다음의 기능만 구현해도 MONA 단말로써 동작 가능 • MONA signaling과 MONA algorithm (K.6, K.7.1) • ACP를 사용하여 송신/수신 channel을 열 수 있어야 함 (K.10) • 최소 하나의 Preconfigured Channel 수신이 가능 (다음 두 가지 중 한 가지로 구현 가능) • SPC를 사용한 channel 협상이 가능 (Preference Message의 SPC 값이 1) (K.8) • MPC를 사용한 media 수신이 가능 (Preference Message의 MPC-RX의 bit들 중 하나 이상이 1) (K.9) • 위의조건에 따라 MONA 단말은 세 종류로 분류 가능 • Class I: SPC + MPC + ACP • Class II: MPC + ACP • Class III: SPC + ACP
H.324 Annex K – MONA • SPC establishment procedure – MOS • MOS profile exchange • 단말이 SPC를 지원하는 경우 bearer가 확립되면 바로 SPC를 사용하여 MOS request (mos message)를 전송 해야 함 • MOS request는 ack (requestAck message)를 받거나상대 단말이 MONA를 지원하지 않는 것으로 확인 될 때까지 계속해서 전송 • 수신된 MOS request가 정상적으로 해석되면 단말은 Normal Multiplexer Level Operation(NMLO)에서 동작하는 Inferred Common Mode(ICM)을통해 media 전송 개시 • NMLO: Bearer channel에서 H.223 multiplexer가 수행하는 normal operation • ICM: 양 단말의 MOS profile request에 의해 결정되는 unique non-conflicting media mode • 수신되는 모든 MOS request에 대해 requestAck를 전송해야 함 • MOS profile exchange가 성공적으로 끝나면 H.245 message 교환 없이 바로 logical channel을 사용할 수 있음
H.324 Annex K – MONA • SPC establishment procedure – MOS • MOS profile exchange • Master-Slave Determination은 mos message의 parameter들을 사용하여 결정 • Parameter 중 terminalType, caller, statusDeterminationNumber를 순서대로 사용 • 추가적인 message 교환 없이 H.245 표준에 정의 된 방식대로 MSD 수행 가능 • Logical channel을 열기 위한 정보는 mos message의 mediaProfile parameter에 H.245 OLC 구조체를 선호도 순으로 포함시켜 전송 • Mux entry index와 logical channel number가 서로 대응해야 함 • 명시적으로 mux table을상대에게 알려주어야 하는 경우에는 additionalInfo parameter를 통해 전달 • SPC establishment procedure – Fallback • 다음과같은 경우 MOS 절차를 중단하고 MONA의 다음 절차를 수행 • MOS 절차 종료 후에 MOS OID를 가진 빈 genericControlCapability를 포함한 normal H.245 TCS message를 수신한 경우 • Round trip delay 시간 * n (보통 n=3을 적용) 시간 동안 정상적인 MOS를 수신하지 못했거나 ICM이 합의되지 않은 경우
H.324 Annex K – MONA • Preconfigured channel establishment • MPC sending procedure • 송신 MPC 초기화 제약 조건 • Preference Message의 송신이 시작되기 전에는 MPC를 사용할 수 없음 • SPC를 사용한 channel 협상을 사용하기로 결정된 뒤에는 MPC를 사용할 수 없음 • 한 가지 media type 당 하나의 MPC만 사용할 수 없음 • 최소 하나의 Preference Message를 수신할 때까지는 Preconfigured Channel media PDU를 Preference Message로 encapsulation 하여 송신 • Mux code와 AL-PDU를 Preference Message의 payload에 포함 • Payload가 150octet을 넘는 경우 MONA segmentation and reassembly 절차에 따라 처리 • 최소 하나의 Preference Message를 수신한 뒤에는 정상적인 H.223 Mux PDU를 사용하여 Preconfigured Channel media PDU를 전송
H.324 Annex K – MONA • Preconfigured channel establishment • MPC sending procedure • MPC를 통해 media를 전송하기 시작한 단말은 수신한 Preference Message의 MPC-RX 값을 확인 • 확인 결과 성공적으로 열리지 못한 MPC는 모두 drop • 성공적으로 열리지 못한 MPC는 MPC-RX에 표시 된 지원 가능한 다른 MPC를 사용하여 다시 열어야 함 (MPC-Fallback) • MPC-Fallback 대신 Accelerated H.245 Procedure를 사용하여 channel을 열 수 있음 • 성공적으로 열린 MPC는 정상적인 H.245 협상을 통해 열린 channel과 똑같이 취급 • Cross-AL SDU prediction이들어간 media codec(e.g. inter-picture prediction을 사용하는 video codec)을 사용하는 경우, session setup 동안 intra frame과 같은 decoder refresh point를 자주 전송하는 것이 좋음 • MPC를 사용하는 단말은 H.245 videoFastUpdatePicture command에 응답할 수 있어야 함
H.324 Annex K – MONA • Preconfigured channel establishment • SPC sending procedure • MOS message는 H.245 GenericMessage로 만들어져 SPC를 통해 전송 • MOS messagePDU는 MONA Preference Message로 encapsulation하여 전송 • SPC mux code와 encode된 MOS message를 Preference Message의 payload에 포함 • SPC는 MPC와 달리 Preference Message의 수신과 관계 없이 encapsulation을 계속 사용 • Receiving procedure • MPC를 사용하는 단말은 자신이 지원하는 Preconfigured Channel PDU가 수신 되는지 계속 확인 해야 함 • 지원 가능한 Preconfigured Channel로 data를 수신하면 audio/video decode를 시작 • 지원하지 않는 codec configuration을 가진 수신 data는 무시 • 단말은 다음 조건 중 하나가 만족 되기 전까지는 언제라도 새로운 Preconfigured Channel 개설 요청에 응답할 수 있도록 준비해야 함 • 특정 media type에 대해 상대 단말이 Preconfigured Channel을 사용하지 않는다고 판단되는 경우 • MPC, 혹은 다른 방법을 사용하여 특정 media type의 channel이 이미 열린 경우
H.324 Annex K – MONA • Accelerated H.245 procedure (ACP) • Accelerated H.245 signalling • 단말은 최소 하나의 MONA Preference Message를 수신한 뒤에 H.245 TCS message의 genericInformation field에 MONA parameter를 포함하여 전송 • 포함되는 MONA parameter: mediaBuffering, audioEntry, videoEntry • MSD나 MSDack를 수신하면 단말은 바로 자신의 Master/Slave 상태를 결정 • Master/Slave 상태가 결정 되면 단말은 사용하고자 하는 channel을 선택하여 해당하는 OLC message를 송신 • 단말은 송신한 TCS, MSD, OLC의 ack를 기다리지 않고 바로 media 송신을 시작 • Opening accelerated channels • TCS를 수신하면 단말은 송신 channel을 열기 위한 동작을 시작 • 아직 channel이 열리지 않은 media type에 대해서만 동작 • OLC를 보내면서 바로 accelerated Audio/Video channel로 media 송신 시작 • 송신한 videoEntry/audioEntry paramter에 표시된 entry를 사용 • 단말은 수신된 OLC로부터 수신할 mediadata의 type을 알 수 있음 • OLC가 수신 되기 전에 도착하는 media data는 buffering하거나 무시 • 열려있는 media channel이 없고, 관련 mux table entry가 정의 되어있지 않거나 닫힌 logical channel에 대해 정의 되어 있는 경우 새로운 OLC와 media 전송 시작 • 변경된 mux table entry는 MultiplexEntrySend(MES) message를 통해 mux table을 수정 • Cross-AL SDU prediction이들어간 media codec(e.g. inter-picture prediction을 사용하는 video codec)을 사용하는 경우, session setup 동안 intra frame과 같은 decoder refresh point를 자주 전송하는 것이 좋음
H.324 Annex K – MONA • Accelerated H.245 procedure (ACP)
H.223 – The Multiplex Protocol • Multiplexing layer와 adaptation layer로 구성 • Multiplexing layer • Logical channel의 data와 control channel의 data를 physical layer에서 전송 가능한 하나의 bit stream으로 만듦 (MUX-PDU 생성) • Header CRC를 제외한 payload의 error handling은 수행하지않음 • Adaptation layer (AL) • MUX-PDU의 errorhandling과 sequence numbering을 담당 • AL1 (variable-rate framed information), AL2 (digital audio), AL3 (digital video)의세 가지 layer가 있음 • Logical Channel Number • 각 논리 채널은 0부터 65535까지의 논리 채널 번호를 사용 • 0번은 H.245 signaling channel이 고정적으로 사용 • Data channel의 채널 번호는 송신측에서 임의로 결정 • Annexes A to D • H.324 Annex C에서 언급된 네 가지의 mux level을 정의 • Level 2까지는 adaptation layer의 변경 없이 MUX-PDU framing 방식만을 변경 • Annex A (level 1) • Light bit error prone channel에서의 통신을 관리하기 위한 protocol을 정의 • Annex B (level 2) • Medium bit error prone channel에서의 통신을 관리하기 위한 protocol을 정의 • Annex C (level 3) • Highly error prone channel에서의 통신을 관리하기 위한 protocol을 정의 • Annex D (for ISDN circuit) • 56kbps에서 1920kbps 사이의 ISDN에서 level 3 동작을 정의
H.245 – The Control Protocol • 단말 간에 data를 주고 받는 통신이 아닌 호 제어(call control)를 수행하기 위한 signaling protocol • 주요기능 • 단말의 audio/video capability 교환 • 어느 단말이 master가 되고 slave가 될지를 결정 • Data 전송을 위한 logical channel을 열고 닫음 • 호가 유지되는 동안 data channel과 별도로 H.245 signal channel은 항상 열려 있어야 함 • UserInputIndication(UII) message를 사용하여 아날로그 전화의 DTMF와 같은 사용자 입력을 전송할 수 있음 • 기본적으로 0~9의 숫자와 ‘*’, ‘#’의문자를 전송할 수 있어야 함 • 이외의 문자들은 선택적으로 지원 • 기능적으로 나누어 세 가지 category의 message가 있음 • H.245 message는 일반적으로 Request, Response, Command, Indication의네 가지 message로 구분하나 기능적으로는 다음과 같이 분류할 수 있음 • Capability messages • 단말의 multimedia capability를 표현하고, master/slave 관계를 결정 • Channel Management messages • 단말 간에 설정 된 logical channel을관리 • Channel Operations messages • Logical channel로 data를 주고받는 동작을 관리
3G-324M – Spec. • 3G-324M 관련 3GPP Technical Spec (TS) • TS 26.112: Circuit Switching call setup • TS 26.111: 3G-324M initiation and operation • 3G-324M • ITU-T H.324(modem과 PSTN 이용)를 wireless 환경에 맞도록 변경, 삭제, 보완 • 자체적인 addressing을 사용하지 않음 • 하위 protocol이 (e.g. W-CDMA) 충분히 검증된 E.164addressing method를 사용하여 상대단말을 찾아 냄
3G-324M – Error Handling • Error Resilience Services and Concealment • Wireless 망은 call session 동안 bit error가 많이 일어나는 환경 • 압축된 video data는 일반적으로 전송 error에 매우 민감 • 따라서 mobile multimedia communication에는실시간 error 감지 및 복구 기능이 필수적 • H.223 baseline에는 bit error를찾아내고 복구하기 위한 내용이 정의 되어있지 않음 • ITU-T에서 이를 해결하기 위한 계층 구조를 H.223에 도입 (Annexes A to D) • 3G-324M은 H.223 Annex A와 B를 필수로 지원하여 세 단계의 (Level 0, 1, 2) error handling을 제공 (level 0 – H.223 baseline, level 1 – Annex A, level 2 – Annex B) • AMR(mandatory)과 MPEG-4(optional,de facto mandatory)는 codec level에서의 error resilience를 제공 • 위와 같은 조치들이 error의 발생을 막아주지는 못 하지만, error로 인해 발생하는 quality의 저하는 줄일 수 있음
3G-324M – Call Set-up Scenario • H.324 Call Set-up Between Two 3G Terminals • 발신 단말이 발신 MSC/VLR로 ‘SETUP’ message (TS 04.08 표준) 를 보냄 • 발신 MSC가 착신 MSC로 ‘Initial Address Message’ (IAM, ISUP 표준)를 보냄 (이하 전달되는 ISUP message 생략) • 착신 MSC가 dialed number를 확인하여 해당 단말로 ‘SETUP’을 보냄 • 착신 단말은 ‘SETUP’에 담긴 정보와 자신의 capability를 확인하여 accept 가능하다고 판단하면 ‘CALL-CONFIRMED’ message를 착신 MSC로 보냄 • 착신 단말은 착신 MSC에 ‘ALERTING’ message를 보내어 착신 단말의 벨이 울리고 있음을 알림 • 착신 MSC는 발신 MSC를 경유, 발신 단말로 ‘ALERTING’ message를 전달하고, 이 때부터 발신 단말에서 ring-back tone이 울리기 시작 • 착신 가입자가 전화를 받으면 착신 단말은 ‘CONNECT’ message를 착신 MSC로 보냄 • 착신 MSC로부터 발신 MSC를 거쳐 발신 단말에 ‘CONNECT’가 전달되면 양 단말 간에 link가 열림 • 이 때부터 3G-324M stack의 H.223/H.245를 사용하여 호 제어가 가능