•  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
분류
1. 개요2. 설정
2.1. glb.cfg
2.1.1. glb.cfg 설정 에러
2.2. 주요 로그
2.2.1. RTSP Describe (VOD 서비스) 정보 요청 입수2.2.2. RTSP Describe (VOD 서비스) 정보 요청2.2.3. RTSP Describe (VOD 서비스) 정보 요청 결과2.2.4. RTSP Setup (VOD 서비스) 요청 입수2.2.5. VOD 서비스 요청2.2.6. LB로부터 VOD 서비스에 대해 VOD 서버 할당 요청 결과2.2.7. VOD 세션 셋업 완료2.2.8. VOD 세션 종료2.2.9. RTSP Setup (A CUETONE 서비스) 요청 입수2.2.10. A CUETONE 광고 셋업 완료2.2.11. RTSP Setup (B CUETONE 서비스) 요청 입수2.2.12. B CUETONE 광고 셋업 완료2.2.13. RTSP Setup (D CUETONE 서비스) 요청 입수2.2.14. D CUETONE 광고 셋업 완료2.2.15. CUETONE 광고 서비스 요청2.2.16. CUETONE 정보를 찾지 못한 경우2.2.17. SODE 서비스 요청2.2.18. SODE 세션 셋업 완료

1. 개요 [편집]

  • CiGLBServer(이하 GLB)는 SettopBox (이하 STB)이 VOD 재생 요청을 했을 때 가장 먼저 만나는 바이너리다.
  • G/W 의 역할을 한다.
  • 요청받은 내용을 LoadBalancer 라는 바이너리에게 요청 사항을 전달해주고 그 응답값을 다시 받아와 STB에게 보낸다.
  • 이를 토대로 STB은 어떤 VOD 서버로 요청하면 될지 정보를 확인할 수 있다.

2. 설정 [편집]

  • GLB의 기본 동작 관련된 설정값이다.

2.1. glb.cfg [편집]

  • CiGLBServer의 경우 동적으로 설정이 적용되는 설정 값이 하나 있다.
  • LLB 정보를 확인하는 이 설정이다.
  • 설정 파일을 보면 아래(서안동 GTV LSM) 처럼 되어 있는걸 확인할 수 있다.
# LLB_Lable PK_LLB_ID LLB_IP
LLB 1 119.221.128.5
LLB 2 125.159.40.150
# GLB_Lable FK_Destination_Group_ID FK_LLB_ID FK_LLB_ID FK_LLB_ID
GLB default 1 2
GLB cuetone 1 2
  • 여기서 보통 1차는 자기 자신의 VIP, 2차는 중앙 (광고 CDN의 경우 2차는 GTV LSM, 3차가 중앙) 으로 되어 있다.
  • 설정된 순서대로 요청을 한다고 보면 된다. (아래는 광고 CDN LSM의 설정 파일이다.)
# LLB_Lable PK_LLB_ID LLB_IP
LLB 1 183.121.149.5
LLB 2 119.221.128.5
LLB 3 125.159.40.150
# GLB_Lable FK_Destination_Group_ID FK_LLB_ID FK_LLB_ID FK_LLB_ID
GLB default 1
GLB cuetone 1 2 3
  • 여기서 IP를 변경하면 바로 적용이 된다.

2.1.1. glb.cfg 설정 에러 [편집]

  • 간혹 절체 이후 GLB에서 에러가 나는 경우가 드물게 있다.
  • 이 때 glb.cfg 의 설정을 참고하면 된다. [1]

2.2. 주요 로그 [편집]

2.2.1. RTSP Describe (VOD 서비스) 정보 요청 입수 [편집]

  • VOD에 한해 아래 로그를 표시한다(RTSP의 FLOW)
CiGLBServer,3.0.3,2024-03-12,09:21:50.385,Information,MarkupListenThread.cpp:OnRTSPDescribe(822),,"RTSP Describe request from 100.104.45.216, UUID = c88bb601-1c2e-4d01-aa39-9f4ca31843bf. uri = rtsp://125.153.250.5/MVIO204ESGL1500001_K20240219092112.mpg?p=v1::F:421023:66149732770:N:S3"
  1. RTSP요청
  2. UUID = GLB 서버가 자체적으로 생성하는 추적용 값.
  3. uri(STB에서 요청하는 rtsp 주소)
    1. rtsp://GLB_IP/파일 이름?p=v1 VOD 요청 (고정값)
    2. :카테고리 ID (현재 VOD 에선 비어있음)
    3. :F 무료 VOD(R 유료시청, S 코너가입시청
    4. :6자리 숫자 RegionID (가입자 동코드)
    5. :11자리 숫자 가입자 SAID (UserID):이어보기 여부 (N 처음부터, Y 이어보기)
    6. :S3 (OTS 기본형 (사후광고 제공함) <- Postplay 재생가능 단말기종 구분자 (V1~V4, S1~S4))”

2.2.2. RTSP Describe (VOD 서비스) 정보 요청 [편집]

CiGLBServer,3.0.3,2024-03-12,09:21:50.386,Information,SMPoolThreadID[2] SMPoolThread.cpp:ListenQueueRTSPDescribe(380),,"Parsed Session Request(RTSPDescribe), AssetID[MVIO204ESGL1500001_K20240219092112.mpg], UUID[c88bb601-1c2e-4d01-aa39-9f4ca31843bf], ClientIP[100.104.45.216]"
  1. AssetID[애셋ID(파일이름)]
  2. UUID[GLB 추적용 ID]
  3. ClientIP[고객 IP]

2.2.3. RTSP Describe (VOD 서비스) 정보 요청 결과 [편집]

CiGLBServer,3.0.3,2024-03-12,09:21:50.390,Information,SLPClientThread.cpp:OnDescribeResponse(674),,"OnDescribeResponse, LB[125.153.250.5, 125.153.250.5], AssetID[MVIO204ESGL1500001_K20240219092112.mpg], UUID[c88bb601-1c2e-4d01-aa39-9f4ca31843bf], result[result is success], Client[100.104.45.216]"
  1. LB[LSM, ADC]
  2. AssetID[파일이름]
  3. UUID[GLB 추척 ID]
  4. result[결과]
  5. Client 고객 IP[요청한 고객 STB IP]

2.2.4. RTSP Setup (VOD 서비스) 요청 입수 [편집]

CiGLBServer,3.0.3,2024-03-22,07:26:47.475,Information,MarkupListenThread.cpp:OnRTSPSetup(1363),,"RTSP Setup request from 119.221.96.25, SessionId[2eede011-ed43-43dd-9495-7ae2a84cb5ed]. uri = rtsp://125.153.250.5/M02O20BVSGL1500001_K20240301012854.mpg?p=v1:CV000000000051793804:F:421034:62074529707:N:S3, device_info[SDK_v4.0.15.1; {""GigaGenieApp"":""18.01.00"",""FW"":""1.0.3120"",""SAID"":""62074529707"",""Model"":""CT1102""}]"
  1. RTSP요청 고객(STB) IP
  2. SessiondId[세션Id].
  3. uri(STB에서 요청하는 rtsp 주소)://GLB_IP/파일 이름?p=v1 VOD 요청 (고정값)
  4. :카테고리 ID
  5. :F 무료 VOD(R 유료시청, S 코너가입시청:6자리 숫자 RegionID (가입자 동코드)
  6. :11자리 숫자 가입자 SAID (UserID):이어보기 여부 (N 처음부터, Y 이어보기)
  7. :S3 (OTS 기본형 (사후광고 제공함) Postplay 재생가능 단말기종 구분자 (V1~V4, S1~S4))
  8. device_info : STB이나 요청하는 장비의 정보
    1. “어플이름”
    2. ”버전정보”
    3. ”펌웨어”
    4. ”펌웨어 버전 정보”
    5. ”SAID”
    6. ”가입자 정보”
    7. ”Model”
    8. ”STB 모델명”

2.2.5. VOD 서비스 요청 [편집]

CiGLBServer,3.0.3,2024-03-22,07:26:47.476,Information,SMPoolThreadID[1] SMPoolThread.cpp:ListenQueueSetup(576),,"Parsed Session Request(GLB), AssetID[M02O20BVSGL1500001_K20240301012854.mpg], StreamID[5702fea5-dcea-4f0b-98d9-ae9aeccdb43c], SessionId[2eede011-ed43-43dd-9495-7ae2a84cb5ed], ClientIP[119.221.96.25]"
  1. GLB로 온 세션 요청
  2. AssetID[요청한 파일]
  3. StreamID[]
  4. SessionId[]
  5. ClinetIP[요청한 STB IP]

2.2.6. LB로부터 VOD 서비스에 대해 VOD 서버 할당 요청 결과 [편집]

CiGLBServer,3.0.3,2024-03-12,09:21:50.412,Information,SLPClientThread.cpp:OnOnDemandSessionResponse(916),,"OnOnDemandSessionResponse : 67d110a0-7544-4359-8d8f-8aec062b3f67, cb96bb8f-4c45-4a3b-a68a-f78edb6c4e7f, 29059391, MVIO204ESGL1500001_K20240219092112.mpg, 125.153.250.13, result is success, LB[125.153.250.5, 125.153.250.5], ClientIP[100.104.45.216]"
  1. StreamID
  2. SessionID
  3. SessionInt.(deprecated)
  4. AssetID
  5. VOD Server IP
  6. 결과값 표시
  7. LB[LSM,ADC]
  8. ClinetIP[요청한 STB IP]

2.2.7. VOD 세션 셋업 완료 [편집]

CiGLBServer,3.0.3,2024-03-12,09:21:50.412,Information,SMPoolThreadID[1] SMPoolThread.cpp:LLBQueueSetup(856),,"Successfully New Setup Session, StreamID[67d110a0-7544-4359-8d8f-8aec062b3f67], SessionId[cb96bb8f-4c45-4a3b-a68a-f78edb6c4e7f, 29059391], RequestURL[rtsp://125.153.250.5/MVIO204ESGL1500001_K20240219092112.mpg?p=v1::F:421023:66149732770:N:S3], AssetID[MVIO204ESGL1500001_K20240219092112.mpg], ClientIP[100.104.45.216], LLB[125.153.250.5,125.153.250.5], VOD[125.153.250.13,125.153.250.13], DestinationIP[125.153.250.5], UDPPort[0], DataFree[0], ServiceType[]"
  1. StreamID[]
  2. SessionId[]
  3. RequestURL
    1. 요청 URL://GLB_IP/파일 이름?p=v1 VOD 요청 (고정값)
    2. :카테고리 ID (현재 VOD 에선 비어있음)
    3. :F 무료 VOD(R 유료시청, S 코너가입시청
    4. :6자리 숫자 RegionID (가입자 동코드)
    5. :11자리 숫자 가입자 SAID (UserID)
    6. :이어보기 여부 (N 처음부터, Y 이어보기)
    7. :S3 (OTS 기본형 (사후광고 제공함) <- Postplay 재생가능 단말기종 구분자 (V1~V4, S1~S4))”]
  4. AssetID[요청한 파일]
  5. ClinetIP[요청한 STB IP]
  6. LLB[LSM IP, ADC IP]
  7. VOD[VOD IP, VOD IP]
  8. DestinationIP[LB IP]
  9. UDPPort[0]
  10. DataFree[0]
  11. ServiceType[]
  • LLB의 경우 GTV 지역/중앙에서는 안 쓴다 (VIP를 쓰기 때문), UDPPort나 DataFree의 경우 GTM 에서 사용함, ServiceType의 경우 VOD는 공백

2.2.8. VOD 세션 종료 [편집]

CiGLBServer,3.0.3,2024-03-22,07:38:02.802,Information,SLPClientThread.cpp:OnTeardownNotification(1041),,"OnTeardownNotification : 5702fea5-dcea-4f0b-98d9-ae9aeccdb43c, 2eede011-ed43-43dd-9495-7ae2a84cb5ed, 23206258, LB[125.153.250.5, 125.153.250.5]"
  1. StreamID
  2. SessionID
  3. 파일크기
  4. LB[LSM,ADC]

2.2.9. RTSP Setup (A CUETONE 서비스) 요청 입수 [편집]

CiGLBServer,3.0.3,2024-03-05,23:54:01.128,Information,MarkupListenThread.cpp:OnRTSPSetup(1283),,"RTSP Setup request from 125.152.42.4, SessionId[8aebb1a2-02ca-4a01-9397-0e9af462b442]. uri = rtsp://125.159.5.140/ACUETONE/cueTone?p=c1:752:306237:00000000000:01:MA4000&filler=N&adUpdate=Y&adid=999***********&adidYN=Y&userSeg=Y, device_info[SDK_v4.0.17]"
  1. RTSP요청 요청 고객(STB)
  2. IP
  3. SessiondId[세션Id].
  4. uri(STB에서 요청하는 rtsp 주소)://GLB_IP/cueTone?p=c1(큐톤 종류 A큐톤=c1)
  5. :채널 ID
  6. :6자리 숫자 RegionID (가입자 동코드)
  7. :11자리 숫자 가입자 SAID (UserID)
  8. :채널 ProviderID(01 OTV, 02 OTS)
  9. :셋탑박스 모델
  10. &필러 삽입 세션여부
  11. &adUpdate=큐톤광고 사용 유무
  12. &adid=통합광고ID
  13. &adidYN=ADID사용유무
  14. &userSeg=타겟광고사용유무(Y:타겟+메스, N:매스)
  15. device_info[STB이나 요청하는 장비의 정보]

2.2.10. A CUETONE 광고 셋업 완료 [편집]

CiGLBServer,3.0.3,2024-03-05,23:54:01.130,Information,SMPoolThreadID[1] SMPoolThread.cpp:LLBQueueSetupForCueTone(963),,"Successfully New Setup Session, StreamID[c904e90b-4bf8-41ad-a2b1-eecd52a5ce6e], SessionId[8aebb1a2-02ca-4a01-9397-0e9af462b442, 0], RequestURL[rtsp://125.159.5.140/ACUETONE/cueTone?p=c1:752:306237:00000000000:01:MA4000&filler=N&adUpdate=Y&adid=999***********&adidYN=Y&userSeg=Y], AssetID[cueTone], ClientIP[125.152.42.4], LLB[125.159.5.140,125.159.5.140], VOD[125.159.5.109,125.159.5.109], DestinationIP[125.159.5.140], UDPPort[0], ServiceType[ACUETONE]"
  1. StreamID[]
  2. SessionId[]
  3. RequestURL
    1. rtsp://GLB_IP/cueTone?p=c1(큐톤 종류 A큐톤=c1)
    2. :채널 ID:6자리 숫자 RegionID (가입자 동코드)
    3. :11자리 숫자 가입자 SAID (UserID)
    4. :채널 ProviderID(01 OTV, 02 OTS)
    5. :셋탑박스 모델
    6. &필러 삽입 세션여부
    7. &adUpdate=큐톤광고 사용 유무
    8. &adid=통합광고ID
    9. &adidYN=ADID사용유무
    10. &userSeg=타겟광고사용유무(Y:타겟+메스, N:매스)
  4. device_info[STB이나 요청하는 장비의 정보]
  5. AssetID[요청한 파일]
  6. ClinetIP[요청한 STB IP]
  7. LLB[LSM IP, ADC IP]
  8. VOD[VOD IP, VOD IP]
  9. DestinationIP[LB IP]
  10. UDPPort[0]
  11. ServiceType[ACUETONE]

2.2.11. RTSP Setup (B CUETONE 서비스) 요청 입수 [편집]

CiGLBServer,3.0.3,2024-03-05,23:50:31.407,Information,MarkupListenThread.cpp:OnRTSPSetup(1283),,"RTSP Setup request from 125.152.42.4, SessionId[024ead48-d7a9-4f27-8017-1521e4401ac0]. uri = rtsp://125.159.5.140/BCUETONE/cueTone?p=c2:752:306237:00000000000:01:MA4000&filler=N&adid=999***********&adidYN=Y&userSeg=Y, device_info[SDK_v4.0.17]"
  1. RTSP요청 요청 고객(STB) IP
  2. SessiondId[세션Id].
  3. uri(STB에서 요청하는 rtsp 주소)://GLB_IP/cueTone?p=c1(큐톤 종류 B큐톤=c2)
  4. :채널 ID
  5. :6자리 숫자 RegionID (가입자 동코드)
  6. :11자리 숫자 가입자 SAID (UserID)
  7. :채널 ProviderID(01 OTV, 02 OTS)
  8. :셋탑박스 모델
  9. &필러 삽입 세션여부
  10. &adid=통합광고ID
  11. &adidYN=ADID사용유무
  12. &userSeg=타겟광고사용유무(Y:타겟+메스, N:매스)
  13. device_info[STB이나 요청하는 장비의 정보]

2.2.12. B CUETONE 광고 셋업 완료 [편집]

CiGLBServer,3.0.3,2024-03-05,23:50:31.409,Information,SMPoolThreadID[2] SMPoolThread.cpp:LLBQueueSetupForCueTone(963),,"Successfully New Setup Session, StreamID[1bafed21-1a95-4417-8c4c-442a63337adb], SessionId[024ead48-d7a9-4f27-8017-1521e4401ac0, 0], RequestURL[rtsp://125.159.5.140/BCUETONE/cueTone?p=c2:752:306237:00000000000:01:MA4000&filler=N&adid=999***********&adidYN=Y&userSeg=Y], AssetID[cueTone], ClientIP[125.152.42.4], LLB[125.159.5.140,125.159.5.140], VOD[125.159.5.109,125.159.5.109], DestinationIP[125.159.5.140], UDPPort[0], ServiceType[BCUETONE]"

2.2.13. RTSP Setup (D CUETONE 서비스) 요청 입수 [편집]

CiGLBServer,3.0.3,2024-03-25,10:02:59.900,Information,MarkupListenThread.cpp:OnRTSPDescribe(822),,"RTSP Describe request from 49.24.138.148, UUID = 4d724493-66a0-489e-8dc1-6a949f1c54bf. uri = rtsp://14.87.141.5/DCUETONE/cueTone?p=c3:451:420613:00000000000:01:1711328582193:120000:9967:200:NA2200&filler=N&adid=824***********&adidYN=Y&userSeg=Y"
  1. RTSP요청 요청 고객(STB) IP
  2. SessiondId[세션Id].
  3. uri(STB에서 요청하는 rtsp 주소)://GLB_IP/cueTone?p=c1(큐톤 종류 D큐톤=c3)
  4. :채널 ID
  5. :6자리 숫자 RegionID (가입자 동코드)
  6. :11자리 숫자 가입자 SAID (UserID)
  7. :채널 ProviderID(01 OTV, 02 OTS)
  8. :큐톤 광고 시작 시간(UNIX 시간,밀리세컨드)
  9. :큐톤 광고 지속시간(초)
  10. :큐톤 event ID,인벤토리 영역 구분값
  11. :stbModel
  12. &필러 삽입 세션여부
  13. &adid=통합광고ID
  14. &adidYN=ADID사용유무
  15. &userSeg=타겟광고사용유무(Y:타겟+메스, N:매스)

2.2.14. D CUETONE 광고 셋업 완료 [편집]

CiGLBServer,3.0.3,2024-03-25,04:00:19.889,Information,SMPoolThreadID[1] SMPoolThread.cpp:LLBQueueSetupForCueTone(963),,"Successfully New Setup Session, StreamID[1d3dba33-1fa2-42be-a791-d29ab4b9aec0], SessionId[9503f5c2-f067-4d30-b948-c2ac88878a65, 0], RequestURL[rtsp://118.53.65.5/DCUETONE/cueTone?p=c3:261:333021:00000000000:01:1711306823820:15000:26508:2300:KI1101&filler=N&adid=249***********&adidYN=Y&userSeg=Y], AssetID[cueTone], ClientIP[14.90.100.42], LLB[118.53.65.5,118.53.65.5], VOD[118.53.65.7,118.53.65.7], DestinationIP[118.53.65.5], UDPPort[0], ServiceType[DCUETONE]"

2.2.15. CUETONE 광고 서비스 요청 [편집]

CiGLBServer,3.0.3,2024-03-05,23:54:01.129,Information,SMPoolThreadID[1] SMPoolThread.cpp:ListenQueueSetup(576),,"Parsed Session Request(GLB), AssetID[cueTone], StreamID[c904e90b-4bf8-41ad-a2b1-eecd52a5ce6e], SessionId[8aebb1a2-02ca-4a01-9397-0e9af462b442], ClientIP[125.152.42.4]"
  1. GLB로 온 세션 요청
  2. AssetID[cueTone]
  3. StreamID[]
  4. SessionId[]
  5. ClinetIP[요청한 STB IP]

2.2.16. CUETONE 정보를 찾지 못한 경우 [편집]

CiGLBServer,3.0.3,2024-03-25,05:52:51.883,Error,MarkupListenThread.cpp:OnRTSPDescribe(894),,"Cannot Find cueTone Info cueTone(cueTone), ChannelID(451), ChannelProviderID(01), ClientIP(49.24.138.148)"

2.2.17. SODE 서비스 요청 [편집]

CiGLBServer,3.0.3,2024-03-22,00:09:51.118,Information,SMPoolThreadID[2] SMPoolThread.cpp:ListenQueueSetup(576),,"Parsed Session Request(GLB), AssetID[SODE/44228/01.07.21/kt-gtv-home_v01.07.21_20240220_kaon_release.apk], StreamID[621d60f2-3585-497d-9673-4858b8bdde9a], SessionId[30c28eb9-aae0-46e7-9b48-3e29e6d4c712], ClientIP[125.151.56.160]"
  1. GLB로 온 세션 요청
  2. AssetID[요청한 파일]
  3. StreamID[]
  4. SessionId[]
  5. ClinetIP[요청한 STB IP]

2.2.18. SODE 세션 셋업 완료 [편집]

CiGLBServer,3.0.3,2024-03-22,00:09:51.123,Information,SMPoolThreadID[2] SMPoolThread.cpp:LLBQueueSetup(856),,"Successfully New Setup Session, StreamID[621d60f2-3585-497d-9673-4858b8bdde9a], SessionId[30c28eb9-aae0-46e7-9b48-3e29e6d4c712, 18937024], RequestURL[/SODE/44228/01.07.21/kt-gtv-home_v01.07.21_20240220_kaon_release.apk], AssetID[SODE/44228/01.07.21/kt-gtv-home_v01.07.21_20240220_kaon_release.apk], ClientIP[125.151.56.160], LLB[125.151.12.5,125.151.12.5], VOD[125.151.12.8,125.151.12.8], DestinationIP[], UDPPort[0], DataFree[0], ServiceType[SODE]"
  1. StreamID[]
  2. SessionId
    1. 세션ID
    2. sessionInt.(호환성 이슈)
  3. RequestURL[요청URL]
  4. AssetID[요청한 파일]
  5. ClinetIP[요청한 STB IP]
  6. LLB[LSM IP, ADC IP]
  7. VOD[VOD IP, VOD IP]
  8. DestinationIP[LB IP]
  9. UDPPort[0]
  10. DataFree[0]
  11. ServiceType[SODE]
  • LLB의 경우 GTV 지역/중앙에서는 안 쓴다 (VIP 값을 같이 쓰기 때문)
  • UDPPort나 DataFree의 경우 GTM 에서 사용함
  • ServiceType의 경우 SODE와 cueTone의 경우 값을 표기함
[1] Active(LSM, LSM#2) 서버와는 다른 엉뚱한 값이 설정된 Back 서버가 있었다.