KR20000069905A - 지능형 단말 응용 프로토콜 - Google Patents

지능형 단말 응용 프로토콜 Download PDF

Info

Publication number
KR20000069905A
KR20000069905A KR1019997006117A KR19997006117A KR20000069905A KR 20000069905 A KR20000069905 A KR 20000069905A KR 1019997006117 A KR1019997006117 A KR 1019997006117A KR 19997006117 A KR19997006117 A KR 19997006117A KR 20000069905 A KR20000069905 A KR 20000069905A
Authority
KR
South Korea
Prior art keywords
intelligent terminal
service
terminal
service node
user
Prior art date
Application number
KR1019997006117A
Other languages
English (en)
Other versions
KR100592451B1 (ko
Inventor
크리스테르 퇴르노퀴비스트
클라에스 닐슨
안데르스 이스베르그
Original Assignee
텔레호낙티에볼라게트 엘엠 에릭슨(피유비엘)
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US08/825,177 external-priority patent/US6055424A/en
Application filed by 텔레호낙티에볼라게트 엘엠 에릭슨(피유비엘) filed Critical 텔레호낙티에볼라게트 엘엠 에릭슨(피유비엘)
Publication of KR20000069905A publication Critical patent/KR20000069905A/ko
Application granted granted Critical
Publication of KR100592451B1 publication Critical patent/KR100592451B1/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/12Messaging; Mailboxes; Announcements
    • H04W4/14Short messaging services, e.g. short message services [SMS] or unstructured supplementary service data [USSD]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/247Telephone sets including user guidance or feature selection means facilitating their use
    • H04M1/2478Telephone terminals specially adapted for non-voice services, e.g. email, internet access
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • H04M1/72406User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality by software upgrading or downloading
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/42Systems providing special services or facilities to subscribers
    • H04M3/42136Administration or customisation of services
    • H04M3/42178Administration or customisation of services by downloading data to substation equipment
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q3/00Selecting arrangements
    • H04Q3/0016Arrangements providing connection between exchanges
    • H04Q3/0029Provisions for intelligent networking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q3/00Selecting arrangements
    • H04Q3/42Circuit arrangements for indirect selecting controlled by common circuits, e.g. register controller, marker
    • H04Q3/54Circuit arrangements for indirect selecting controlled by common circuits, e.g. register controller, marker in which the logic circuitry controlling the exchange is centralised
    • H04Q3/545Circuit arrangements for indirect selecting controlled by common circuits, e.g. register controller, marker in which the logic circuitry controlling the exchange is centralised using a stored programme
    • H04Q3/54541Circuit arrangements for indirect selecting controlled by common circuits, e.g. register controller, marker in which the logic circuitry controlling the exchange is centralised using a stored programme using multi-processor systems
    • H04Q3/54566Intelligent peripherals, adjunct processors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • H04M1/7243User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality with interactive means for internal management of messages
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • H04M1/7243User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality with interactive means for internal management of messages
    • H04M1/72433User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality with interactive means for internal management of messages for voice messaging, e.g. dictaphones

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Human Computer Interaction (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Telephonic Communication Services (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Communication Control (AREA)
  • Exchange Systems With Centralized Control (AREA)

Abstract

한정된 대역폭 통신 수단에 의해 지능형 단말에 연결된 서비스 노드를 포함하는 통신 시스템에 있어서, 서비스 노드 및 지능형 단말에서의 기술은 지능형 단말 사용자에게 하나 이상의 서비스를 제공한다. 지능형 단말과 서비스 노드 사이의 프로토콜은 각 응용이 이 두 유닛사이에서 여러 가지로 분배될 수 있게 한다. 본 발명의 한 형태에 있어서, 프로토콜은 한정된 대역폭 통신 채널인 보다 낮은 레이어 프로토콜 상에서 운반될 수 있다. 프로토콜은 서비스 노드와 지능형 단말 사이의 프리미티브 및/또는 이미지 설명의 통신을 포함할 수 있다.

Description

지능형 단말 응용 프로토콜{INTELLIGENT TERMINAL APPLICATION PROTOCOL}
여러 가지 형태의 전화기 사용자에 매우 다양한 서비스를 제공하는 것은 공지되어 있다. 이러한 형태의 서비스를 액세스하기 위해, 사용자는 서비스 노드(service node ; SN)와 연결을 설정할 수 있는데, 이는 교환 기능이 있거나 없는 스위치 또는 컴퓨터로 될 수 있다. 많은 시스템에 있어서, SN에서 수행하는 응용 프로그램은 전화기에 음성 지시문과 톤을 전송하는 음성 채널을 사용한다. 음성 채널은 또한 전화기에서 SN로 이중 톤 다중 주파수(DTMF) 디지트를 전송하기 위해 역 방향으로 사용된다. 이러한 시스템에서, 전화기가 어떤 지능성을 가질 것이 요구되지는 않는다. 다이얼로그는 완전히 사용자와 SN 사이의 일이기에, 사용자는 음성 지시문과 톤을 듣고 전화기의 키를 눌러서 응답한다. 결국, 전화기는 통신에 무관하며 어떠한 방식으로도 사용자를 지원할 수 없다.
더욱 발전된 서비스도 공지되어 있다. 이러한 서비스는 800 데이터 서비스, 신용 카드 검증 데이터베이스, 지리적 호 라우팅, 도입 호 라우팅, 다중 위치 내선 다이얼링, 망 자동 호 분배, 유동적 호 라우팅, 유동적 캐리어 선택, 그 외 서비스 제공을 포함한다. 무선 전화 시스템에서, 이러한 강화된 가입자 서비스는 지능망(IN)(예를 들면, Bellcore Advanced Intelligent Network(AIN) 또는 그것의 CCITT/ITU 동등망: ITU's CS-1, Q.1200, 등)을 통해 제공될 수 있다.
무선 통신 시스템에 있어서, 강화된 가입자 서비스는 본 명세서에서 참조적으로 결합되고 1996년 3월 18일에 출원된 발명의 명칭이 INTELLIGENT MOBILE STATION FOR A CELLULAR TELECOMMUNICATIONS NETWORK인 미국특허출원 제08/617,139호(Attorney Docket No. 1000-0022)에 기술된 것과 같은 지능형 이동국("지능형 단말"이라고도 지칭됨)에 의해 제공될 수 있다. 몇몇 강화된 서비스는 SN과 연동하여 작동하는 서비스 지능형 이동국에 의해 대안적으로 제공될 수 있다. 여러 서비스를 수용하기 위해서, SN의 컴퓨터는 다양한 인터페이스 및 스위치 유닛, 팩스 유닛, 음성 처리 유닛, 전자 메일 인터페이스, 컴퓨터망 인터페이스, 모뎀 자원, 데이터 스토리지와 같은 매우 다양한 자원을 포함할 수 있다. 이 자원들은 지능형 단말의 소프트웨어와 연동하는 소프트웨어에 의해 제어된다. SN은 하나 또는 다수의 연동하는 SN과의 단일 사용자 솔루션 또는 다중 사용자 솔루션일 수 있다.
SN과 지능형 단말 사이의 연동은 본 명세서에서 제어 채널이라 지칭되는 통신 링크를 거쳐 달성된다. 제어 채널은 음성 채널 상의 모뎀 연결 설정되거나 또는 별도의 통신 링크 상에서 대안적으로 설정될 수 있다. 도 1a-1d는 셀룰라 또는 일반 고정 전화기 사용자로의 서비스 제공을 용이하게 하는 SN으로서 가능한 장치를 도시하고 있다.
도 1a는 하나 이상의 서비스를 제공하는 모뎀(103) 및 소프트웨어(105)를 포함한다. 소프트웨어(109) 및 모뎀(111)을 포함하는 SN(107)이 또한 시스템에 제공된다. 셀룰라 전화기(101)와 SN(107) 사이의 통신 링크를 셀룰라 망(113)과 다른 모든 망(115) (예를 들면, 공중 또는 사설 망)을 사용하여 설정할 수 있다. SN(107)는 도시된 바와 같이 다른 망의 일부일 수도 있고, 셀룰라 망(113)의 일부일 수도 있으며, 겹침 해결책으로서 이들 망 중의 하나에 더해질 수 도 있다 (즉, 공중망에 사설교환기가 연결되는 것과 같은 방식으로). 두 모뎀(103, 111)은 SN(107)와 셀룰라 전화기(101) 사이에서 일어나는 정보의 물리적 전송을 위한 메카니즘을 제공한다. 정보는 SN의 소프트웨어(107)와 셀룰라 전화기의 소프트웨어(105) 사이에서 이동한다.
도 1b는 셀룰라 전화기가 자체 모뎀(103)을 포함하지 않는 것을 제외하고는 도 1a에 도시된 것과 거의 같은 대안적 장치를 도시한다. 대신에, 이 설비는 무선 기지국(117) 내에 제공된다. 셀룰라 전화기의 소프트웨어(105)의 관점에서 보면, 그러나, 서비스 관련 정보가 여전히 SN 소프트웨어와 셀룰라 전환기 소프트웨어 사이를 움직인다는 점에서 차이가 없다.
도 1c는 일반 고정 아날로그 전화기(119)로의 서비스를 제공하는 장치를 도시한다. 여기서, 고정 전화기(119)는 하나 이상의 서비스를 제공하는 소프트웨어(123)를 또한 포함하는 모뎀 자원(121)에 연결된다. 위에서 기술된 장치와의 또다른 차이는 셀룰라 망(113)에 대한 고정 망(125)의 대체이다. 다른 모든 면에 있어서 이 장치는 다양한 서비스를 제공하기 위해 요구될 때 소프트웨어(123)와 정보를 교환하는 SN 소프트웨어(111)를 가지고, 도 1a 및 1b의 장치와 같은 기능을 한다.
도 1d는 또다른 장치를 도시한다. 여기서, 고정 디지털 전화기(127)는 고정 디지털 망(129)과 모뎀이 필요없이 직접 연결된다. 소프트웨어(109)를 포함하는 SN(107)도 또한 고정 디지털 망(129)에 직접 연결된다. SN 소프트웨어(111)는 다양한 서비스를 제공하기 위해 요구될 때 소프트웨어(123)와 정보를 교환한다.
SN(107) 및 "서비스 전화기"(예를 들면, 모든 셀룰라 또는 고정 전화기(101, 119, 127)는 연동하는 소프트웨어 및 동일 모뎀 능력을 구비해야 한다. 이는 두 가지 통신 프로토콜에 의해 가장 효율적으로 지원되는데, 연동하는 소프트웨어(또는 서비스 소프트웨어) 통신을 지원하는 보다 높은 레벨 프로토콜(앞으로 "응용 프로토콜"로서 지칭됨) 및 모뎀 사이의 통신을 지원하는 보다 낮은 레벨 프로토콜들이다. 프로토콜의 레이어화를 도 2a 및 2b에 도시하고 있다. 프로토콜의 레이어화는 일반적으로 이 기술 분야에서 공지되어 있고 여기서는 더 상세하게 기술하지는 않는다.
도 3은 사용자가 한 사람이고 발신측이 SN로 하나의 전화번호로만 걸 때조차 여러 전화기(310, 303, 305, 307)와의 인터페이스를 가진 단일 SN(107)을 공급하는 가능 경우를 도시한다. SN(107)의 소프트웨어(309)는 다른 전화 번호 상의 사용자 (발신자에게는 알려지지 않은)를 호출할 수 있다.
제어 채널을 사용할 새로운 서비스의 성질은 응용 프로토콜이 새로운 기능 및/또는 서비스에 공개되어 있을 것을 요구한다. 그러나, 어떤 제어 채널 방법은 이 새로운 기능 및/또는 서비스와 연관된 정보를 운반하는 단지 한정된 대역폭을 제공한다. 결국, 효과적인 응용 프로토콜이 매우 바람직하다.
범유럽 GSM 시스템, Phase 2를 위한 ETSI 권고에, 텔레서비스 및 베어러 서비스 모두를 보충하고 수정할 수 있는 다수의 규정된 부가 서비스가 있다. 예를 들면, 호를 금지 또는 다른 곳으로 연결하기 위한 서비스 및 연결된 두 호 사이의 토글하기 위한 서비스가 있다. 표준화된 GSM 부가 서비스 외에도, 이동망 운용자는 운용자 규정 서비스에 대한 증가하는 요구를 겪고 있다.
운용자 규정 서비스를 구현할 수 있어야 하는 운용자로서는 망의 서비스 응용과 이동국(MS) 사이의 사용자 연동을 위한 포괄적인 메카니즘을 가질 필요가 있다.
오늘날 GSM에서는 망의 응용과 이동국 사이에 사용자 연동을 제공하는 메카니즘이 있다. 이 메카니즘은 "체계화되지 않은 부가 서비스 데이터(USSD)"로 지칭된다. 아래의 기술에서 USSD에 대해 기술된 것은 GSM, phase 2에 따른 USSD에 대해 유효하다. USSD는 또한 GSM, phase 1에도 존재하나 다이얼로그 처리가 더 한정적이다.
도 4를 참조하면, GSM 교환 시스템에서는, USSD는 공지된 "이동체 응용부(MAP)" 프로토콜(401)의 일부이다. 무선 인터페이스에서, USSD 운용은 레이어 3 "Register", "Facility", "Release Complete" 메시지에 의해 수행된다.
USSD 서비스 응용은 이동체 서비스 교환 센터/방문자 위치 레지스터(MSC/VLR)(405), 홈 위치 레지스터(HLR)(407), 외부 이동체 서비스 노드(MSN)(409)에 실려 있을 수 있다. USSD 서비스 응용은 MSN에 구현되고 MAP=프로토콜의 연장 "외부 노드로의 USSD"가 사용되어야 한다.
USSD 운용은 포괄적이고 망에 상관없이 텍스트를 전송한다. 망의 서비스 응용으로부터 수신된 텍스트는 MS(411)에 의해 디스플레이된다. 대응적으로, MS(411)로부터의 사용자 키보드 입력은 망의 서비스 응용으로 어떤 것에도 상관없이 전송된다.
USSD는 다이얼로그 구조를 가진다. 다이얼로그는 망의 서비스 응용에 의해 시작되거나 대안적으로는 MS(411)에 의해 시작된다. USSD 다이얼로그는 병행 음성대화 연결이 있든 없든 상관없이 존재할 수 있다.
망 서비스 응용이 USSD 다이얼로그를 시작할 때 이는 Request 또는 Notify 동작을 시동한다. MS(411)이 망 서비스 응용(예를 들면, MSC/VLR(405)의 USSD 응용 1)으로부터 디스플레이되어야 할 텍스트를 포함하는 USSD Request 명령을 수신할 때, MS(411)은 이 텍스트를 디스플레이한다. 사용자로부터의 입력 스트링은 망 서비스 응용으로 n 결과 동작을 보낸다. 망 서비스 응용에 대해, 디스플레이되어야 할 텍스트를 포함하는 USSD Notification 동작을 시동하는 것도 가능하다. Request와 notification의 차이는 Notification의 경우에는 응답이 필요없다는 것이다. 단지 인식 동작을 망 서비스 응용으로 보낼 뿐이다.
MS(411)의 사용자는 또한 규정된 맨 머신 인터페이스(MMI)를 수행하여 USSD 다이얼로그를 시작할 수 있다. 이 입력이 수행되었다면, MS(411)은 사용자로부터의 입력을 포함하는 "Process Unstructured USSD Request" 동작을, 망으로, 발동한다. 이 MMI 입력은 망에 응용을 식별하는 고유한 서비스 코드를 포함해야 하고 올바른 망 노드로 동작을 라우트되도록 한다. 그리고, 망 서비스 응용은 디스플레이될 텍스트를 포함하는 결과 동작을 가지고 응답할 수 있다. 망 서비스 응용은 그리고나서 다이얼로그를 종결할 수 있다. 또한 망 서비스 응용이 USSD Request 또는 Notify 동작을 시동하여 다어얼로그를 계속할 수도 있다. MS(411)로부터 응답을 수신한 후에, 망 서비스 응용은 이상의 USSD Request 또는 Notify 동작을 시동하여 다이얼로그를 계속할 수 있다.
USSD 서비스 예가 도 5를 참조하여 기술될 것이다. 501 단계에서, 사용자는 정보 서비스에 대한 서비스 코드를 자신의 MS(411)에 입력한다. 응답으로, MS(411)은 PROC USSD request invoke(user input=USSD serv code)를 USSD 서비스 제공자(553) 및 서비스 응용(555)이 모두 위치한 HLR로, MSC/HLR, 외부 노드(551)로 발행한다(503 단계). USSD 서비스 제공자(553)는 Proc request invoke를 수신하여, 적절한 명령 및 파라메터 정보를 서비스 응용(555)으로 보낸다. 이 기술의 나머지에 대해서, 서비스 응용(55)은 MS(411)으로부터 수신하고 전송 받는 메시지 수신자 및 메시지원으로서 참조될 것이다. 그러나, 이 메시지들은 보다 낮은 레이어 USSD 서비스 제공자(553)를 통해 보내진다는 것을 알 수 있다.
서비스 응용(555)은 USSD 서비스 제공자(553)로 응답을 보내는데, 이는 USSD request invoke("INFO SERV<LF>1 날씨 <LF>2 전화번호....")를 MS(411)로 이어서 발신한다(505 단계). 이는 MS(411)로 하여금 사용자에게 수신된 텍스트를 디스플레이하도록 한다.
이 예에서, 사용자는 MS(411)의 1을 입력하고 예 키를 눌러서 "날씨"를 선택한다(507단계). 이는 MS(411)로 하여금 서비스 응용(555)으로 USSD request result(user input=1)를 발신하게 한다(509 단계).
응답으로, 서비스 응용(555)은 USSD request invoke("날씨<LF>지역 입력:")메시지를 MS(411)으로 전송되게 한다(511 단계).
이 새 텍스트가 사용자에게 디스플레이된 후에, 사용자는(이 예에서) MS(411)의 046을 입력하고 예 키를 누른다. 이는 서비스 응용(555)으로 USSD request result(user input=046)가 발신되게 한다(515 단계). 서비스 망(555)과 MS(411)의 사용자간의 연동은 이러한 방식으로 서비스가 제공되어 연결이 끊어질 때까지 계속된다.
위에서 USSD는 사용자 연동 메카니즘으로서 간단한 운용자 규정 서비스에 대해 동작하는 것을 알 수 있지만, 특히 더욱 발전된 서비스를 구현해야 할 때는 몇 가지 단점을 가진다. 이 단점들은 다음과 같다.
1. MS(411)이 비지능형 단말이기 때문에 잡은 대역폭(300-600 비트/초)으로 인한 긴 응답 시간, 비효율적인 코딩(짧은 메시지 서비스(SMS) 7 비트 알파벳), 모든 서비스 로직이 망의 서비스 응용에 내재해야 한다. 예를 들면, MS 메뉴는 사용자에게 디스플레이되어야 할 때마다 MS로 전송되어야 한다. 또한, 사용자 선택도 논리적 판단이 수행되는 망 서비스 응용으로 전송되어야 한다. 그러므로, 응용 서비스 제공자와 MS 간의 통신 속도는 좋은 응답 시간에 대해 결정적인 것이다. 그러나, 위와 같이, USSD는 300-600 비트/초 범위의 좁은 대역폭을 가진다. 일반적으로, 한정된 대역폭 통신 수단은 약 1000 비트/초 이상의 속도로 동작할 수 없는 것들이다.
2. USSD를 사용하기 위한 MS 사용자 인터페이스는 프리미티브이고 정상적 MS MMI 예가 사용될 수 없다. 예를 들면, 서비스가 메뉴 처리를 포함한다면, 각 메뉴 선택사항은 디지트(또는 다른 문자숫자식 문자)에 의해 식별되어야 한다. 사용자는 선택된 선택사항에 해당하는 디지트(또는 다른 문자숫자식 문자)를 보낸다. 메뉴를 처리하는 이러한 방식은 사용하기 쉽지 않고 MS(411)의 다른 메뉴와 다른 메뉴 방식을 주게된다.
또한 이 사용자 인터페이스는 MS(411)이 그래픽적 사용자 인터페이스를 지원하면 사용될 수 없다.
3. 국지적 MS 기능들은 USSD 서비스에 의해 사용될 수 없다. 예를 들면, 지능형이 아닌 호처리가 수행될 수 있고 국지적 전화번호부로의 액세스가 불가하다.
4. 망의 타이머는 USSD 서비스의 존속 시간을 한정한다.
5. 한정된 길이의 텍스트 스트링이 MS(411)과 망의 서비스 응용(555) 간에서 전송된다.
6. MS(411)에서 단지 한번에 한 USSD 다이얼로그만이 활성화될 수 있다.
사용자 연동에 대한 다른 전략들이 공지되어 있다. 이는 다음과 같다.
- 아날로그 디스플레이 서비스 인터페이스(ADSI): 이는 "저장 프로그램 제어 교환 시스템(SPCS, "서비스 노드")과 아날로그 디스플레이 서비스 고객 집 장비(CPE, "단말") 사이의 데이터의 양방향 전송을 위한 통신 프로토콜이다. 데이터 전송은 FFSK 및 DTMF를 사용하는 음성 통로를 거쳐 수행될 수 있다.
ADSI의 설계는 단말에 로드가능 서비스 로직을 구비하는 것에 기초를 두고 있다. 그러나, ADSI는 그것이 고정망의 전 프로토콜 스택을 규정한다, 즉 이는 베어러와 독립적이지 않고 위의 USSD의 응용 프로토콜로서 사용될 수 없다.
- 인터넷 WWW 서버 및 고객에 의해 사용되는 WWW-HTTP/HTML 개념: WWW 개념이 갖는 가장 큰 문제는 요구되는 대역폭이다. USSD 연결에 대한 평균적인 스루풋이 600-600 비트/초의 범위인데 반해, WWW는 적어도 9600 비트/초 데이터 채널을 요구한다.는 제약을 가지고 있다. 데이터 채널이 USSD 대신에 베어러로서 사용된다면, 병행 음성대화 연결이 존재하지 못할 것이다. 또한, WWW은 엄격한 고객 서버 개념에 기반을 두고 있다. 고객과 서버 사이에서 서버가 연동을 시작할 방법이 없는 것이다.
본 발명은 통신 시스템에 관한 것으로, 구체적으로는 통신 시스템의 부가 서비스를 달성하기 위한, 프로토콜을 포함하는 기술에 관한 것이다.
도 1a 내지 1d는 셀룰라 또는 일반 고정 전화 사용자에게 서비스 제공을 용이하게 하기 위한 서비스 노드에 대한 가능한 장치를 도시하는 도면.
도 2a 및 2b는 통신 시스템의 프로토콜의 레이어화를 도시하는 도면.
도 3은 사용자가 한 사람이고 호출자가 한 전화번호만을 호출할 때조차도 여러 전화기로의 인터페이스를 가지는 단일 SN의 공급 가능 경우를 도시하는 도면.
도 4는 USSD가 공지된 "이동국 응용부(Mobile Application Part: MAP)"의 일부로서 포함된 GSM 교환 시스템을 도시하는 도면.
도 5는 USSD 서비스를 도시하는 도면.
도 6은 본 발명의 일 실시예에 따른, SN과 지능형 단말 사이의 관계 및 그의 다수의 구성요소를 도시하는 블록도.
도 7a 내지 7c는 사용자, 지능형 단말, SN 사이의 예시적인 연동을 도시하는 흐름도.
도 8 및 9는 SN에 의해 시작될 행동에 대한 가능 경우를 도시하는 흐름도.
도 10a 내지 10c는 "비어 있는" 지능형 단말로 응용을 다운로드함을 도시하는 흐름도.
도 11은 본 발명의 한 형태에 따른 SN의 블록도.
도 12는 IMS로 서비스를 제공하기 위해 지능형 단말 응용 프로토콜(intelligent terminal application protocol: ITAP)이 사용되는 GSM 망을 도시하는 도면.
도 13a 내지 13e는 ITAP 서비스의 예를 도시하는 도면.
도 14는 본 발명의 한 형태에 따른, 적절한 응답 시간을 얻기 위해, SN과 IMS 사이에 전송된 한정된 수와 크기를 가지는 동작 사용을 도시하는 도면.
도 15는 본 발명의 한 형태에 따른 로드가능 ITAP 이미지 설명의 사용을 도시하는 도면.
도 16은 메뉴 선택 사항에 대한 예시적인 이미지 설명을 도시하는 도면.
도 17 및 18은 본 발명의 일실시예에 따른, GSM phase 2에 따라 ITAP 동작을 USSD 동작의 "USSD 스트링" 파라메터로 매핑하는 예시적인 기술을 도시하는 도면.
도 19-51은 베어러로서 (GSM phase 2에 따라) USSD를 이용하는 ITAP 시나리오를 도시하는 도면.
도 52-57은 도입 호 선택에 관한 시나리오를 도시하는 도면.
도 58-61은 본 발명의 일실시예에 따른, 사서함 관련 서비스에 관한 시나리오를 도시하는 도면.
도 62 및 63은 본 발명의 일실시예에 따른, 라우팅 표(routing table)의 갱신에 관한 시나리오를 도시하는 도면.
도 64는 본 발명의 일실시예에 따른, ITAP을 사용하는 새로운 메시지 통지(notification)에 관한 시나리오를 도시하는 도면.
그러므로, 본 발명의 한 목적은 통신 시스템에서 부가 서비스를 달성하기 위한 메카니즘을 제공하는 것이다.
본 발명의 다른 목적은 통신 시스템에서 부가 서비스를 달성하기 위한 프로토콜(protocol)을 제공하는 것이다.
본 발명의 다른 목적은 서비스 노드(service node: SN)와 부가 서비스의 수신자 사이에 대역 한정 채널을 구비하는 통신 시스템에서 부가 서비스를 달성하기 위한 프로토콜을 제공하는 것이다.
본 발명의 한 형태에 따르면, 상기 및 다른 목적은 한정된 대역폭 통신 수단에 의해 지능형 단말(intelligent terminal)에 연결된 서비스 노드를 포함하는 통신 시스템에서 달성된다. 본 발명의 한 형태에 따르면, 서비스 노드에서, 프리미티브(primitive)를 결정하기 위해 이벤트(event)를 분석하고, 지능형 단말로 메시지(messgae)를 전송하기 위해 한정된 대역폭 통신 수단을 사용하고, 지능형 단말에서는, 프리미티브에 해당하는 루틴(routine)을 실행하여 메시지에 응답하여 지능형 단말 사용자에게 서비스가 제공되는데, 여기에서, 메시지는 지능형 단말이 프리미티브에 해당하는 루틴을 실행하도록 명령한다.
본 발명의 다른 형태에 있어서, 메시지는 파라메터(parameters)를 더 포함하고, 프리미티브에 해당하는 루틴을 실행하는 단계는 수신된 파라메터를 사용하는 단계를 더 포함한다.
본 발명의 다른 형태에 있어서, 루틴을 실행하는 단계는 지능형 단말 사용자에게 정보를 제공하는 단계를 포함한다.
본 발명의 다른 형태에 있어서, 루틴을 실행하는 단계는 지능형 단말의 상태(state)를 변화시키는 단계를 포함한다.
본 발명의 다른 형태에 있어서, 이벤트는 지능형 단말로부터의 메시지 수신인데, 메시지는 사용자가 지능형 단말 위의 특정 키(key)를 눌렀다는 것을 표시한다.
본 발명의 다른 형태에 있어서, 이벤트는 지능형 단말에 영향을 미치는 어떤 일의 발생을 서비스 노드에서 감지하는 것이다. 이 발생은, 예를 들면, 지능형 단말로 향하는 도입호(imcoming call)일 수 있다.
본 발명의 다른 형태에 있어서, 지능형 단말에서, 프리미티브에 해당하는 루틴을 실행하여 메시지에 응답하는 단계는, 지능형 단말에서, 지능형 단말에 현재 저장되어 있지 않은 상태표(state table)를 루틴 실행이 요구하는지를 판단하는 단계, 및 지능형 단말로부터 서비스 노드로 메시지-메시지는 상태표를 요구함-를 전송하기 위해 한정된 대역폭 통신 수단을 사용하는 단계, 및 서비스 노드로부터 지능형 단말로 요구된 상태표를 전송하기 위해 한정된 대역폭 통신 수단을 사용하는 단계, 및, 지능형 단말에서, 루틴을 실행하기 위해 수신된 상태표를 사용하는 단계를 포함한다.
본 발명의 다른 형태에 있어서, 지능형 단말은 서비스 노드와의 통신 없이 지능형 단말과 사용자 사이에서 메뉴 처리(menu-handling) 입력 및 출력 기능을 더 수행한다.
본 발명의 다른 형태에 있어서, 지능형 단말 사용자 입력 및 출력 기능은 제공되는 서비스와 상관없는 맨 머신 인터페이스(man machine interface) 방식에 따라 제어된다.
본 발명의 다른 형태에 있어서, 단말에서, 취할 행동을 판단하기 위해 이벤트를 분석하는 단계, 및 서비스 노드로 동작(operation)-동작은 취할 행동(action)에 해당하고 서비스 노드가 동작에 해당하는 루틴을 실행하도록 명령함-을 전송하기 위해 한정된 대역폭 통신 수단을 사용하는 단계, 및, 서비스 노드에서, 동작에 해당하는 행동을 수행하는 단계, 및 한정된 대역폭 통신 수단을 거쳐 지능형 단말로 동작 결과를 리턴하는 단계를 수행하여 지능형 단말의 사용자에게 서비스를 제공한다.
본 발명의 다른 형태에 있어서, 서비스 제공은, 지능형 단말에서, 지능형 단말에서 도입호의 감지에 응답하여 한정된 대역폭 통신 수단을 거쳐 서비스 노드와의 제1 세션(session)을 시작하는 단계를 더 포함한다.
본 발명의 다른 형태에 있어서, 서비스 노드와의 제1 세션을 시작하는 단계는 지능형 단말과 서비스 노드가 사용하는 자원(resource)이 서로 일관됨을 보장하기 위해 지능형 단말과 서비스 노드 사이에서 협상하는 단계를 포함한다.
본 발명의 다른 형태에 있어서, 서비스 노드와의 제1 세션을 시작하는 단계는 통신에서 지능형 단말과 서비스 노드 사이의 통신에서 사용될 코딩 형태를 표시하는 단계를 포함한다. 일실시예에서, 코딩 형태는 기본 인코딩 규칙(Basic Encoding Rules)이다. 다른 실시예에서, 코딩 형태는 패킹된 인코딩 규칙(Packed Encoding Rules: PER)이다.
본 발명의 다른 형태에 있어서, 제2 세션은 제1 세션이 유지되고 있는 동안 지능형 단말과 서비스 노드 사이에서 시작된다.
본 발명의 다른 형태에 있어서, 서비스 제공은, 서비스 노드로부터 지능형 단말로 이미지 설명(image description)을 전송하는 단계를 더 포함하되, 이미지 설명은 지능형 단말에서 수행될 동작을 정의한다.
본 발명의 다른 형태에 있어서, 서비스 노드로 동작을 전송하기 위해 한정된 대역폭 통신 수단을 사용하는 단계는 "비구조 부가 서비스 데이터(Unstructured Supplementary Services Data: USSD)" 프로토콜 데이터 유닛 상으로 동작을 매핑하는 단계를 포함한다. 대안적 실시예에서, 서비스 노드로 동작을 전송하기 위해 한정된 대역폭 통신 수단을 사용하는 단계는 동작을 짧은 메시지 서비스(Short Message Service: SMS) 프로토콜 데이터 유닛으로 매핑하는 단계를 포함한다.
본 발명의 다른 형태에 있어서, 서비스 노드로 동작을 전송하기 위해 한정된 대역폭 통신 수단을 사용하는 단계는 보다 낮은 레이어의 프로토콜 데이터 유닛으로 동작을 매핑하는 단계를 포함한다.
본 발명의 다른 형태에 있어서, 서비스 제공은 지능형 단말에서 국지적 서비스(local service) 기능을 서비스 노드의 지원을 요구하지 않고 수행하는 단계를 더 포함한다.
본 발명의 여러 가지 특징이 도면과 관련되어 기술될 것이며, 유사한 부분은 동일 참조 문자로서 식별된다.
본 발명의 제1실시예는 SN(603)과 지능형 단말(601) 사이의 관계 및 그의 다수의 구성요소를 도시하는 블록도인 도 6과 관련하여 기술될 것이다. 응용(예를 들면, 발전된 서비스)의 구현은 지능형 단말(601)에 있는 것과 SN(603)에 있는 것 두 부분으로 나뉜다. 본 발명의 한 형태에 있어서, 응용의 두 부분은 제어 채널(605)을 통해 통신하기 위해 응용 프로토콜을 이용한다.
지능형 단말(601)에 있는 응용부는 다음의 응용 건설 구성요소로서 정의되고 구현된다. 상태 및 상태표(607), 프리미티브(609), 단말로의 제어 메시지(611), 단말로부터의 메시지(613), 단말 레지스터(615)가 그것들이다. 이 구성요소에 대해 더욱 상세하게 기술할 것이다.
상태 및 상태표(607):
단말은 응용을 수행할 때 항상 정의된 상태에 있을 것이다. 상태는 상태표(607)에 의해 정의되고, 사용자(617)에게 디스플레이되는 정보, 상태의 상시 감시, 사용자(619)로부터의 요구 결과로서 취할 행동을 규정한다.
본 발명의 한 형태에 있어서, 한 상태로부터 다른 상태로의 천이는 프리미티브(609)에 의해 처리된다. 상태표(607)는 다음에 관한 상태를 정의한다.
- 사용자(617)에게 주어질 정보(예를 들면, 단말의 디스플레이에 도시되는 정보).
- 사용자에게 사용가능한 선택사항의 정의를 포함하는 사용자에게 주어질 모든 메뉴.
- 모든 관련 사용자 행동(예를 들면, 지능형 단말(601)의 키(601)를 누름)에 대한, 호출되어야 할 프리미티브.
- 시간이 만료될 때 호출하기 위한 상태 및 프리미티브의 시간 감시.
프리미티브(609):
지능형 단말(601)에 응용 프로그래밍 인터페이스(Application Programming Interface: API)가 있고, API는 프리미티브(609) 세트와 연관되어 있다. 이 프리미티브(609)는 코드(예를 들면, 스타트업 시퀀스의)로부터 상태표(607)를 거쳐 직접 호출되거나 SN(603)으로부터 원격으로 호출된다.
프리미티브는 파라메터를 가지지 않거나 하나 이상의 파라메터를 가질 수 있다.
단말로의 제어 메시지(611):
SN(603)으로부터 지능형 단말(601)로의 전송에 대해 제어 메시지 세트가 정의되어 있다. 제어 메시지(611)는 데이터가 단말 레지스터(615)에 저장되도록 할 수 있고 또는 대안적으로 프리미티브(609)를 호출할 수 있다. 상태 변화를 명령하는 제어 메시지(611)는 프리미티브로의 호이다.
단말로부터의 메시지(613):
지능형 단말(601)은 호출된 프리미티브(609)로부터 SN(603)으로 하나 이상의 메시지를 전송할 수 있다.
이는 몇 가지 특수 메시지일 수 있는데, 각각은 고유한 의미를 가진다. 이는 또한 SN(603)으로 이벤트를 보고하는 포괄적 메시지일 수도 있다. 메시지를 보고하는 이벤트는 현재 상태 및 이벤트(예를 들면, "x"키가 눌렸다는 표시 또는 상태 감시 시간이 만료되었음을 표시)를 표시하는 파라메터를 포함할 수 있다. 지능형 단말(601)은 이러한 메시지를 전송할 때 적절한 기준의 판단을 SN(603)에 맡겨야 한다.
단말 레지스터(terminal register)(615):
단말 레지스터(615)는, 단말 식별자와 같은, 지능형 단말(601)에 대해 한정적인 데이터, 또는 사용자에 대해 개인적이거나 임시적인 데이터를 포함해야 한다. 사용자 또는 SN(603)은 단말 레지스터(615)를 갱신할 책임이 있다.
사용자, 지능형 단말(601), SN(603) 사이의 예시적인 연동이 도 7a-7c에 도시된 흐름도를 참조하여 기술될 것이다. 이 예에서는 지능형 단말(601)이 현재 S1 상태에 있다(단계(701))고 가정된다. 단계(703)에서, 지능형 단말(601)은 사용자가 명시된 k 키인 입력키를 누른 것을 감지한다. 응답으로, k 키에 해당하는 프리미티브(609)가 식별되고 호출된다(단계(705)).
이벤트(즉, 단말이 S1 상태에 있는 동안 사용자의 k키 누름)는 SN(603)으로 보고되어야 할 이벤트일 수도 있고 아닐 수도 있다. 만약 아니라면(판단블록(707)의 "아니오" 쪽), 판단 블록(723)에서 처리가 계속된다. 만약 보고가능 이벤트라면(판단블록(707)의 "예"쪽), 호출된 프리미티브는 이벤트를 SN(603)으로 보고하고(단계(709)), 지능형 단말(601)은 응답을 대기한다(단계(711)).
SN(603)은 이벤트 보고를 감지하고(단계(713)) 이벤트를 분석하여 응답한다(단계(715)). 분석하여 어느 프리미티브를 지능형 단말(601)이 다음에 실행해야 하는지를 판단하고, 제어 채널(605)에서 사용되는 응용 프로토콜을 써서 SN(603)은 이 프리미티브로 호를 명령한다(단계(717)).
지능형 단말(601)은 SN(603)으로부터 통신을 수신하고(단계(719), 프리미티브를 호출한다(즉, 지능형 단말(601)이 프리미티브에 의해 명시된 저장된 루틴을 실행한다)(단계(721)). 실행은 판단 블록(723)으로 계속된다.
S1 상태에서 k키에 해당하는 프리미티브의 실행 결과(판단블록(707)의 "아니오"쪽)로서 또는 대안적으로 SN(603)에 의해 명령된 프리미티브의 실행 결과로서, 지능형 단말(601)은 상태를 변화시키도록 요구되거나 요구되지 않을 수 있다(판단 블록(723)). 상태 변화가 요구되지 않는다면(판단 블록(723)의 "아니오"쪽), 새로운 정보가 사용자에게 제공되어야 하는지에 대해서 판단된다(판단블록(725)). 만약 그렇다면, 새로운 정보는 사용자에게 제공되고(단계(727)), 단말은 S1 상태에 머무른다(단계(729)). 그렇지 않다면(판단블록(725)의 "아니오"쪽), 사용자에게 아무 새 정보가 제공되지 않고, 단말은 그저 S1 상태에 머무른다(단계(729).
다시 판단블록(723)으로 돌아가서, 단말이 상태 변화를 요구한다고 판단되면(판단블록(723)의 "예"쪽), S2 상태에 대한 상태표가 현재 지능형 단말(601) 내에 저장되어 있는지를 판단한다(판단블록(731)). 일반적으로, 지능형 단말(601)이 응용을 위해 프로그램 되었다면, 연관된 상태표(607)는 지능형 단말(601)로, 데이터베이스를 지능형 단말(601)에 직접 연결하거나 SN(603)으로부터 망을 통해 다운로드받는다. 응용이 바뀐다면, 하나 이상의 상태표(607)는 SN(603)으로부터 다운로드된다.
응용이 지능형 단말(601)에 저장할 수 있는 것보다 더 많은 상태표를 요구한다면, 있지 않은 상태표는 지능형 단말이 그 상태로 들어가려고 할 때 요구하여 즉시 SN(603)으로부터 다운로드받을 수 있다. 이는 지능형 단말(601)이 SN(603)에 연결되어 있을 때 지능형 단말(601)이 "오프라인(off-line)"일 때 모두 수행될 수 있다.
가지고 있지 않은 상태표(607)를 지능형 단말(601)에 저장하는 것은 임시적일 수 있다(즉, 지능형 단말이 해당 상태에 머무르는 동안에 한할 수 있다). 대안적으로는, 가지고 있지 않은 상태표(607)는 다수의 다른 상태표607)와 스택에 올려질 수 있다. 스택에 새로운 상태표(607)에 대한 자리를 만들기 위해서, 가장 오랫동안 사용되지 않은 상태표(607)를 대체하는 대체 기술이 이용될 수 있다.
또한 응용의 시작 또는 변화는 새로운 프리미티브를 객체 코드(object code)로서 또는 다른 프리미티브로의 호로서 다운로드받아 하는 것이 가능하다.
다시 도 7b로 돌아가서, S2 상태에 대한 상태표(607)가 지능형 단말(601)에 저장되어 있다면(판단블록(731)의 "예"쪽), S2 상태로 들어가고(단계(743)), S2 상태에 관한 정보가 사용자에게 주어진다(단계(745)). 지능형 단말(601)은 이제 S2 상태에 있다(단계(747)).
그러나, 만약 S2 상태에 대한 상태표(607)가 지능형 단말(601)에 미리 저장되어 있지 않다면(판단블록(731)의 "아니오"족), S2 상태에 해당하는 상태표(607)에 대한 요청이 지능형 단말(601)로부터 SN(603)으로 전송된다(단계(733)). 응용 프로토콜은 이 요청을 전달하기 위해 제어 채널(605)에서 사용된다.
SN(603)은 상태표(607)에 대한 요청의 수신을 감지하고(단계(737)), 요청된 상태표(607)를 찾아내어 상태표(607)를 지능형 단말(601)로 다운로드한다 (단계(739)). 다시, 상태표(607)의 다운로드는 제어 채널(605) 상에서 응용 프로토콜을 이용한다.
지능형 단말(601)은 S2 상태에 대한 상태표(607)를 수신하고(단계(741)), S2 상태로 들어가는 단계(743)에서 처리를 계속한다. S2 상태에 관한 정보는 그리고나서 사용자에게 주어진다(단계(745)). 지능형 단말(601)은 이제 S2 상태에 있다(단계(747)).
위의 예에서, 모든 행동은 사용자 행동(예를 들면, 사용자가 K키를 누름)에 따라 시작된다. 또한, 행동은 도 8 및 9의 흐름도에 도시된 것처럼 SN(603)에 의해 시작될 수도 있다.
도 8을 먼저 참조하면, 지능형 단말이 초기에 S 상태에 있다고 가정된다. SN(603)는 지능형 단말기(601)에 영향을 미치는 이벤트의 발생을 감지한다(단계(801)). 이벤트는, 예를 들면, 도입 호이거나 새로운 메시지일 수 있다. 응답으로, SN(603)는 이벤트를 분석한다(단계(803)). 분석은 어느 프리미티브를 지능형 단말기(601)가 다음에 실행해야 하는지를 판단하고 SN(603)는 제어 채널(605)에서 사용되는 응용 프로토콜을 써서 이 프리미티브로 호를 명령한다(단계(805)).
지능형 단말기(601)는 SN(603)로부터 통신을 수신하고(단계(807)), 모든 수신된 파라메터를 가지고 프리미티브를 호출한다(즉, 지능형 단말기(601)는 프리미티브에 의해 명시된 저장된 루틴을 실행한다)(단계(809)).
이 예에서, 지능형 단말기(601)는 상태를 바꾸도록 요구받지 않는다. 결과적으로, 새로운 정보는 사용자에게 주어진다(단계(811)). 예를 들면, 지능형 단말기(601)의 디스플레이 부분은 새로운 정보로써 갱신될 수 있다. 단말은 그리고나서 S 상태에 머무른다(단계(813)).
SN(603)에 의해 먼저 감지된 이벤트는 또한 지능형 단말기(601)의 상태 변화를 가져올 수 있다. 이제 도 9를 참조하면, 지능형 단말기(601)는 초기에 S1 상태에 있다고 가정된다. SN(603)는 지능형 단말기(601)에 영향을 주는 이벤트의 발생을 감지한다(단계(901)). 이벤트는, 예를 들면, 도입호 또는 새 메시지일 수 있다. 응답으로, SN(603)는 이벤트를 분석한다(단계(903)). 분석은 어느 프리미티브를 지능형 단말기(601)가 다음에 실행해야 하는지를 판단하고 SN(603)는 제어 채널(605)에서 사용되는 응용 프로토콜을 써서 이 프리미티브로 호를 명령한다(단계(905)).
지능형 단말기(601)는 SN(603)로부터 통신을 수신하고(단계(907)), 모든 수신된 파라메터로써 프리미티브를 호출한다(즉, 지능형 단말기(601)는 프리미티브에 의해 명시된 저장된 루틴을 실행한다)(단계(909)).
이 예에서, 지능형 단말기(601)는 S2 상태로 들어가서 상태를 변화시킨다(단계(911)). 결국,S2 상태의 정보가 사용자에게 주어진다(단계(913)). 예를 들면, 지능형 단말기(601)의 디스플레이 부분은 S2 상태의 새 정보로써 갱신될 수 있다. 단말은 그리고나서 새로운 상태, S2 상태에 머무른다(단계(915)).
도 7a-7c, 8, 9에서 위에 제시한 예는 지능형 단말기(601)가 SN(603)에 대한 여러 가지 레벨의 자율성을 가지고 작업할 수 있는 가능 경우를 도시한다. 지능형 단말기(601)의 자율성 범위는 아래의 제약 사이에 놓일 수 있다.
- 지능형 단말기(601)의 동작은 완전히 자율적이다. 지능형 단말기(601)는 이용되고 있는 SN(603)로 제어 채널을 설정하지 않고 사용자와의 연동가능 다이얼로그(dialogue)에 관여한다.
- 또한 SN(603)가 완전히 제어를 잡고 사용자에게 주어질 정보를 제공하게 하는 것이 가능하다. 이 경우에 상태표(607)의 모든 상태는 지능형 단말기(601)에 의해 감지된 이벤트가 SN(603)로 보고되어야함을 표시한다.
응용이 지능형 단말기(601)에서 상태표(607) 및 단말 레지스터(615)를 써서 정의되므로, 망을 통해 단말에 완전한 응용을 다운로드받기가 쉽다. 새로운 응용이 단지 부트 스트랩(bootstrap) 프로그램만이 로드되어 있는 지능형 단말기(601)로 다운로드될 수 있다. 대안적으로, 새 응용은 다른 응용을 대체하기 위해 지능형 단말기(601)에 다운로드될 수 있다.
'비어 있는" 지능형 단말기(601)로 응용을 다운로드하는 것이 도 10a-10c에 도시된 흐름도를 참조하여 기술될 것이다. 사용자는 기정의된 패스워드(password) 및 SN(603)와 접속하기 위한 전화번호를 구비하고 있다고 가정된다. SN(603)는 사용자의 응용, 단말 인식자(terminal identity), 사용자의 예측 패스워드를 구비한다.
지능형 단말기(601)는 초기에 꺼져 있다. 사용자가 단말을 켜는 것에 응답하여(단계(1001)), 지능형 단말기(601)는 양호하게는 비휘발성 메모리에 로드되어 있어야 하는 부트스트랩 응용 프로그램을 수행하기 시작한다(단계(1003)). 부트스트랩 프로그램은 다음 단계들이 수행되게 한다.
지능형 단말기(601)는 SN(603)에 액세스하는 방법에 대한 정보를 사용자에게 지시하기 위해 지능형 단말기(601) 상의 출력 장치(예를 들면, 디스플레이 스크린)를 사용한다(단계(1005)). 정보는, 예를 들면, SN(603)와 연결을 설정하기 위한 전화번호일 수 있다. 지능형 단말(601)은 그리고나서 사용자로부터의 응답을 대기한다(단계(1007)).
응답에서, 요청된 정보를 입력하는 사용자에게(단계(1009)), 지능형 단말기(601)는 망을 통하여 SN(603)를 호출한다(단계(1011)). 데이터 채널(예를 들면, 모뎀 연결)이 그리고나서 설정된다(단계(1013)). 지능형 단말기(601)는 그리고나서 설정된 데이터 채널을 지능형 단말기(601)의 단말 인식자가 수반된 응용 요청을 전송하는데 사용한다(단계(1015)). 안전하게 연결하기 위해, "핸드 셰이킹(hand-shaking)" 및 단말 인식자 전송이 몇 가지 코딩된 메시지를 가지고 메시지 다이얼로그에서 수행될 수 있다. 응용 요청을 전송한 후에, 지능형 단말기(601)는 응답을 대기한다(단계(1017)).
이 처리의 SN(603) 측에서는, SN(603)는 지능형 단말기(601)로부터 도입호를 수신하고 응답하고(단계(1019)), 그의 데이터 채널(예를 들면, 모뎀 연결)을 설정한다(단계(1021). SN(603)는 그리고나서 수신된 단말 인식자를 해당 사용자 데이터를 찾기 위해 사용한다(단계(1023)). 다음에, SN(603)는 지능형 단말기(601)로 패스워드에 대한 요청을 전송한다(단계(1025)).
패스워드에 대한 요청을 수신한 것에 응답하여, 지능형 단말기(601)는 패스워드에 대해 사용자에게 지시하고(단계(1027)), 사용자 행동을 대기한다 (단계(1029)). 사용자로의 지시문은 지능형 단말기(601)에 저장되어 있거나 SN(603)로부터 요청하여 전송될 수 있다.
사용자가 패스워드를 입력하는 것에 응답하여(단계(1031), 지능형 단말기(601)는 패스워드를 SN(603)로 전송하고(단계(1033)) 응답을 대기한다(단계(1035)).
패스워드의 수신에 응답하여, SN(603)는 수신된 패스워드와 이 사용자에 대해 저장된 패스워드를 비교한다(단계(1037)). 수신된 패스워드가 올바른 것이라면, SN(603)는 지능형 단말기(601)로 인지 메시지를 전송한다(단계(1039)).
인지(ackowledge) 메시지의 수신에 응답하여, 지능형 단말기(601)는 사용자에게 서비스 시작을 대기하도록 지시하고(단계(1041)), 다운로드가 시작되기를 대가한다(단계(1043)). 사용자로의 지시문은 지능형 단말기(601)에 저장되어 있거나 SN(603)로부터 전송된 것일 수 있다.
SN(603)는 지능형 단말기(601)로 응용 데이터를 다운로드한다(단계(1045)). 지능형 단말기(601)는 수신된 응용 데이터를 저장하고(단계(1047) 이후의 다운로드를 대기한다(단계(1049)).
SN(603)는 그리고나서 상태표를 지능형 단말기(601)로 다운로드한다(단계(1051)). 지능형 단말기(601)는 수신된 상태표를 저장하고(단계(1053)), 이후의 다운로드를 대기한다(단계(1055)).
SN(603)는 그리고나서 지능형 단말기(601)로 응용이 다운로드되었음의 표시를 전송한다(단계(1057)). 표시의 수신에 응답하여, 지능형 단말기(601)는 사용자에게 응용이 준비됨을 지시하고(단계(1059)) 사용자 행동을 대기한다(단계(1061)). 사용자 지시문은 지능형 단말기(601)에 저장되어 있거나 SN(603)로부터 전송된 가청적 및/또는 가시적 메시지일 수 있다.
SN(603)는 그리고나서 S1 상태로 들어가도록 지능형 단말기(601)에 명령하고(단계(1063)), 서비스 요청을 대기한다(단계(1065)). 명령의 수신에 응답하여, 지능형 단말기(601)는 사용자에게 S1 상태의 정보를 주고(단계(1067)), 그리고나서 S1 상태에 머무른다(단계(1069)).
지능형 단말기(601)로부터의 새로운 상태표(607) 및 포괄적 서비스 독립 이벤트 보고 메시지의 다운로드는 응용 프로토콜을 바꿀 필요없이 또는 지능형 단말기(601)를 재프로그램함 없이 새로운 응용의 도입을 쉽게한다.
위에 기술한 장치는 기능의 위치가 고정적이지 않다는 점에서 유리하다. 이는 SN(603)와 지능형 단말기(601) 사이에서 쉽게 이동될 수 있다. 새 기능이 도입될 때, 초기에는 SN(603)에 위치할 수 있고 나중에 지능형 단말기(601)에 새로운 하나 이상의 상태표(607)로서 저장될 수 있다.
기능의 위치는 다음을 고려하여 최적화될 수 있다.
- SN(603)와 지능형 단말기(601) 내의 프로세서 및 스토리지 용량.
- 제어 채널(605)의 전송 용량
- 사용자에게 주어질 정보량.
- SN(603)로 설정된 제어 채널(605)없이 독립 모드(stand-alone mode)에 있는 지능형 단말기(601) 내에서 기능의 일부 또는 전부를 수행하기 위한 모든 요구사항.
- 기능이 사용되는 주파수.
상기 장치는 또한 SN(603) 및 지능형 단말기(601)를 포함하는 시스템의 기능을 변화시키기 쉽다는 점에서 유리하다. 이는 다음 때문에 달성된다.
- 시스템이 다른 응용에서 사용된다.
- 응용이 더 발전되었고 새로운 기능이 추가되었다.
- 몇몇 사용자는 동일한 지능형 단말기(601)를 사용하고 동일한 응용의 개인용 사용자 인터페이스를 가진다.
- 사용자는 자신의 응용의 기능을 변화시키길 원한다.
본 발명의 또다른 실시예를 이제 기술할 것이다. 이 대안적 실시예에서, USSD 위의 응용 프로토콜은 운용자가 더욱 발전된 서비스를 구현할 수 있도록 제공된다. 본 발명의 이해를 돕기 위해, 이 실시예는 이동 통신 시스템 환경의 상황에서 기술될 것이다. 그러나, 이 분야의 숙련된 사람은 본 명세서에서 기술된 기술이 이동 통신 시스템에만 한정되는 것이 아니라 다른 형태의 통신 시스템에도 동일하게 적용될 수 있음을 알아야한다. 그러므로, 이동 단말, MSC/VLR, HLR과 같은 셀룰라 통신 시스템 구성요소, 등등과 같은 용어는 본 발명의 범위를 한정하는 것으로가 아니라 단지 본 발명의 기술이 실시되는 예시로서 만들어지는 것이다.
이 실시예에 있어서, 서비스 응용 로직은 망 노드(예를 들면, SN)와 본 명세서에서 참조로서 결합된 발명의 명칭이 "INTELLIGENT MOBILE STATION FOR A CELLULAR TELECOMMUNICATIONS NETWORK이고 1996년 3월 18일에 출원된(attorney docket No. 1000-0022) 미국 특허출원 제08/617,139에 기술된 지능형 이동국(IMS)과 같은 지능형 단말기 모두에 들어있다. 응용 로직 및 지능형 단말이 서로 통신할 때 쓰는 프로토콜은 본 명세서에서 "지능형 단말 프로토콜(Intelligent Terminal Protocol: ITAP)"라고 지칭한다. 위 언급처럼, SN과 지능형 단말간의 통신은 레이어화된 프로토콜을 이용하는데, 거기에서 ITAP은, GSM phase 2에 따른 USSD 프로토콜과 같은 보다 낮은 레이어 프로토콜 또는 SMS를 써서 운반되는 베어러 독립 레이어(bearer-independent layer)이다. IMS 사용자는 요청된 서비스를 포함하는 서비스 노드와 통신한다. ITAP 연결은 병행하는 음성 대화 연결이 있는지 없는지에 대해 무관하다.
ITAP 특징은 다음을 포함한다.
- 서비스 독립성. ITAP은 포괄적 프로토콜이다. 모든 형태의 개인 통신 시스템에 대해서 ITAP을 지원하여 IMS을 사용할 수 있다.
- IMS 소프트웨어를 서비스 변경 및 서비스 추가를 위해 바꿀 필요가 없다. 이는 서비스가 변경되거나 새로운 서비스가 도입될 때 요구되는 모든 소프트웨어 변경이 단지 망 서비스 노드에서 수행된다는 것을 의미한다. IMS 소프트웨어의 변경이 불필요하다.
- 베어러 독립성. 이는 ITAP 통신이 베어러에 대화 연결이 존재하는 것에 상관하지 않음을 포함한다.
- ITAP은 저속 베어러에 대해 최적화된다. 사용가능한 베어러가 USSD 및 SMS(저속 베어러이다)를 포함하기 때문에, ITAP 프로토콜은 사용자에 대한 적절한 응답 시간이 얻어지도록 최적화된다.
- 그래픽 및 텍스트 기반 지능형 이동국이 모두 지원된다.
- ITAP 개념은 표준화를 위해 적용가능하다.
- 서비스 노드는 데이터 마스터(data master)이다.
- 운용자 서비스 관리는 복잡하지 않다. 운용자는 새로운 서비스를 쉽게 도입할 수 있고 기존 서비스를 쉽게 갱신할 수 있다.
도 11은 본 발명의 이 실시예의 한 형태에 따른 SN(1101)의 블록도이다. SN(1101)는 계층적으로 짜여진 하나 이상의 프로그램을 실행하는 컴퓨터 장비를 포함할 수 있다. 가장 아래 레이어에는 이 분야에 공지된 USSD 서비스 제공자(1103)가 있다. USSD 서비스 제공자(1103) 위에 USSD 서비스 제공자(1103) 아래와 서비스 응용(1107) 위 사이의 인터페이스로서 서비스하는 ITAP 서비스 제공자(1105)가 있다. 프로토콜 스택으로서, ITAP 서비스 제공자(1105)는 다음에 대한 책임이 있다.
- ITAP 동작 인코딩 및 디코딩.
- 통신의 체계를 점검. 예를 들면, 제일 먼저 수신된 동작이 틀림없이 ITAP Bind 동작임을 점검.
- ITAP을 특정 구현(예를 들면, USSD)에서 사용되는 베어러로 매핑. 매핑은 둘 이상의 베어러 프로토콜 데이터 유닛에서 전송하기 위한 ITAP 분할을 포함할 수 있다.
ITAP 서비스 제공자(1105)는 또한 GetImageDescription(아래에 기술된)라고 하는 ITAP 동작을 단독으로 책임질 수 있다.
도 12는 ITAP이 IMS(1201)로 서비스를 제공하기 위해 사용되는 GSM 망을 도시하고 있다. 이점에서, GSM 규격 및 CCITT 권고에 기술된 다수의 개념 및 요구사항이 이 도시된 실시예가 적용된 환경을 이해하는데 유용한데, 구체적으로, GSM 02.90, GSM 09.02. GSM 03.38, Version 4.0.0의 기술내용, CCITT 권고 .X.208, 절대적 신택스 표기(Abstract Syntax Notation: ASN.1), CCITT 권고 X.229, CCITT 권고 X.219는 특히 유용하다. 이 GSM 및 CCITT 문서 각각은 본 명세서에 의해 전체적으로 참조되어 결합되어 있다.
ITAP 응용(1203)은 ITAP 서비스 제공자(1105) 및 USSD 서비스 제공자(1103)를 도 11에 도시한 바와 같이 포함하는 이동체 서비스 노드(1101)에 있다. ITAP 메시지는 MAP USSD 메시지에 의해 GSM 망(1205) 및 레이어 3 USSD 메시지 상의 무선 인터페이스를 통해 운반된다.
ITAP 서비스 예는 도 13a 내지 13e를 참조하여 이제 기술될 것이다. 본 명세서에 도시된 서비스는 사용자가 서비스 응용(1301)에 의해 저장되어 있는 메시지를 검색하길 원하는 서비스이다. 단계(1301)에서, 사용자는 IMS(1201) 위에서 ITAP 서비스 주메뉴를 선택한다. 응답으로, IMS(1201)은 Proc USSD request invoke(ITAP operation=Bind invoke)를 가장 아래 레이어에 있는 USSD 서비스 제공자(1355), 중간 레이어에 ITAP 서비스 제공자(1353), 가장 높은 레이어에 서비스 응용(1351)이 있는 SN(1357)로 발송한다(단계(1303)). USSD 서비스 제공자(1355)는 Proc USSD request invoke를 수신하고 ITAP 서비스 제공자(1353)에게 적절한 ITAP 동작 정보를 보내고 이는 이어서 이 서비스에 대한 그 적절한 정보를 서비스 응용(1351)으로 보낸다. 이 기술의 나머지에서, 서비스 응용(1531)은 IMS(1201)로부터 수신된 메시지의 수신자이거나 IMS(1201)으로 전송되는 메시지 원으로서 지칭될 것이다. 그러나, USSD 서비스 제공자(1355) 및 ITAP 서비스 제공자(1353) 모두를 통해 이 메시지가 통과된다는 것을 알 수 있다.
서비스 응용(1351)은 ITAP 서비스 제공자(1353) 및 USSD 서비스 제공자(1355)가 USSD request invoke(ITAP operation=Bind result) 메시지로 변환하여 IMS(1201)로 발신된 응답을 보낸다. 이 메시지의 응답으로, IMS(1201)은 스크린에 메뉴를 디스플레이한다(단계(1307)). 메뉴는 IMS(1201)에 캐시 저장된 이미지 설명에 의해 정의된다. IMS(1201)은 디스플레이된 메뉴의 선택사항 사이를 돌기 위해 사용자가 IMS(1201)의 화살표 키를 사용할 수 있게 하는 지능형이다. 사용자가 계속 아래로 돌리면, 이상의 선택사항이 사용자에게 보일 것이다.
이 예에서, 사용자는 "메시지" 부메뉴를 이 선택사항이 표시될 때 IMS(1201)의 "예" 키를 눌러서 선택한다(단계(1309)). 이는 IMS(1201)이 USSD request result(ITAP operation=MailboxStatus invoke) 메시지를 서비스 응용(1351)으로 발신하게 한다(단계(1311)).
응답으로, 서비스 응용(1351)은 USSD request invoke(ITAP operation =MailboxStatus result) 메시지가 IMS(1201)로 전송되도록 한다(단계(1313)). 이는 IMS(1201)로 하여금, 이 예에서, 3 음성 메시지 및 1 팩스 메시지가 검색가능하다는 것을 표시하는 새 메뉴(1315)를 디스플레이하게 한다. 이 예에서, 사용자는 이 선택사항 사이를 돌다가 "음성" 부메뉴를 이 선택사항이 표시될 때 "예" 키를 눌러서 선택한다(단계(1317)). 이 선택은 IMS(1201)로 하여금 USSD request result(ITAP operation=EnquiryMailbox invoke) 메시지를 서비스 응용(1351)으로 전송하게 한다(단계(1319)). SN(1357)로부터의 응답은 USSD request invoke(ITAP operation=EnquiryMailbox result) 메시지이다(단계(1321)). 이 메시지는 IMS(1201)에 저장될 음성 메시지 목록을 포함한다. 음성 메시지 목록은 몇 개의 새로운 음성 메시지와 몇 개의 이전 메시지가 목록에 있는지에 관한 정보를 포함한다. IMS(1201)는, 이 예에서, 두 개의 새로운 메시지와 한 개의 이전 메시지를 나열하는 메뉴(1323)을 디스플레이하기 위해 이 정보를 사용한다.
사용자는 이 선택사항 사이를 돌 수 있고, 이 예에서, 새로운 음성 메시지를 표시하기 위해 이 선택사항이 표시될 때 IMS(1201)의 "예" 키를 눌러서 선택한다(단계(1325)). 음성 메시지 목록은 이미 수신되어 IMS(1201)에 저장되어 있으므로, 사용자 선택은 IMS(1201)과 서비스 노드(1357) 사이에서 처리할 것이 없다. 대신, 여러 가지 새로운 음성 메시지에 대한 정보(1327)가 IMS(1201)의 스크린에 디스플레이된다. 사용자는 새로운 음성 메시지의 목록 사이를 돌아다니기 위해 화살표 키를 국지적으로 사용할 수 있다(단계(1329)).
사용자는 음성 메시지를 재생하기 위해 요청된 메시지에 관한 정보가 디스플레이될 때 IMS(1201)의 "예" 키를 눌러서 선택한다(단계(1331)). 이 선택은 IMS(1201)로 하여금 USSD request result(ITAP operation=PlayMessage invoke)를 SN(1357)로 전송하게 한다(단계(1333). SN(1357)의 서비스 응용(1351)은 SN(1357)와 IMS(1201) 사이에 호가 설정되게 한다(단계(1335)). SN(1357)는 또한 USSD request invoke(ITAP operation=PlayMessage result)를 IMS(1201)으로 전송한다(단계(1337)).
IMS(1201)에서 수행하는 ITAP 응용은 "AcceptIncomming Call"이라 하는 국지적 기능을 수행하여 응답한다(단계(1339)). 이는 IMS(1201)으로 하여금 SN(1357)에 의해 설정된 호룰 받도록 한다(단계(1341)). 사용자는 이제 선택된 음성 메시지를 들을 수 있다. 스크린은 또한 IMS(1201)이 가청 메시지를 재생하는 것을 확인하는 정보(1343)를 나타낸다.
위 예의 이벤트의 시퀀스가 응용 의존형이므로 알맞게 따라서 바뀔 수 있다는 것을 알 수 있다. 그러나, SN(1101)에 서비스 일부를 구현하고 일부는 IMS(1201)에 구현하여 SN(1101)과 IMS(1201) 사이의 통신 중 상당 부분이 "속기(short-hand)"처럼 줄어들 수 있음을 알아보기에 유용한데, 이는 대역 한정 제어 채널(605)을 더욱 효율적으로 사용할 수 있게 한다. 특히, 이 해결책은 아래의 유리함을 제공하다.
1. 서비스 로직이 서비스 응용(1107) 뿐만 아니라 IMS(1201)에도 있으므로 응답 시간이 더 좋아진다. 국지적 로직 판단은 IMS(1201)에서 달성될 수 있다. 국지적 메뉴 처리도 IMS(1201)에서 수행된다. 망 서비스 응용(1107)과의 통신은 단지 망 서비스 데이터가 페치되거나 저장될 필요가 있거나 망 서비스 기능이 호출될 필요가 있을 때에만 수행된다.
또한, ITAP 동작은 기본 인코딩 규칙(Basic Encoding Rules: BER) 또는 패킹된 인코딩 규칙(Packed Encoding Rules: PER)으로써 인코딩될 수 있는데, 이는 SMS 7 비트 알파벳보다 더욱 콤팩트한 코딩을 하게 한다.
2. 서비스 응용 로직이 IMS(1201)에 있으므로, 훨씬 좋은 사용자 인터페이스를 운용자 규정 서비스에 대해 사용될 수 있고, IMS(1201)의 다른 모든 서비스에 대한 것과 동일한 MMI 방식을 사용할 수 있다. 예를 들면, 운용자 규정 서비스에 대해, 메뉴 처리는 IMS(1201)의 다른 모든 기능에 대한 것과 동일한 MMI 방식으로 수행된다. 또한, IMS(1201)이 그래픽 사용자 인터페이스를 구비하고 있다면, 이를 이용할 수 있다.
3. 국지적 IMS 서비스 응용 로직을 통해 국지적 IMS 기능을 호출할 수 있다. 이러한 국지적 기능은 번호를 해당 명칭으로 번역하는 것이나, 링 신호를 활성화하는 것이나, 자동 "오프훅(off-hook)"을 하는 것을 포함할 것이다.
4, ITAP 체계는 망 타이머가 만료되지 않게 방지한다. 이는 ITAP 서비스의 존속 길이가 망 USSD 타이머에 의해 한정되지 않음을 의미한다.
5. ITAP 동작은 몇 개의 USSD 동작으로 분할될 수 있다.
6. 하나 이상의 ITAP 세션이 하나의 USSD 다이얼로그에 의해 수행될 수 있다. 이는 일시적으로 서비스를 인터럽트하고, 다른 서비스를 실행하고 다시 먼저의 서비스로 돌아갈 수 있게 한다.
ITAP의 다른 특징은 다음과 같다.
a) IMS 국지적 서비스 응용 로직 및 MMI는 본 명세서에서 "이미지 설명(Image Description)"이라 지칭되는 "캐시저장가능" 서비스 응용 스크립트에 의해 제어될 수 있다. 이미지 설명은 망으로부터 IMS(1201)으로 ITAP 동작에 의해 로드된다. 이미지 설명은 IMS(1201)의 서비스 로직 및 MMI를 정의한다. MMI의 정의는 논리적 레벨에 있다, 즉, IMS(1201)의 현재 MMI 방식은 서비스가 실행될 때 이용된다.
이미지 설명의 사용은 망의 서비스 응용이 갱신될 때 이미지 설명의 새로운 세트가 IMS(1201)으로 로드된다는 것을 의미한다. IMS(1201) 소프트웨어 갱신을 필요없다.
b) 이미지 설명은 양호하게는 IMS(1201)에 캐시저장된다, 즉, 전원이 끊어질 때 IMS(1201)에 그대로 있다.
c) ITAP 세션이 시작될 때, IMS(1201) 또는 망 서비스 응용(1107)에 의해 IMS(1201)과 망 서비스 응용(1107)에서 교섭이 수행된다. 이는 서비스가 망에서 갱신될 때 IMS(1201) 및 망의 서비스 응용이 일관성 있을 것을 보장한다. 이미지 설명이 지원된다면, 이미지 설명의 새로운 세트가 로드될 수 있다.
d) ITAP 세션은 IMS(1201)에서 도입호가 감지될 때 시작될 수 있다. 이는 망 기반 주소 데이터베이스를 가지고 번호 대 명칭 번역하는 것과 같은 확장된 도입호 서비스를 구현가능하게 한다.
e) 어떤 형태의 코딩(PER 또는 BER)이 사용되고 있는지는 시작 ITAP 동작에 표시되어 있다.
f) 망의 ITAP 서비스 응용(1107)은 항상 데이터 마스터이어야 한다. 이는 운용자가 서비스 지역을 동적으로 관리할 수 있게 한다. 또한, 사용자가 IMS(1201)이 아닌 일반적인 탁상 전화기 또는 인터넷 WWW을 통한 PC와 같은 다른 형태의 단말로부터의 서비스 데이터를 관리할 수 있게 한다.
g) ITAP는 베어러에 독립적이다. 예를 들면, ITAP를 SMS와 같은 다른 가능 베어러로 매핑할 수 있다. 이는 ITAP을 베어러가 존재하는 다른 전화망에서 사용할 수 있는 것이다. ITAP는 다음에서 사용가능하다.
- 고정 전화망,
- 아날로그/디지털 이동망,
- 위성망
h) ITAP가 베어러에 독립적이긴 하지만, ITAP는 USSD와 같은 저속 베어러에 대해 최적화된다.
i) 베어러가 병렬 다이얼로그를 지원하면, 실지 병렬 ITAP 세션이 실행될 수 있다.
j) ITAP는 다음에서 구현될 수 있다.
- IMS의 이동체 장비부,
- 신청 확인 모듈(Subscription Identification Module: SIM) 응용 도구세트가 지원될 때의 SIM,
- USSD 및 호처리 제어 및 다른 이동국 규정 기능을 지원하는, 이동국과 컴퓨터 장치 사이에 인터페이스가 있을 때 이동국에 연결된 PC 또는, 랩탑 컴퓨터 또는, 통신기 또는, 편성기 또는, 모든 컴퓨터 장치
앞서 언급한 대로, 본 발명의 한 형태는 (USSD 또는 SMS)와 같은 저속 베어러에 대해 최적화될 수 있다는 것이다. IMS 사용자에 대해 적절한 응답 시간을 얻기 위해서, SN과 IMS간에 전송되는 동작의 수와 크기를 한정한다. 이는 가능한 많은 서비스 응용 로직을 IMS(1201)에 구비하여 달성된다. 이는 도 14에 도시되어 있다. IMS(1401)은 3 레이어로 분할된 기능을 포함한다. 아래에서부터 위로 보면, ITAP 베어러 서비스 제공자(1403), ITAP 서비스 제공자(1405), ITAP 제어 하의 서비스 응용이 있다.
SN(1409)는 또한 3 레이어로 분할하는 기능을 포함한다. 위에서부터 아래로 보면, ITAP 베어러 서비스 제공자(1411), ITAP 서비스 제공자(1413), 하나 이상의 서비스 응용(1415)이 있다.
SN(1409) 및 IMS(1401)에서, 서비스 응용 프로세스(1407, 1415)가 수행한다. 이 서비스 응용 프로세스(1407, 1415)는 자체의 상태 머신(state machine)을 구비한다, 즉, 다른 유닛(IMS(1401) 또는 SN(1409))의 상태를 알지 못한다.
SN(1409)와 IMS(1401)의 서비스 응용 프로세스는 ITAP 동작의 세트를 통해 통신한다. 기본 ITAP 동작은 Bind(1417), Unbind(1419), Alert(1421)를 포함한다. 그 외에도, ITAP를 사용하는 각 서비스 응용에 대해, 응용 의존형 동작(1423) 세트가 있다. 이 동작 각각은 소정 SN 서비스 응용 기능(1415)을 호출한다.
다중 ITAP 세션이 동시에 진행될 수 있음을 주목하자. 그러나, 다중 세션이 병렬적으로 실행될 수 있었는지는 베어러 능력에 의존하지 않는다. 예를 들면, 현재 버전의 USSD는 병렬적 USSD 다이얼로그를 지원하지 않으므로, 새로운 ITAP 세션은 이미 진행중인 ITAP 세션을 일시적으로 인터럽트한다.
이제 도 15를 참조하면, ITAP의 또다른 특징은 IMS(1401)을 재프로그램하지않고 서비스를 변경 및 추가하는 것이 가능하다는 점이다. 이는 IMS(1401)의 서비스 응용(1407)을 로드가능 ITAP 이미지 설명(1501)을 써서 제어하는 것으로써 얻어진다. 이 이미지 설명(1501)은 MMI, MMI 상태 천이, 호에 대한 국지적 기능, 호에 대한 SN 기능을 정의한다. 이미지 설명(1501)이 없거나 또는 최근 것이 아니라면, 이는 SN(1409)로부터 GetImageDescr(1503)이라 하는 ITAP 동작을 써서 페치될 수 있다.
ITAP의 모든 특정 실시예는 이미지 실명(1501)을 지원하거나 지원하지 않을 수 있다. 아래의 표는 이미지 설명(1501)을 지원하는 ITAP 구조와 지원하지 않는 구조를 비교한다:
ITAP 동작의 양호한 세트에 대해서 더 상세하게 기술될 것이다. ITAP 동작은 양호하게는 다음과 같은 두 개의 주그룹으로 나뉜다.
- 기본 ITAP 동작: 이 동작 모두는 기본적이고, 서비스에 독립적인 동작이고, ITAP을 사용하는 모든 응용에 공통이다.
- 응용 의존형 ITAP 동작: 이 동작은 SN의 서비스 기능을 원격으로 호출하기 위해 IMS에 의해 시동된다.
동작의 구조는 본 명세서에서 참조적으로 결합된, CCITT 권고 X.229 및 X.219에 따른, 원격 운용 서비스 요소(Remote Operation Service Element: ROSE) 표준을 따른다.
기본 ITAP 동작의 양호한 세트는 이제 더욱 상세하게 기술될 것이다.
Bind:
Bind 동작은 IMS(1401)에 의해 시동된다. 이는 ROSE 1등급 동작이고, 즉, 이는 동기적 동작이고 성공(결과) 또는 실패(에러)를 보고한다. Bind는 1) ITAP 서비스 응용을 시작하기 위한, 그리고 2) ITAP 세션을 시작하기 위한, 두 가지 상황에서 사용된다. 이 상황에 대해 더욱 상세하게 아래에 기술한다.
Unbind:
Unbind 동작은 IMS(1401)에 의해 시동된다. 이는 ROSE 5등급 동작이고, 즉, 이 동작의 결과는 보고되지 않는다. Unbind의 목적은 ITAP 세션을 종료하기 위한 것이다.
GetImageDescr:
GetImageDescr 동작은 IMS(1401)에 의해 시동된다. 이는 ROSE 1등급 동작이고, 즉, 동기적 동작이고 성공(결과) 또는 실패(에러)를 보고한다. GetImageDescr 동작은 이미지 설명을 SN(1409)로부터 요청한다. 이 동작은 이미지를 디스플레이해야 하고 해당하는 이미지 설명이 캐시에 없을 때 IMS(1401)에 의해 시동된다. 이 동작은 IMS(1401) 및 SN(1409)가 이미지 설명을 지원할 때만 사용된다.
Alert:
Alert 동작은 SN(1409)에 의해 시동된다. 이는 ROSE 3등급 동작이고, 즉, 실패(에러)만을 보고한다. Alert 동작의 목적은 새로운 메시지 확인과 같은 이벤트의 존재에 대해서 IMS(1401)를 얼러트하기 위함이다. 이 동작은 ITAP 레벨에서 응답을 해야하지만, IMS(1401)는 Bind, 또는 GetImageDescr, 또는 Unbind, 또는 응용 의존형 ITAP 동작을 시동하여 다이얼로그를 계속한다. Bind 동작은 IMS(1401)이 Alert 동작에서 표시된 것과 다른 응용 버전을 가지고 있을 때 시동된다.
응용 의존형 ITAP 동작에 대해서, 이는 모두 ROSE 1등급 동작이고, 즉, 동기적이고 동작이고 성공(결과) 또는 실패(에러)를 보고한다. 이 동작은 IMS(1401)이 SN(1409)에서 실행될 서비스 응용을 요청할 때 시동된다. 요청된 기능으로부터의 응답은 시동된 동작 결과로서 수신된다. ITAP을 사용해야 하는 각 서비스 응용(1415)에 대해, 응용 의존형 ITAP 동작 세트가 규정되어야 한다. 이 동작이 규정될 수 있는 방법에는 제약들이 있다. 이 제약은 다음과 같다.
만약 이미지 설명이 지원된다면, 각 응용 의존형 동작에 대한 동작 코드, 시동 인자(invoke argument), 결과 인자가 이미지 설명에 대해 규정되어야 한다.
ITAP 서비스 응용의 시작
가입자가 규정된 ITAP 응용을 액세스할 수 있기 전에, ITAP 응용은 IMS(1401)에서 시작되어야한다. 이에 대한 과정은 다음과 같다.
1. 사용자는 ITAP 응용을 IMS(1401)에서 시작하기 위해 메뉴에 들어간다. 그리고 이 응용에 대한 서비스 코드가 사용자에 의해 입력된다.
2. Bind 동작(1417)이 IMS(1401)으로부터 SN(1409)로 전송된다. 이 동작에서, "Bind reason"이 "init subscription"으로 설정된다.
3. SN(1409)는 응용의 명칭 및 Bind가 도입호/호 대기 표시에서 시동되어야 하는지에 관한 정보를 포함하는 "Bind result"를 내보낸다.
4. IMS(1401)은 응용 파라메터를 저장한다. 양호하게는, 응용의 명칭이 IMS MMI에서 이 서비스 응용의 주메뉴의 명칭으로서 사용되어야 한다.
5. IMS는 ITAP 세션을 종료시킨다.
ITAP 세션의 시작
ITAP 세션은 다음으로 시작한다.
- IMS(1401)에 의해 시작되는 Bind 동작(1417) 또는
- SN(1409)에 의해 시작되는 Alert 동작(1421).
ITAP 세션을 시작하는 이벤트는 다음과 같다.
- ITAP 서비스 응용을 IMS(1401)에서 사용자가 시작한다. Bind가 전송될 것이다.
- SN(1409)에서의 이벤트. Alert가 전송될 것이다.
- IMS(1401)에서의 도입호 또는 호 대기 표시. Bind가 전송될 것이다.
SN(1409)로 Bind의 이유에 대한 정보를 주어야 하기 때문에, 이 동작은 "Bind reason" 파라메터를 포함한다. "Bind reason"은 다음 값을 가진다.
- 사용자 시작
- 호 관련 표시, 즉, 도입 호 및 호 대기.
- 맞지 않는 응용 버전. 이는 SN(1409)가 Alert로써 ITAP 세션을 시작하고 IMS(1401)이 자신의 응용 버전이 SN(1409)의 버전과 다를 때 사용된다.
- ITAP 서비스 응용의 시작에 관해 위에서 기술한 것과 같은 시작 신청.
SN(1409)가 Bind 동작을 수신할 때, 이는 IMS(1401)의 응용 버전과 SN(1409)의 응용 버전을 비교한다. SN(1409)가 현재 IMS(1401)에 의해 지원되는 응용 버전과 다른 응용 버전을 가지고 있다면,
- 이미지 설명이 지원되지 않을 경우, SN(1409)는 응용 버전을 IMS(1401)이 지원하는 버전으로 변경한다. SN(1409)가 그 응용 버전을 지원하지 않는다면, Bind 에러가 리턴되고 ITAP 세션은 종료된다.
- 이미지 설명이 지원되는 경우, Bind response는 캐시로부터 지울 이미지 설명의 목록을 포함한다.
Bind result 동작은 또한 이 가입자가 사용할 수 있는 부 서비스를 규정하는 파라메터를 포함한다. IMS(1401)은 메뉴가 주어져야 할 때 이 파라메터를 점검한다. 메뉴가 신청에 포함되지 않은 서비스에 대한 선택사항을 포함한다면, 이 선택사항은 디스플레이되지 않을 수 있다. 이는 운용자로 하여금 서비스 응용을 다수의 부 서비스로 나눌 수 있게 한다. 가입자는 어느 부 서비스를 자신이 사용하길 원하는지 결정할 수 있다.
ITAP 세션의 종료
ITAP 세션은 IMS(1401)에 의해 시작되는 Unbind 동작에 의해 정상적으로 종료된다. 그러나, 에러 경우에는 ITAP 세션은 IMS(1401) 및 SN(1409)에 모두에 의해 베어러 레벨에서 중지(abort)에 의해 중지될 것이다.
ITAP 타임아웃(timeout) 처리
타임아웃은 SN(1409) 및 IMS(1401) 모두에 의해 처리된다.
SN(1409)에 의한 타임아웃 처리를 살펴보면, SN(1409)에는 "유휴(idle)" 타이머가 있어야 한다. 이 타이머는 동작(Alert 또는 ROSE 1등급 동작 Result, Error, Reject)이 IMS(1401)으로 전송되었을 때 항상 시작된다. SN 유휴 타이머의 초기 값은 일정하다.
타임아웃은 규정된 시간 주기 내에 새로운 동작(Bind, GetImageDescr, Unbind, 또는 응용 의존형 ITAP 동작)이 IMS(1401)에 의해 시동되지 않을 때 감지된다. 타임아웃이 감지될 때, SN(1409)는 국지적으로 ITAP 세션을 중지하고, 만약 베어러가 다이얼로그 구조라면, 베어러 레벨의 다이얼로그를 중지한다.
IMS(1401)에 의한 타임아웃 처리를 살펴보면, IMS(1401)은 IMS(1401)에 의해 시동되는 ROSE 1등급 동작(Bind, GetImageDescr, 또는 응용 의존형 ITAP 동작)으로의 응답을 감시하는 타이머를 구비해야 한다. 타이머 값은 전송된 각 동작에 대해 규정되어야 한다. 응용 의존형 ITAP 동작에 대해서는 타이머 값이 시동된 동작에 의존한다. 이미지 설명이 지원되면, 응용 의존형 ITAP 동작에 대한, 타이머값은 이미지 설명에서 규정된다.
타임아웃은 규정된 시간 내에 SN(1409)로부터 수신된 응답(Result, Error, 또는 Reject)이 없을 때 감지된다. 타임아웃이 감지될 때, IMS(1401)은 국지적으로 ITAP 세션을 중지하고, 베어러가 다이얼로그 구조를 가진다면, 베어러 레벨의 다이얼로그를 중지한다.
이외에, IMS(1401)은 사용자가 규정된 시간 내에 행동을 수행하는지를 모니터하는 "유휴" 타이머를 가져야 한다. 이 타이머는 선택사항(Alert 또는 ROSE 1등급 동작 Result, Error, 또는 Reject)이 SN(1409)로부터 수신되었을 때 항상 시작한다. "유휴" 타이머의 초기값은 Alert가 수신된 상황을 제외하고는 일정하다. 이 경우 타이머 값은 Alert 동작의 파라메터로써 규정된다.
IMS(1401)이 "유휴 타임아웃"을 감지할 때, IMS(1401)은 SN(1409)로 Unbind를 전송하여 정상적인 ITAP 종료를 해야한다.
ITAP 에러 처리
ITAP 레벨에서의 에러 처리는 ROSE에 따라 수행된다. 에러 또는 타임아웃이 베어러 레벨에서 발생하면, 이 베어러 다이얼로그에 의해 수행되는 모든 ITAP 세션은 중지되어야 한다.
ITAP 동작의 코딩
동작은 BER 또는 PER에 따라 코딩된다. 그러나, PER 코딩 표준이 보다 짧은 동작 및 보다 나은 성능을 IMS 사용자에게 제공하므로 이 코딩이 양호하다.
ITAP 동작의 최대 크기
양호한 실시예에서, ITAP 동작의 최대 크기는 1024 옥테트로 한정되어야 한다. 이 한정은 또한 ITAP 이미지 설명의 최대 크기를 정의할 수 있다. ROSE 헤더와 함께 ITAP 이미지 설명의 크기는 1024 옥테트보다 크지 않아야 한다.
ITAP 이미지 설명에 대해 초점을 두어 언급하겠다. ITAP 이미지 설명은 다음을 정의하는 자원이다.
- 서비스가 실행될 때 IMS(1401)의 MMI. 이미지 설명에서, MMI 정의는 보다 높은 로직 레벨에서 이루어진다. 실제 이미지 형성 및 제시는 IMS(1401)에 의해 결정된다.
- 서비스가 실행될 때 IMS(1401) 및 SN(1409)의 기능의 호출.
이미지 설명은 다음의 목록으로부터 객체(object)를 규정한다.
- 국지적 IMS 기능 호, 응용 의존형 ITAP 동작("SN 기능호")의 시동, 조건적 문장(conditional statement), 라벨 문장(label statement)을 포함하는 행동 사항의 목록.
- 고정 텍스트.
- IMS 표준 키에 관한 행동.
- 각 메뉴 선택사항에 대한 행동을 구비하는 메뉴.
- 동적 데이터의 목록.
- 여러 가지 형태의 입/출력 필드.
- 동적 데이터의 일시적 저장을 위한 단말 레지스터.
선택사항 메뉴에 대한 예시적인 이미지 설명(1601)를 도 16에 도시한다. 이미지 설명(1601)으로부터, 국지적 IMS 기능(1603) 및 원격 SN 기능(1605)을 호출하는 것이 가능하다. 기능이 호출될 때, 입력 및 출력 파라메터는 임시 레지스터에 저장된다. 이 레지스터는 입/출력 필드, 목록과 같은 것에서 참조된다. 원격 SN 기능은 현재 응용에 사용가능한 응용 의존형 ITAP 동작(1605)의 세트를 통해 호출된다.
국지적 IMS 기능에 대해, ITAP은 IMS에 의해 지원될 기능의 세트를 규정한다. IMS 기능은 다음의 그룹으로 나뉘어진다.
- 이미지 설명, 레지스터, 파라메터 목록과 같은, 이미지 설명 객체를 조작하기 위한 기능.
- "Accept incoming call" 및 "Set up call"과 같은 호 관련 기능.
- DTMF 신호를 처리하기 위한 기능.
- 전화번호부와 같은, 국지적 IMS 소프트웨어 객체를 액세스하기 위한 기능.
- 톤(tone) 발생기와 같은, 국지적 IMS 소프트웨어 객체를 액세스하기 위한 기능.
- SMS 처리를 위한 기능.
입력 및 출력 파라메터를 가지는 국지적 IMS 기능의 목록은 본 명세서에서 나중에 기술될 것이다.
ITAP을 지원하기 위해서, SN(1409) 및 IMS(1401)은 다음과 같이 다수의 요구사항을 각각 만족시켜야 한다.
SN(1409)에 대한 요구사항
- SN(1409)는 ITAP에 대해 선택되어진 베어러 프로토콜을 지원해야 한다.
- SN(1409)는 ITAP 프로토콜의 기본 동작을 지원해야 하고 PER 또는 BER에 따른 ITAP 데이터 형태를 코딩/디코딩할 수 있어야 한다.
- SN(1409)는, 구현된 각 ITAP 응용에 대해, 응용 의존형 ITAP 동작 세트를 지원해야 한다.
- SN(1409)는 운용 인자에 올바른 텍스트 스트링(text string)을 생산하기 위해, 각 가입자에 대해, 선택된 언어를 기억해야 한다.
부가적으로, 다음의 SN 요구사항은 이미지 설명이 지원될 때 만족되어야 한다.
- SN(1409)는 이미지 설명을 저장할 수 있어야 하고, IMS(1401)으로부터의 요청에 대해, IMS(1401)으로 그것을 로드할 수 있어야 한다.
- SN(1409)는 ITAP 응용의 새로운 버전이 도입될 때 이미지 설명의 어느 트랙이 IMS(1401)에 의해 대체되어야 하는지를 유지해야 한다.
IMS(1401)에 대한 요구사항
- IMS(1401)은 ITAP에 대해 선택된 베어러 프로토콜을 지원해야 한다.
- IMS(1401)은 ITAP 프로토콜의 기본 동작을 지원해야 하고 PER 또는 BER에 따른 ITAP 데이터 형태를 코딩/디코딩할 수 있어야 한다.
- IMS(1401)은, 구현된 각 ITAP 응용에 대해, 응용 의존형 ITAP 동작 세트를 지원해야 한다.
- IMS(1401)은 정상 모드의 동작을 떠나 사용자 응용이 주로 ITAP 응용부에 의해 제어되는 모드로 천이할 있어야 한다. ITAP 모드는 사용자 명령 또는 호 표시에 의해 또는 수신된 ITAP alert를 통해 시작된다.
- 호 제어, MMI 제어, SMS 제어 등에 대한 기본 IMS 기능 세트는 IMS(1401)의 ITAP부로부터 액세스가능해야 한다.
- ITAP 소프트웨어는, 전화번호부와 같은, IMS(1401)의 기존 소프트웨어 객체를 사용할 수 있어야 한다.
부가적으로, 이미지 설명이 지원될 때 다음의 IMS 요구사항이 만족되어야 한다.
- 이미지 설명 및 임시 데이터의 동적 저장을 위한 메모리가 IMS(1401)에서 사용가능해야 한다. 이미지 설명은 전원이 꺼져 있을 때 메모리에 있어야 한다. 이미지 설명을 저장하기에 요구되는 메모리 크기는 서비스를 위해 사용되는 이미지의 개수와 서비스의 복잡도에 달려 있다. 대다수 경우에, 이미지 설명은 200 바이트보다 크지 않다고 추정된다. 그러므로, 복잡한 ITAP 응용이 60개의 이미지 설명을 필요로 한다면, 12 킬로바이트가 IMS(1401) 내에 이미지 설명을 위해 할당되어야 한다.
- IMS(1401)은 이미지 설명을 해석하고 이미지 설명을 통하여 ITAP 응용 및 응용 의존형 ITAP 동작 세트를 제어할 수 있어야 한다.
시스템 운용자 관리는 또한 ITAP을 지원해야 한다. ITAP 개념에 관한 한 특징은 이미지 설명의 동적 로드가 가능하다는 점이다. 운용자가 서비스를 갱신할 때 시나리오는 다음과 같다.
1. 새로운 서비스 응용 버전이 SN(1409)에 설치된다.
2. SN(1409)에서 버전이 갱신된 후에 처음으로 접속이 설정될 때, SN(1409)는 IMS(1401)이 옛 버전을 가지고 있다는 것을 감지한다.
3. SN(1409)는 IMS(1401)이 이미지 설명 캐시 또는 캐시 일부를 지우라고 명령한다.
4. 서비스가 실행될 때, IMS(1401)은 없는 이미지 설명을 요청하기 위해 "GetImageDescr" 동작을 서비스 실행 중에 필요할 때 사용한다.
이미지 설명이 지원되면, ITAP 개념은 운용자에 대해 다음의 요구사항을 요구한다.
- SN 서비스 응용 로직 변경 및 이미지 설명 갱신은 동등하게 이루어져야 한다.
- 이미지 설명을 생성하고 관리하기 위한 관리 도구를 생성해야 한다.
ITAP 동작을 GSM phase 2에 따른 USSD 동작의 "USSD string" 파라메터로 매핑하는 기술을 이제 도 17 및 18을 참조하여 기술할 것이다. 도 17은 USSD 다이얼로그를 시작하는 USSD 동작을 위해 사용될 매핑을 도시한다. 도 18은 다른 모든 동작에 대해 사용될 매핑을 도시한다. 각 스트링은 USSD 규정 헤더(1701, 1801) 및 베어러 독립부(1703, 1803)를 구비한다. 다음은 USSD 스트링의 여러 필드에 대해 설명한 것이다.
ITAP 서비스 코드(1705):
이 필드는 USSD 다이얼로그를 시작하는 동작에서만 필요하다. 이 필드의 목적은 다음과 같다.
- MS 시작 USSD 다이얼로그에 대한 라우팅 정보: 서비스하는 망에게 USSD 동작이 가입자의 HPLMN의 HLR로 라우트되어야 함을 알린다. GSM 02.90, section 4.1.2, case a)에 대한 규격은 HPLMN의 HLR로 라우트되어야 할 때의 MS 시작 USSD 동작에 대해 요구되는 형태를 기술한다.
서비스 코드도 또한 HLR에게 USSD 동작이 올바른 외부 노드(SN)로 라우트되어야 한다는 것을 알린다.
- 망 시작 USSD 다이얼로그에 대한 프로토콜 식별자(identifier): IMS(1401)에 대해, 수신된 시작하는 USSD 동작이 ITAP 동작을 표준 USSD 스트링 대신 포함한다는 것을 식별해준다.
- 응용 인식자(identity): 시작된 ITAP을 사용하는 응용의 인식자를 규정한다.
ITAP 버전 번호(1707):
이 필드는 ITAP 버전 번호를 규정하는데, 시작 USSD 동작에만 있다.
코딩(1709)(시작 USSD 동작에만):
이 필드는 시작 USSD 동작에만 있는데, ITAP 동작을 인코딩하기 위해 사용된 코딩 규칙을 규정한다. 예시적인 코딩은 다음과 같다.
0 = 기본 인코딩 규칙.
1 = PER, 기본 정렬(basic aligned).
2 = PER, 기본 미정렬(basic unaligned).
3 = PER, 캐노니컬 정렬(canonical aligned).
4 = PER, 캐노니컬 미정렬(canonical aligned)
세션 아이디(ID)(1711)(모든 동작):
이 필드는 ITAP 세션 인식자를 명시하는데, 모든 동작에 있다.
세그먼트 플래그(Seg Flag)(모든 동작)::
이 필드는 세그먼트 정보를 명시하는데, 모든 동작에 있다. 이는 하나의 USSD 동작의 USSD 스트링 내에 다 들어가지 않는 긴 ITAP 동작에 대해 사용된다. 이 플래그의 값은 다음과 같다.
0 = "더 이상 정보없음". 이 USSD 동작은 완전한 ITAP 동작을 포함하거나 이 USSD 동작은 전송되고 있는 ITAP 동작의 마지막 부분을 포함한다.
1 = "올 정보가 더 있음". 이 USSD 동작은 완전한 ITAP 동작을 포함하지 않거나 이 USSD 동작은 전송되고 있는 ITAP 동작의 마지막 부분을 포함하지 않는다.
2 = "정보를 더 얻음". 한쪽(IMS(1401) 또는 SN(1409))이 "올 정보가 더 있음"으로 설정된 세그먼트 플래그(1713)를 가진 USSD 동작을 수신할 때, 이는 "정보를 더 얻음"으로 설정된 세그먼트 플래그(1713)를 가진 USSD 동작으로 응답한다. 이 경우에, "ITAP 동작" 필드(1719, 1819)는 비어있고, USSD 규정 헤더(1701, 1801)만이 USSD 스트링에 포함된다.
ITAP 동작의 PER 또는 BER 인코딩이 가능한 분할이 수행된 후에 수행되는 것이 양호하다. 수신된 ITAP 동작의 디코딩은 완전한 동작이 수신되고 수행되어야 한다.
분할을 기술하는 동작 시나리오 도는 나중에 주어진다.
USSD 다이얼로그 플래그(1715)(모든 동작):
이 플래그의 목적은 망의 USSD 타임아웃에 관한 문제를 해결하기 위한 것이다. 이 플래그가 0으로 설정되면, USSD 스트링은 정상적인 ITAP 동작을 포함한다. 다른 모든 경우에 "ITAP 동작" 필드(1719, 1819)는 비어 있다.
망의 USSDRequest invoke 타이머가 만료되지 않게 하기 위해서 전송되는 더미(dummy) USSD 동작에서 1 및 2값이 사용된다. 시간 제어가 IMS(1401)으로 리턴되는 시간마다, 즉, 수신된 USSDRequest invoke에 의해 운반된 ITAP Result 또는 ITAP Alert invoke가 수신될 때마다, IMS(1401)의 타이머는 시작된다. 이 IMS 타이머의 값은 망의 USSDRequest invoke 타이머보다 작아야 한다. USSDRequest result에 의해 운반된 ITAP 동작이 전송될 때, IMS 타이머는 취소된다. IMS 타이머가 만료되면, USSDRequest result에 의해 운반되는 "더미 요청(dummy request)"(USSD 다이얼로그 플래그 = 1)이 전송된다. SN(1409)는 USSDRequest invoke에 의해 운반된 "더미 확인(dummy confirm)"(USSD 다이얼로그 플래그 = 2)를 가지고 응답한다.
IMS 시작 USSD 다이얼로그의 경우에 대해, ProcessUSSDRequest invoke 타이머의 만료를 방지하기 위해서 전송되는 USSD 동작에서 3-5 값이 사용된다. 이 USSD 동작은 IMS 시작 USSD 다이얼로그를 종료하고 새로운 망 시작 USSD 다이얼로그를 시작한다. 새로운 USSD 다이얼로그에 의해 운반된 진행 중인 ITAP 세션은 계속된다. 과정은 다음과 같다.
IMS(1401)이 ProcessUSSDRequest invoke를 가지고 USSD 다이얼로그를 시작할 때는 항상, IMS(1401)은 타이머를 시작한다. 이 IMS 타이머 값은 망의 ProcessUSSDRequest invoke 타이머의 값보다 작아야 한다. "USSD 다이얼로그 스위치" 과정은 IMS(1401)에 의해서만 시작될 수 있으므로, SN(1409)에 있을 수 있는 최대 시간 제어는 이 IMS 타이머가 규정될 때 또한 고려되어야 한다. 이 IMS 타이머가 만료되면, USSDRequest result에 의해 운반된 "USSD 다이얼로그 스위치 요청"(USSD 다이얼로그 플래그 = 3)이 전송된다. SN(1409)는 TCAP-END 메시지의 ProcessUSSDRequest result에 의해 운반된 "USSD 다이얼로그 스위치 확인"(USSD 다이얼로그 플래그 = 4)를 가지고 응답한다. 이 IMS 시작 USSD 다이얼로그는 이제 종료되고, 새로운 망 시작 USSD 다이얼로그가 SN(1409)에 의해 설정되어야 한다. 시작 USSDRequest invoke는 "ITAP 세션 재개" 명령(USSD 다이얼로그 플래그 = 5)를 포함한다. 이제 이 새로운 망 시작 USSD 다이얼로그에 의해 운반되는 ITAP 세션은 계속된다.
망에서 USSD 타임아웃을 방지하기 위해 처리하기 위해 아래에 ITAP 동작 시나리오가 주어진다.
USSD 동작 및 망의 유휴 타이머에 관한 문제가 아래에 설명된다.
5값의, "ITAP 세션 재개", USSD 다이얼로그 플래그(1715)는 또한 이전에 인터럽트된 ITAP 세션이 동일한 ITAP 다이얼로그에서 재개되어야 할 때 사용된다. 이 시나리오의 예를 아래에 기술한다.
USSD 규정 테일(USSD specific tail)(1717):
이 규정 테일(1717)은 시작 USSD 동작에만 포함되는데, GSM 0290, section 4.1.2, case a에 따라 추가되어야 한다. "#"문자는 SMS 디폴트 알파벳에서 7 비트를 요구한다. 8번째 비트는 0으로 설정된다.
이제 베어러 독립부로 돌아가면, USSD 스트링은 다음을 포함한다.
ITAP 동작(1719, 1819):
이 필드는 세그먼트 플래그 = "정보를 더 얻음" 또는 USSD 다이얼로그 플래그< > "정상 ITAP 동작"일 때를 제외한 모든 동작에서 사용된다. ITAP 동작은 CCITT 권고 X.229 및 X.219에 기술된 바와 같은, ROSE 구조를 따르고, PER 또는 BER에 따라 코딩된다.
USSD 스트링의 최대 길이가 GSM 규격에 아주 분명하게 규정되어 있지 않기 때문에, ITAP 동작의 최대 길이는 이 시점에서는 불분명하다.
- USSD Request invoke 또는 Process USSD Request invoke에 대해서:
GSM 09.02는 160 옥테트의 최대 길이를 기술하고 있다. 그러나, TCAP 레이어에서의 한정도 있다. 여러 USSD 전문가들은 이 한정이 USSD 스트링의 길이에 얼마나 영향을 주는지에 대해 서로 다른 정보를 제공하여 왔다. 100과 150 사이의 숫자가 거론되어 왔다. 그 외에, USSD 스트링이 128 옥테트보다 길면 A 인터페이스 상에서 분할될 수 있다고도 거론되어 왔는데, 이는 응답 시간을 증가시킬 것이다.
- USSD Request result 또는 Process USSD Request result에 대해서:
GSM 02.90은 결과 USSD 스트링이, 7 비트 디폴트 알파벳에 따라 코딩된, 최대 80 문자로 한정된다고 기술하고 있다. 이는 한정이 70 옥테트임을 의미한다. 그러나, GSM 02.90의 이 한정을 없애자고 SMG에서 제안되었다.
USSD 스트링의 최대 길이가 이렇게 불분명하므로, 여러 USSD 동작에 대한 USSD 스트링 최대 길이를 SN(1409) 및 가능할 IMS(1401)에서의 형상 (configuration) 파라메터로서 가지는 것이 양호하다.
다음의 표는 ITAP 동작이 USSD 동작으로 매핑되는 방법을 도시한다:
데이터 코딩 방식(Data Coding Scheme: DCS)은 USSD 동작의 파라메터이고 언어 알파벳 및 메시지 등급 정보를 포함한다. GSM 02.90은 알파벳 표시자 및 언어 표시자를 설정하는 방법을 규정한다.
이동체 시작 USSD 동작에 대해: 알파벳 표시자 = "SMS 디폴트 알파벳", 언어 표시자 = "언어 비규정". 응답은 규정되지 않는다.
망 시작 USSD 동작에 대해: 요청은 규정되지 않고, 응답 DCS는 "SMS 디폴트 알파벳" 및 "언어 비규정"으로 설정되어야 한다.
GSM 02.90에 따라, IMS(1401)으로부터 전송된 동작은 알파벳 표시자 = "SMS 디폴트 알파벳" 및 언어 표시자 = "언어 비규정"을 구비해야 할 것으로 보인다. SN(1409)로부터 전송된 동작은, GSM 02.90에 따라, 이 표시자에 대해 다른 값을 사용할 수 있다. 그러나, 현 시점에서는 CME20, R6.1(본 발명의 양수인인 Telefonaktebolaget LM Ericsson에 의해 공급되는 장비)의 HLR 및 MSC/VLR이 "SMS 디폴트 알파벳"이 아닌 다른 알파벳 표시자를 수용할 수 있는지가 불확실하다.
결론적으로, 가능한 CME20 한정으로 인한, 주 대안은 모든 동작에 대해 알파벳 표시자를 "SMS 디폴트 알파벳"으로 언어 표시자를 "언어 비규정"으로 설정하는 것이다. GSM 03.38에 따르면, 이는 DCS가 2진값 "1111"을 가져야 함을 의미한다.
USSD 동작 및 망의 유휴 타이머와 연관된 문제 및 해결책에 대해 아래에 기술한다.
전반
SN(1409)과 IMS(1401) 사이의 통신을 위해 ITAP을 사용하는 서비스가 실행될 때 서비스 실행 중에 ITAP 세션을 활성화해야 한다.
망 노드, HLR 및 MSC/VLR에 타이머가 있는데, 이는 시동된 USSD 동작이 소정 시간 주기 내에 응답 받지 못하거나 USSD 다이얼로그가 소정 시간 주기 동안 유휴상태로 있으면 USSD를 중지한다. 타이머 값은 30초 내지 10분의 범위에 있다. 이 결과로서, ITAP를 사용하는 서비스 길이는 한정된다. 발전된 서비스에 대해서는 긴 시간 동안 ITAP 세션을 유지하는 것이 바람직하므로 이는 문제가 된다. 사용자가 ITAP 세션을 10분 이상 잡고 있는 상황도 있을 수 있다.
ProcessUSSDRequest 타이머에 관한 문제
설명: 이 타이머는 1-10분의 값을 가지고 ProcessUSSDRequest invoke가 서에서 수신될 때 시작된다. 타이머는 ProcessUSSDRequest result가 SN(1409)로부터 수신될 때까지 전 USSD 다이얼로그 동안 돌아간다.
ITAP에 대한 결과: 이 타이머는 모든 이동체 시작 USSD 다이얼로그의 총길이를 한정하여, 결과로서, IMS(1401)의 사용자에 의해 시작된 모든 ITAP 세션의 길이는 한정된다.
해결책: IMS(1401)은 IMS 시작 ITAP 세션이, ProcessUSSDRequest invoke로 매핑된 "Bind invoke"로써 시작될 때 시작하는 타이머를 구비한다. 이 타이머 값은 망의 ProcessUSSDRequest invoke 타임아웃 값보다 짧아야 한다. IMS 타이머가 만료할 때, 망 시작 USSD 다이얼로그로의 스위치가 수행된다. ITAP 세션은 계속되고 이 새로운 USSD 다이얼로그로 매핑된다.
USSDRequest 타이머에 관한 문제
설명: 이 타이머는 1-10분의 값을 가지고 USSDRequest invoke가 전송될 때 시작된다. 타이머는 USSDRequest result를 IMS(1401)으로부터 수신할 때까지 돌아간다.
ITAP에 대한 결과: 이 타이머는 IMS(1401)의 ITAP 유휴 타이머를 한정한다, 즉, IMS(1401)이 다음 ITAP 동작이 전송될 때까지 대기할 수 있는 시간 길이이다.
해결책: IMS(1401)이 ITAP 동작을 소정 시간(USSDRequest invoke 타이머보다 약간 짧은) 내에 시동되지 않았다면, 더미 USSDRequest result가 전송된다. SN(1409)는 더미 USSDRequest invoke로써 응답한다.
HLR의 USSD 유휴 타이머에 관한 문제
설명: 이 HLR 타이머는 30초 내지 5분의 값을 가지고 USSD 동작의 시동 사이의 시간을 감시한다. 타이머는 USSDRequest result가 SN(1409)로부터 전송되었을 때 시작되고, 다음 USSDRequest invoke가 SN(1409)로부터 수신되거나 USSD 다이얼로그가 끊어질 때까지 돌아간다.
ITAP에 대한 결과: 이 타이머는 응답이 전송되기 전에 ITAP 동작 시동이 SN(1409)에서 미결로 남아있을 수 있는 시간을 한정한다.
해결책: USSD 타이머가 만료되기 전에 SN(1409)는 시동된 ITAP 동작으로 항상 응답을 해야한다.
USSD를 베어러로서 사용하는 것은 ITAP 기능상에 몇 가지 제약을 준다.
다음 제약은 GSM phase 2 규격에 따른 USSD에 유효한 것이다.
- IMS(1401)에서의 다중 USSD 다이얼로그가 불가능하기 때문에 한번에 하나의 ITAP 세션이 활성화되어야 한다. 이미 활성화된 세션이 있을 때 새로운 ITAP 세션이 시작되면, 제1세션은 일시적으로 인터럽트된다. 제2 ITAP 세션이 종료될 때, 제1 세션이 재개된다.
- 진행 중인 ITAP 세션이 있고 새로운 세션이 시작되어야 한다면, 새로운 세션은 IMS(1401)에 의해서만, Bind 동작으로써, 시작될 수 있다. 이 경우에, SN(1409)로부터 Alert를 가지고 새로운 세션을 시작하는 것은 불가하다. ITAP 동작이, Alert를 제외하고는, IMS(1401)에 의해 시동되고 SN(1409)가 결과로써 응답하기 때문이다. SN(1409)로부터의 결과 동작은 "Invoke(USSD request)"로 매핑된다. Alert가 전송되었다면, 병행하는 "Invoke(USSD request)"가 전송되었어야 한다. 그러나, 다중 시동은 USSD에서 허용되지 않는다.
- ITAP 세션이 SN(1409)에 의해 Alert로써 시작되고 IMS(1401)으로부터 규정 시간주기 내에 응답이 수신되지 않는다면, 시작된 세션은 SN(1409)에서 중지된다. 그러나, 그 세션이 다이얼로그의 제1 USSD 동작이기 때문에 망 및 IMS(1401) 내의 USSD 다이얼로그를 중지할 수는 없다. SN(1409)의 응용 타임아웃이 MSC/VLR USSD 타임아웃보다 짧다면, IMS(1401)으로의 USSD 채널은 MSC/VLR 타임아웃이 만료될 때까지 폐쇄된다(MSC/VLR이 한번에 하나의 USSD 다이얼로그만을 허용하기 때문이다).
타임아웃이 "사용자로부터 입력 없음"에 의한 것이라면, 이 문제는 위에서 기술하고 아래에 도시한 바와 같이 IMS(1401)의 "유휴" 타이머에 의해 해결한다는 것을 알아야 한다.
도 19-51은 USSD(GSM phase 2에 따른)를 베어어로서 사용하는 ITAP 동작 시나리오를 도시한다.
도 19는 진행 중인 기존의 세션이 없을 때의 Bind 동작을 도시한다. 여기서, IMS(1401)은, 최신 IMS 응용 버전으로써, ITAP 세션을 시작한다(즉, 단말의 버전 레벨을 서비스 노드의 버전 레벨과 맞춘다).
도 20은 진행 중인 기존 ITAP 세션이 없을 때의 또다른 Bind 동작을 도시한다. 여기는, 그러나, 갱신될 필요가 있는 IMS 응용으로써 IMS(1401)이 ITAP 세션을 시작한다. 시간=2에서, SN(1409)는 새로운 응용 버전, IMS(1401)의 캐시를 지우기 위한 명령, 지울 이미지의 목록을 포함하는 Result를 전송하는 것을 볼 수 있다.
도 21은 진행 중인 ITAP 세션이 없는 시간에 IMS(1401)이 호 관련 표시(2101)를 써서 ITAP 세션을 시작하는 ITAP 시나리오를 도시한다.
도 22는 IMS(1401)이 Bind 동작을 사용하는 ITAP 세션을 시작하고 SN이 Bind 동작의 에러 또는 거절을 감지하는 ITAP 시나리오를 도시한다. 시간=3에서, IMS(1401)은 "계속, Result (USSD req)"로써 Bind 동작을 재시도한다.
도 23은 진행 중인 기존 ITAP 세션이 있을 때 IMS(1401)이 ITAP 세션을 시작하는 ITAP 시나리오를 도시한다. 새로운 세션을 트리거하는 이벤트(예를 들면, 호 표시)가 감지되고 진행중인 세션이 미결 시동 동작을 가지고 있다면, 동작 결과는 새로운 세션에 대한 Bind이 시동될 수 있기 전에 수신되어야 한다.
도 24는 진행중인 기존 ITAP 세션이 있을 때 IMS(1401)이 ITAP 세션을 시작하고 SN(1409)가 Bind 동작의 에러 또는 거절을 감지하는(단계(2401)) ITAP 시나리오를 도시한다. 시간=4에서, IMS(1401)은 세션 2에 대한 Bind 동작을 재전송할 수도 있다..
도 25는 IMS(1401)에 사용가능 응용 데이터가 없을 때 ITAP 서비스의 시작을 도시한다. IMS(1401)이 Bind 결과를 수신할 때(단계(2501)), 응용 파라메터는 IMS(1401)에 저장된다. ITAP 세션은 ITAP 서비스가 시작된 후에 항상 종료된다
도 26 및 27은 응용 의존형 ITAP 동작을 도시한다. 도 26에서, 성공적인 응답이 SN(1409)로부터 수신된다(단계(2601)). 도 27에서, SN(1409)는 동작의 에러 또는 거절을 감지한다(단계(2701)).
도 28 및 29는 GetImageDescr 동작을 도시한다. 도 28에서, 성공적인 응답이 SN(1409)에서 발생된다(단계(2801)). 도 29에서, SN(1409)는 동작의 에러 또는 거절을 감지한다(단계(2901)).
도 30-32는 Unbind 동작에 관한 다수의 ITAP 시나리오를 도시한다. 도 30에서, 단지 하나의 세션이 진행 중이고, 성공적인 응답이 SN(1409)에 의해 발생된다(단계(3001)). 시간=3에서, USSD 다이얼로그가 SN(1409)로부터 시작되었다면, USSD 다이얼로그는 빈 TCAP-End로써 폐쇄된다. USSD 다이얼로그가 IMS(1401)에 의해 시작되었다면, USSD 다이얼로그는 Result(Process USSD req)로써 폐쇄된다.
도 31에서, 이전에 인터럽트된 세션이 재개되려 하고 성공적인 응답이 SN(1409)에 의해 발생된다(단계(3101)).
도 32는 하나 이상의 세션이 진행 중이고 SN(1409)가 Unbind를 거절하는(단계(3201)) 시나리오를 도시한다. 모든 ITAP 세션이 이 상황에서 중지될 수 있다. 이는 ITAP 레벨 상의 세션을 종료하려는 시도가 실패하였고 정체 상황은 방지되어야 하기 때문에 필요하다.
도 33 내지 39는 Alert 동작을 포함하는 다수의 시나리오를 도시한다. 도 33은 SN(1409)가 IMS(1401)에게 이벤트에 대해서 얼러트하고(단계(3301)) IMS 응용 버전은 최신인 상황을 도시한다.
도 34에서, SN(1409)는 IMS 응용 버전이 SN(1409)의 것과 같지 않을 때 이벤트에 대해 IMS(1401)에게 얼러트한다. 도시된 시나리오는 이미지 설명이 지원되는 경우에 대한 것이다.
도 35는 IMS 응용 버전이 SN(1409)의 것과 같지 않을 때 이벤트에 대해 SN(1409)가 IMS(1401)에게 얼러트하는(단계(3601)) 시나리오를 도시한다. 이 경우에, IMS(1401)은 이미지 설명을 지원하지 않고 SN(1409)는 과거적으로 호환적이다.
도 36은 SN(1409)가 이벤트에 대해 IMS(1401)를 얼러트하는 시나리오를 도시한다. 이 경우, IMS(1401)는 옛 버전의 ITAP을 지원하고 SN(1409)는 과거적으로 호환적이다.
도 37에서, SN(1409)는 이벤트에 대해서 IMS(1401)에게 얼러트한다(단계(3701)). 여기서, IMS(1401)는 옛 버전의 ITAP을 지원하지만 SN(1409)는 과거적으로 호환적이지 않다. 결국, SN(1409)는 USSD 다이얼로그를 폐쇄한다(단계(3703)).
도 38에서, SN(1409)는 Alert 동작을 발생시키지만(단계(3801)), IMS(1401)은 Alert 동작의 에러 또는 거절을 감지한다(단계(3803)).
도 39에서, SN(1409)는 Alert를 뒤따르는 Bind 동작의 에러 또는 거절을 감지한다(단계(3901)).
도 40은 IMS(1401)이 SN(1409)로부터의 응답을 거절하는 ITAP 시나리오를 도시한다. 즉, 단계(4001)에서, SN(1409)는 Result, Error 또는 Reject를 IMS(1401)으로 전송한다. 단계(4003)에서, IMS(1401)은 SN(1409)로부터의 응답을 적절하게 해석하지 못하므로, 단계(4005)에서, IMS(1401)은 SN(1409)로 Unbind 동작을 전송한다. CCITT 권고 X.219, section 10.4에 따라, ROSE 사용자가 응답의 거절(Result 또는 Error 응용 프로토콜 데이터 유닛(Application Protocol Data unit: APDU))을 Reject APDU를 전송하여 구현할 지는 선택적이다. 도시된 ITAP의 실시예에 대해, IMS(1401)이 SN(1409)부터의 에러가능 Result 또는 Error APDU의 경우에 Reject APDU를 전송하지 않도록 선택되었다. 대신에, ITAP 세션은 이 상황에서 Unbind에 의해 종료된다.
도 17 및 18을 참조하여 ITAP이 USSD 스트링으로 매핑되는 방법이 기술되었었다. 도 41 내지 43에 도시된 다음의 시나리오에서, USSD 규정 헤더(1701, 1801)의 세그먼트 플래그(1713)가 세그먼트 정보를 위해 사용되었다. PER 또는 BER 코딩된 ITAP 동작이 USSD 동작의 USSD 스트링으로 맞춰지지 않는다면, 이는 둘 이상의 USSD 동작으로 나누어져야 한다. IMS(1401) 또는 SN(1409)가 "올 정보가 더 있음"으로 설정된 세그먼트 플래그를 가진 동작을 수신했을 때, 세그먼트 플래그가 "정보를 더 얻음"로 설정된, 헤더만을 가진 USSD 동작은 상대방에게 전송되어야 한다. 완전한 ITAP 동작이 수신되었을 때, 이는 수신측에 의해 디코딩되어야 한다.
도 41로 이제 돌아가면, 한 USSD 동작에 맞춰지지 않는 IMS 시작 동작이 도시되어 있다. 해결책은 두 개의 동작(4101, 4103)으로 분할하는 것이다.
도 42는 하나의 USSD 동작에 맞추어 지지 않는 ITAP 동작을 SN(1409)이 시동할 때의 시나리오를 도시한다. 해결책은 두 개의 USSD 동작(4201, 4203)으로 ITAP 동작을 분할하는 것이다.
도 43은 SN(1409)에 의해 전송된 동작 결과가 하나의 USSD 동작에 맞춰지지 않을 때의 시나리오를 도시한다. 해결책은 두 개의 USSD 동작(4301, 4303)으로 ITAP 동작을 분할하는 것이다.
ITAP 레벨에서의 타임아웃 처리는 도 44 내지 49를 참조하여 이제 기술될 것이다. 도 44를 참조하면, 이는 IMS(1401)이 동작이 시동된 후에 타임아웃을 감지하는(단계(4401)) 시나리오를 도시한다. 응답으로, 모든 ITAP 세션은 중지되고 End 동작이 SN(1409)로 전송된다(단계(4403)).
도 45는 이 USSD 다이얼로그에 대한 제1동작으로서 Bind가 시동된 후에 IMS(1401)이 타임아웃을 감지하는(단계(4501) 시나리오를 도시한다. IMS(1401)은 국지적으로 ITAP 세션 및 USSD 다이얼로그를 중지하여 응답한다(단계(4503))..
도 46에서, IMS(1401)은 "유휴" 타임아웃을 감지한다, 즉, 사용자로부터 응답이 없음을 감지한다(단계(4601)). IMS(1401)은 Unbind 동작 시동을 발생시켜 응답한다(단계(4503)). 결국, Unbind 시나리오는 계속된다(단계(4605)), 즉, USSD 다이얼로그가 폐쇄되거나 이전에 인터럽트된 세션이 재개된다.
도 47은 Alert가 수신된 후에 IMS(1401)이 "유휴" 타임아웃을 감지하는, 즉, 사용자로부터 응답없음을 감지 할 때(단계(4701))의 시나리오를 도시한다. 응답으로, IMS(1401)은, Unbind 동작 시동을 포함하여, ITAP 세션을 중지한다(단계(4703)).
도 48에서, "유휴" 타임아웃을 감지하는 것은 SN(1409)이다(단계(4801)). 응답으로, SN(1409)는, Abort 동작을 IMS(1401)으로 전송하는 것을 포함하여, 모든 ITAP 세션을 중지한다.
도 49는 SN(1409)가 Alert를 전송하고(단계(4901)) 이어서 "유휴" 타임아웃을 감지하는(단계(4903)) 시나리오를 도시한다. 응답으로, SN(1409)는 ITAP 세션 및 USSD 다이얼로그의 국지적 중지를 수행한다.
도 50 및 51은 망의 USSD 타임아웃을 방지하기 위해 수행될 수 있는 처리를 포함하는 시나리오를 도시한다. 도 50에서, USSDRequest 타임아웃을 방지하기 위해 더미 USSD 동작이 수행된다(단계(5001)). 도 51에서, ProcessUSSDRequest 타임아웃을 방지하기 위해 IMS(1401)의 타이머의 만료(단계(5101)는 IMS 시작 USSD 다이얼로그가 망 시작 USSD 다이얼로그로 스위치되도록 한다(단계(5103 및 5105). 스위치는 이동체 시작 USSD 다이얼로그가 종료되고 새로운 망 시작 USSD 다이얼로그가 설정되게 한다(단계(5107)). 스위치 후에, SN(1409)는 ITAP 세션을 재개할 수 있다(단계(5109)).
본 발명의 일실시예에 따른 여러 가지 ITAP 동작이 이제 더 상세하게 기술될 것이다, ITAP은 응용 주체 사이의 연동적인 통신의 규정에 대해 원격 동작 개념을 사용한다. ITAP은, 본 명세서에 참조로써 결합된, ROSE 및 CCITT 권고 X.208에 의해 정의된 것과 같은 ASN.1(Abstract Syntax Notation) syntax, ASN.1 및 CCITT 권고 X.229, 원격 동작, 프로토콜 규격을 사용하여 규정된다.
원격 동작
ITAP 동작은 다음의 4가지 ROSE 프리미티브로써 정의된다.
- Invoke(요청)
- Result(긍정적 결과)
- Error(부정적 결과)
- Reject(프로토콜 에러)
각 ITAP 동작은 ROSE에 의해 정의된 규칙에 따라 구분될 수 있다
- 1 동작 등급, 동기적, 성공 또는 실패 보고,
- 2 동작 등급, 비동기적, 성공 및 실패 보고,
- 3 동작 등급, 비동기적, 실패만 보고,
- 4 동작 등급, 비동기적, 성공만 보고,
- 5 동작 등급, 결과 보고 없음.
타이머
타이머 범위 값은 MAP에 의해 정의된 범위를 따라 사용된다.
- s = 3초 내지 10초
- m = 15초 내지 30초
- ml = 1분 내지 10분
- l = 28 시간 내지 38 시간
타이머는 동작 및 유휴 타이머의 두 가지가 있다. 동작 타이머는 요청하는 응용 주체가 요청 결과를 대기할 때 시동된다. 타이머가 만료되기 전에 결과가 나오지 않으면, 동작은 취소된다. ITAP 동작 타이머는 명칭이 "기본 ITAP 동작"인 아래 부분에서 각 ITAP 동작에 대해 규정된다.
유휴 타이머는 서비스로부터의 미결 요청이 없을 때 IMS(1401)에서 시동되고 실행되고 있는 요청이 없을 때 SN(1409)에서 시동된다. 세션 상에 아무 행위가 없다면, 유휴 타이머는 만료될 것이다. IMS(1401) 및 SN(1409)의 유휴 타이머는 다음과 같아야 한다.
- MS, ml
- SN, ml
IMS(1401)이 유휴 타이머가 IMS(1401)에서 만료할 때 Unbind 동작을 전송할 수 있으므로, 세션이 적절하게 종료되기 위해서는 유휴 타이머가 SN(1409)에서 보다 IMS(1401)에서 약간 짧아야 한다.
기본 및 응용 의존형 ITAP 동작
ITAP 동작은 다음의 두 개의 주 그룹으로 분할된다.
기본 ITAP 동작: 모든 이 동작은 기본적이고, 서비스에 독립적인 동작이고, ITAP을 사용하는 모든 응용에 대해 공통이다. 이 동작들은 다음 부분에서 규정된다.
응용 의존형 ITAP 동작: 이 동작은 SN(1409)에서 서비스 응용을 원격으로 호출하기 위해 IMS(1401)에 의해 시동된다. 이 기능에 대한 규칙 및 제약은 아래 부분에서 규정된다.
기본 ITAP 동작
본 문서에서 규정되지 않은 데이터 형태는 이미지 설명을 상세하게 기술한 아래 부분에서 규정된다.
일반(GENERAL)
ITAP-Operations DEFINITIONS IMPLICIT TAGS ::=
BEGIN
IMPORTS
OPERATION, ERROR FROM Remote-Operations{joint-iso-ccitt
remote-operations(4) notation(0)}
ImageDescr FROM ITAP-Image-Description;
EXPORTS
UnsignedByte, LongInt, ByteString, TextString, AddressInfo,
DateAndTime, Number, SMSString;
OPERATIONS IN THE DIRECTION IMS --> SN
Bind ::= OPERATION -- Timer m --
ARGUMENT
BindArg
RESULT
BindResultArg
ERRORS {
SystemFailure,
DataMissing,
UnexpectedDataValue,
UnknownApplicationVersion,
BindReasonNotSupported,
SubscriptionViolation
}
-- IMS을 SN에 결합(Bind)
-- 1등급 동작
Unbind ::= OPERATION
-- IMS을 MSN으로부터 해지(Unbind)
-- 5등급 동작
GetImageDescr ::= OPERATION -- Timer m --
ARGUMENT
GetImageDescrArg
RESULT
GetImageDescrResultArg
ERRORS {
SystemFailure,
DataMissing,
UnexpectedDataValue,
AccessDenied,
UnknownImageDescr,
UnknownTerminalType
}
-- MSN으로부터 이미지 설명을 요청
-- 1등급 동작
OPERATIONS IN THE DIRECTION SN --> IMS
Alert ::= OPERATION
ARGUMENT
AlertArg
ERRORS {
SystemFailure,
DataMissing,
UnexpectedDataValue
}
-- 이벤트에 대해 IMS에게 얼러트(Alert)
-- 3등급 동작
에러(ERRORS)
AccessDenied ::= ERROR
-- 이 에러 코드는 SN이 데이터베이스를 액세스할 수 없을 때 리턴된다.
BindReasonNotSupported ::= ERROR
-- 이 에러 코드는 Bind 동작에서 올바른 Bind 이유가 제공되고 그러나
-- MSN이 이 특정 Bind 이유에 대한 서비스를 제공하지 않을 때 리턴된다..
DataMissing ::= ERROR
-- 이 에러 코드는 데이터가 없을 때 리턴된다.
-- 예를 들면, 선택적인 파라메터가 없을 때.
SystemFailure ::= ERROR
-- 다른 주체의 문제로 인해 태스크가 수행불가.
UnexpectedDataValue ::= ERROR
-- 이 에러 코드는 ITAP 동작으로의 인자에 대해
-- 데이터 값이 기대하지 않은 것일 때 리턴된다.
UnknownApplicationVersion ::= ERROR
-- 이 에러 코드는 SN이 지원하지 않는 응용 버전에 IMS을 결합할 때
-- 리턴된다. 이는 IMS이 ITAP 이미지 설명을 지원하지 않을 때에만
-- 적용가능함.
UnknownImageDescr ::= ERROR
-- 이 에러 코드는 요청된 이미지 설명이 정의되지 않았을 때 리턴된다.
UnknownTerminalType ::= ERROR
-- 이 에러 코드는 GetImageDescr 동작에서 정의된 단말 형태가 정의되지
-- 않았을 때 리턴된다.
SubscriptionViolation ::= ERROR
-- 가입자에 대한 유효한 신청이 없다.
파라메터
인자 데이터 형태
AlertArg ::= SEQUENCE {
applicationVersion [00] ApplicationVersion,
selectedLanguage [01] Language,
serviceId [02] ServiceId,
alertTimer [03] AlertTimer DEFAULT 30,
aPartyInfo [04] AddressInfo OPTIONAL,
bPartyInfo [05] AddressInfo OPTIONAL,
textInfo [06] SMSString OPTIONAL,
subService [07] SubService OPTIONAL
}
-- IMS의 ApplicationVersion이 Alert 동작의 해당 버전과 같지 않다면,
-- IMS은 Bind 동작으로써 응답한다. SelectedLanguage 파라메터는
-- 현재 이 가입자에게 선택된 언어를 표시한다. ServiceId는 alert 이유를
-- 정의한다. 이미지 설명을 지원하는 단말에 대해서 ServiceId는
-- 디스플레이되고 계산될 시작 이미지와 같다. Alert 타이머는 Alert
-- 동작을 수신한 후 IMS에서 시동된다. 타이머가 만료되면 Unbind 동작이
-- 서비스 노드로 전송된다. 타이머는 제1 ITAP 동작이 IMS으로부터
-- 전송될 때 지워진다. aPartyInfo 및 bPartyInfo은 a-party 및 b-party에
-- 대한 주소 정보를 전달하기 위해 사용될 수 있다. TextInfo는 서비스
-- 사용자에 대해 주어질 수 있는 임의의 텍스트 스트링을 전송하기 위해
-- 사용될 수 있다. subService는 응용의 신청에 포함된 응용의
-- 어떤 부분을 표시하기 위해 사용된다.
BindArg ::= SEQUENCE {
applicationVersion [00] ApplicationVersion,
requestedLanguage [01] Language,
bindReason [02] BindReason,
supportOfImage [03] supportOfImage DEFAULT TRUE
}
BindResultArg ::= SEQUENCE {
applicationVersion [00] ApplicationVersion,
selectedLanguage [01] Language,
serviceId [02] ServiceId,
clearImageCache [03] ClearImageCache DEFAULT FALSE,
imagesToClear [04] SEQUENCE (SIZE(1..16)) OF
ImageId OPTIONAL,
aPartyInfo [05] AddressInfo OPTIONAL,
bPartyInfo [06] AddressInfo OPTIONAL,
textInfo [07] SMSString OPTIONAL,
subService [08] SubService OPTIONAL,
nameOfAppl [09] SMSString OPTIONAL,
initSessionIncomingCall [10] BOOLEAN OPTIONAL,
initSessionCallWaiting [11] BOOLEAN OPTIONAL
}
-- MSN가 새로운 applicationVersion으로써 응답하면, IMS은 캐시에 저장된
-- 이미지 설명의 전부 또는 일부를 지워야 한다. clearImageCache가
-- 참이면 imageToClear에 의해 정의 된 이미지 설명은 지워진다.
-- clearImageCache가 참이고 imageToClear가 제공되지 않으면, 캐시 전체가
-- 지워질 것이다. IMS가 이미지 설명을 지원하지 않고 IMS을 위한 응용
-- 버전이 서비스 노드의 응용 버전과 같지 않다면, 세션은 폐쇄된다.
-- IMS은 자신이 SN이 지원하는(선택한) 언어를 위한 이미지 설명을 가지고
-- 있는지 점검한다. IMS 캐시의 크기에 따라, 선택된 언어 이미지 설명을
-- 위한 공간을 마련하기 위해서 IMS의 기존 이미지 설명을 지울 필요가
-- 있을 수도 있다. serviceId는 디스플레이되고 계산될 시작 이미지
-- 설명과 같다. aPartyInfo 및 bPartyInfo은 a-party 및 b-party에
-- 대한 주소 정보를 전달하기 위해 사용될 수 있다. TextInfo는 서비스
-- 사용자에 대해 주어질 수 있는 임의의 텍스트 스트링을 전송하기 위해
-- 사용될 수 있다. nameOfAppl 또는 initSessionIncomingCall 또는
-- initSessionCallWaiting은 bind 이유가 Bind invoke의
-- "initSubscrition"일 때에만 리턴된다. NameOfAppl는 응용의 명칭이다.
-- 이 텍스트는 응용을 액세스하기 위해 국지적 MMI 상에 메뉴를
-- 제공하기 위해 사용될 수 있다.
-- initSessionIncomingCall/initSessionCallWaiting은 새로운 도입호
-- 또는 호 대기 표시가 있을 때 ITAP 세션이 설정될지를 표시한다.
-- subService는 신청에 포함된 응용의 어느 부분을 표시하기 위해
-- 사용할 수 있다.
GetImageDescrArg ::= SEQUENCE {
imageId [00] ImageId,
terminalType [01] TerminalType OPTIONAL
}
GetImageDescrResultArg ::= SEQUENCE {
imageDescr [00] ImageDescr
}
-- 요청된 이미지 설명은 이미지 id 및 단말 형태로써 식별된다. 단말
-- 형태가 제공되지 않으면 서비스 노드는 디폴트 세트로부터 이미지 설명을
-- 선택한다. 서비스 노드가 다른 언어를 지원하면 선택된 언어는 Bind
-- 도중에 바른 이미지 설명을 식별하기 위해 사용될 것이다.
공통 데이터 형태
Address ::= CHOICE {
distributionList [00] DistributionListId,
number [01] Number,
x121address [02] Number,
eMail [03] SMSString (SIZE(1..63)),
restricted [04] NULL
}
-- 가능한 주소 형태를 규정. restricted는 a-number 표현이 restricted일 때
-- 사용된다.
AddressInfo ::= SEQUENCE {
address Address,
name SMSString (SIZE(1..63)) OPTIONAL
}
-- 주소 및 주소의 명칭을 규정.
AlertTimer ::= INTEGER (0..65535)
-- Alert가 수신되었을 때 IMS 사용자 유휴 시간을 규정.
ApplicationVersion ::= INTEGER (0..65535)
-- 현재 응용의 버전
BindReason ::= ENUMERATED {
incorrectApplicationVersion (0),
incomingCall (1),
callWaiting (2),
userInitiatedSession (3),
initSubscription (4)
}
-- 예를 들면, 도입호, 틀린 응용 버전, 사용자 시작 세션,
-- 가입자 관리인 Bind 이유를 표시한다..
ByteString ::= OCTET STRING (SIZE(1..255))
-- 옥테트 스트링
ClearImageCache ::= BOOLEAN
-- 참은 IMS 이미지 캐시의 전부 또는 일부를 지워야 함을 표시한다.
DateAndTime ::= OCTET STRING (SIZE(6))
-- YYMMDDHHSS, BDC로 코딩된다.
-- 예를 들면, 1995-12-31, 12:15는 59 21 13 21 51 00으로 코딩된다.
DistributionListId ::= INTEGER (0..15)
-- 분배 목록의 인식자
ImageId ::= INTEGER (0..65535)
-- ITAP과 연관된 IMS 이미지의 고유 인식자
Language ::= ENUMERATED {
german (0),
english (1),
italian (2),
french (3),
spanish (4),
dutch (5),
swedish (6),
danish (7),
portuguese (8),
finnish (9),
norwegian (10),
greek (11),
turkish (12)
}
-- MS를 위해 선택된 언어
LongInt ::= INTEGER (-2147483647..2147483647)
-- -2147483647 내지 2147483647 범위의 부호있는 정수
Number ::= TBCDString (SIZE(1..14))
-- BCD 형식의 전화번호
ServiceId ::= INTEGER (0..65535)
-- IMS에서 시작될 수 있는 응용을 표시한다. IMS이 이미지 설명을
-- 지원하면, serviceId는 디스플레이되고 계산된 제1 이미지 설명을
-- 정의한다.
SMSString ::= OCTET STRING (SIZE(1..140))
-- GSM 03.38에 규정된 것과 같은 7 비트 SMS 디폴트 알파벳에
-- 따라 코딩된 스트링
SubService ::= OCTET STRING (SIZE(1..4))
-- 신청 안에 포함된 서비스를 표시하는 스트링.
-- 제1옥테트의 비트 1은 제1 부서비스가 포함되는지를 표시하고,
-- 제1옥테트의 비트 2는 제2 부서비스가 포함되는지를 표시하고...
-- 32개의 다른 부서비스를 가지는 것이 가능하다. 다른 비트의 해석은
-- 응용 규정적이고 응용 규정적 동작과 함께 정의될 것이다.
SupportOfImage ::= BOOLEAN
-- 참은 IMS이 이미지 설명을 지원한다는 것을 표시한다.
TBCDString ::= OCTET STRING (SIZE(1..64))
-- 패킹된 디지트 스트링( packed digit string).
-- 디지트 0-9, *, #, a, b, c 옥테트 당 2 디지트.
-- 각 디지트는 0000 내지 1001(0-9), 1010(*), 1011(#) 1100(a) 1101(b)
-- 또는 1110(c)로서 인코딩된다. 1111은 이상한 수의 디지트가 있을 때
-- 필터로서 사용된다. 제1 디지트는 제1 옥테트의 비트 0-3에 저장된다.
TerminalType ::= SMSString (SIZE(1..31))
-- IMS 단말 형태, 예를 들면, "GH 338"
TextString ::= IA5String (SIZE(1..255))
-- 텍스트 스트링
UnsignedByte ::= INTEGER (0..255)
-- 0-255 범위의 부호없는 정수
동작 코드
bind Bind ::= 1
unbind Unbind ::= 2
getImageDiscr GetImageDescr ::= 3
alert Alert ::= 4
에러 코드
accessDenied AccessDenied ::= 1
bindReasonNotSupported BindReasonNotSupported ::= 2
dataMissing DataMissin ::= 3
systemFailure SystemFailure ::= 4
unexpectedDataValue UnexpectedDataValue ::= 5
unknownApplicationVersion UnknownApplicationVersion ::= 6
unknownImageDescr UnknownImageDescr ::= 7
unknownTerminalType UnknownTerminalType ::= 8
subscriptionViolation SubscriptionViolation ::= 9
END
응용 의존형 ITAP 동작에 대한 규칙 및 제약
1. 이 동작은 모두 ROSE 1등급 동작일 수 있다.
2. 각 동작 규격의 구조는 다음과 같다.
MyOperation ::= OPERATION
ARGUMENT
MyArg
RESULT
MyResultArg
ERROR {
MyError1
MyError2
·
·
·
·
·
}
-- MyOperation의 설명
3. 동작 코드 1 내지 9가 기본 ITAP 동작에 대해 할당되므로 응용 의존형 ITAP 동작에 대한 동작 코드는 10-255 범위에 있을 것이다.
4. 각 동작 인자("Myarg", "MyResultArg")는 SEQUENCE 데이터 형태로서 항상 규정될 것이다. 이는 또한 인자가 단 하나의 요소를 포함할 때조차도 유효하다.
한정된 수의 데이터 형태가 동작 인자의 요소(element)에 대해 사용될 것이다. 허용된 데이터 형태는 다음과 같다.
BOOLEAN,
UnsignedByte,
LongInt,
ByteString,
TextString,
AddressInfo,
DateAndTime,
Number,
SMSString
이들 데이터 형태의 각각은 프리미티브 데이터 형태 또는 "SEQUENCE OF" 데이터 형태로서 사용될 수 있다.
규정된 요소의 값 범위 또는 크기 범위를 규정하도록 허용되지 않는다. 요소 형태에 대해 규정된 값 범위 또는 크기 범위가 더 감소되어야 한다면, 이는 ASN.1 신택스로서가 아니라 코멘트로서 표시되어야 할 것이다. 그 이유는, PER이 사용되면 "어떤 크기로 만들어진 요소"의 길이 필드는 최대 크기에 대해 요구되는 비트 수를 포함하기 때문이다. 또한, 소정 "값 요소"의 값 필드에 요구되는 비트 수는 규정된 최대 값에 의존한다. 이는 길이 필드 또는 값 필드에 대한 비트 수를 변경가능하게 한다. 변경가능 필드 길이는 그것이 포괄적이어야 하므로 MS의 PER 인코더/디코더에 의해 처리하기가 어렵다.
태그(tag)는 다음과 같이 포함될 것이다.
- 순서적(sequential)(태그 0부터 시작)
- 상황 규정(context-specific)
- 내재적(Implicit)
선택적인 파라메터는 동작 인자의 끝에서 규정될 것이다.
디폴트(DEFAULT)는 허용되지 않는다.
다음 예를 살펴보자.
"
MyArg ::= SEQUENCE {
par1 [00] BOOLEAN,
par2 [01] TextString,
par3 [02] SEQUENCE OF UnsignedByte OPTIONAL
}
-- par2의 크기는 최대 128이다.
-- par3은 UnsignedByte의 최대 5번 발생을 가진다.
-- UnsignedByte
"
5. 에러 형태에 대해 파라메터는 허용되지 않는다. 에러 코드 1-19는 기본 ITAP 동작에게 할당되어 있으므로 에러 코드는 20 내지 255 범위에 있을 것이다.
6. 응용 의존형 ITAP 동작은 별도의 ASN.1 모듈에 규정될 것이다. 이 모듈은 기본 ITAP ASN.1 모듈로부터 허용된 데이터 형태의 규격을 포함할 것이다.
이제 이미지 설명에 대해 더 상세하게 기술될 것이다. SN(1409)의 관점에서는 이미지 설명은 ITAP GetImageDexcr 동작을 사용하여 로드되어야 하는 자원일 뿐이기 때문에, 이미지 설명은 주로 IMS(1401)의 공급자에게 요구되는 요구사항이다.
아래의 규격은 ASN.1 신택스를 가지고 만들어진다. 여기서 규정되지 않은 데이터 형태는 ITAP 동작을 언급하는 부분에서 위에서 규정되었다.
규격
이미지 설명, 일반 구조
ITAP-Image-Description DEFINITIONS IMPLICIT TAGS ::=
BEGIN
IMPORTS
UnsignedByte, LongInt, ByteString, TextSting,
AddressInfo, DateAndTime, Number, SMSString FROM
ITAP-operations;
EXPORTS
ImageDescr;
ImageDescr ::= SEQUENCE {
-- 이미지 헤더 스트링
header [00] SMSString OPTIONAL,
-- 레지스터 선언
registerDeclarations [01] SEQUENCE
(SIZE(1..16)) OF
RegisterDefinition
OPTIONAL,
-- 로직 기능이 시동될 때 실행될 행동
logicalFunctions [02] SEQUENCE (SIZE(1..7)) OF
LogicalFunction
OPTIONAL,
-- 이미지 설명이 입력될 때 실행될 행동
action [03] SEQUENCE (SIZE(1..32)) OF
ActionItem OPTIONAL,
-- 다른 MMI 객체 시퀀스로서 나머지 이미지를 형성한다.
imageObjects [04] SEQUENCE (SIZE(1..32)) OF
ImageObject OPTIONAL
}
-- 이미지 설명의 주 구조
-- 이미지 설명이 활성화될 때, IMS는 다음의 과정을 수행할 것이다.
-- 1. 선언된 레지스터에 대한 메모리를 할당
-- 2. 로직 기능에 대한 새 정의를 설정
-- 3. 행동을 실행. 행동 항목은 순서적인 차례로 계산된다. 새 이미지
-- 설명이 행동에서 활성화되면, IMS는 새 이미지 설명을 페치하고
-- 새 이미지 설명을 계산한다, 단계1 주목. 행동은 인터럽트되지 않는다.
-- IMS은 행동의 실행 중에 이벤트를 수신하면, 이벤트는 이벤트 큐(queue)에서
-- 대기할 것이다. 대기하는 이벤트와 연관된 행동은 IMS이 유휴이고 다음
-- 이벤트를 이벤트 큐에서 페치하고 있을 때 실행될 것이다.
-- 4. 헤더를 디스플레이.
-- 5. 필드 및 목록 콘텐츠를 포함하는 이미지 객체를 디스플레이.
-- 6. 다음 이벤트 획득. IMS은 이벤트 큐로부터 다음 이벤트를 페치한다.
-- 이벤트가 없다면, IMS은 유휴 모드로 남고 다음 이벤트를 대기한다.
-- 이벤트는 감소하는 순서의 다음과 같은 순위를 가진다.
-- 1. 표시 및 절단(disconnect) 표시
-- 2. 타임아웃
-- 3. 사용자 입력
-- 7. 이벤트의 수신 후에, 단계3에 기술된 것과 같이 연관된 행동을 실행.
ImageObject ::= CHOICE {
list [00] SEQUENCE (SIZE(1..8)) OF ListEntry,
textField [01] TextField,
integerField [02] IntegerField,
dateAndTimeField [03] DateAndTimeField,
optionField [04] OptionField,
addressField [05] AddressField,
numberField [06] NumberField,
text [08] SMSString,
newline [09] NULL,
menu [10] SEQUENCE (SIZE(1..16)) OF
MenuOption,
icon [11] IconId
}
-- 이미지 객체, 하나의 이미지 객체 안에는 하나의 메뉴 또는 목록 객체가
-- 있을 수 있다.
레지스터 데이터 형태
-- 레지스터는 IMS에 국지적으로 데이터를 저장하기 위해 사용된다.
-- 레지스터는 레지스터를 정의하는 이미지 설명이 활성화될 때, 즉,
-- displayImage가 IMS에서 국지적으로 실행될 때 할당된다. 일단
-- 레지스터가 할당되면 ITAP 세션이 종결될 때까지 또는 새 레지스터가
-- 동일한 인식을 가지고 할당될 때까지 할당된 채로 있다. 레지스터가
-- 할당되어 있는 한 다른 이미지 설명에 이 레지스터를 넘기는 것도
-- 가능할 것이다.
-- 레지스터는 레지스터의 콘텐츠를 디스플레이할 필드 또는 목록과 연관될
-- 수 있다. 나아가, 레지스터는 국지적 또는 원격 기능으로의 입력 및
-- 출력파라메터와 연관될 수 있다. 레지스터는 벡터 레지스터이거나
-- 한 엔트리만 포함하는 레지스터일 수 있다. 레지스터가 벡터일 때 벡터
-- 인덱스를 제공하여 벡터의 엔트리를 액세스하는 것이 가능하다.
RegisterDeclaration ::= SEQUENCE {
identity [00] RegisterId,
size [01] INTEGER (1..128)) DEFAULT 1
}
-- 크기 파라메터는 레지스터가 벡터인지 아닌지를 표시한다.
-- 크기가 1이면, 레지스터는 단순한 레지스터로서 생각될 것이다.
RegisterDefinition ::= CHOICE {
bool [00] RegisterDeclaration,
shortInt [01] RegisterDeclaration,
int [02] RegisterDeclaration,
octetString [03] RegisterDeclaration,
text [04] RegisterDeclaration,
address [05] RegisterDeclaration,
dateAndTime [06] RegisterDeclaration,
number [07] RegisterDeclaration,
smsString [08] RegisterDeclaration
}
-- 레지스터의 데이터 형태는 고유한 태그에 의해 정의된다.
OneRegisterEntry ::= CHOICE {
simpleValue [00] RegisterId,
SimpleValueInVector [01] OneRegisterEntryInVector
}
-- 레지스터 엔트리에 대한 참조(reference). 참조는 벡터가 아닌
-- 레지스터에 대한 참조이거나 벡터 레지스터 안의 엔트리에 대한 참조일 수
-- 있다. 벡터 레지스터에 대해 벡터 인덱스도 당연히 제공되어야 한다.
OneRegisterEntryInVector ::= SEQUENCE {
registerId [00] RegisterId,
vectorIndex [01] VectorIndex
}
-- OneRegisterEntryInVector는 벡터 레지스터 안의 엔트리를 참조하기 위해
-- 사용된다.
RegisterId ::= INTEGER (0..255)
-- 레지스터의 인식자
VectorIndex ::= CHOICE {
index [00] INTEGER (0..127),
selectedListRow [01] SelectedListRow,
SimpleValue [02] RegisterId
}
-- 벡터 인덱스는 고정 값, 레지스터의 선택된 목록 행 또는 정수값일 수
-- 있다. 인덱스가 레지스터 안에 저장되면, 레지스터는 LongInt 또는
-- UnsignedByte 형태이어야 한다. 벡터 인덱스가 selectedListRow로 되어
-- 있으면, 필드 콘텐츠가 목록 객체의 선택된 목록 행에 의존하는 이미지
-- 설명을 설계하는 것이 가능하다. 그러므로, IMS은 서비스 사용자가 목록
-- 객체를 돌 때 이 필드를 갱신할 수 있어야 한다.
행동 데이터 형태
-- 다음 용어는 파라메터에 대해 사용된다.
-- simpleValue, 벡터가 아닌 레지스터로부터의 값. 값은 레지스터
-- 인식자만으로 식별된다.
-- 레지스터 id 1
-- simpleVector, 벡터인 레지스터로부터의 값.
-- 벡터 전체가 파라메터로서 통과될 것이다. 벡터는 레지스터 인식자에
-- 의해 석별된다.
-- 레지스터 id 1
-- simpleValueVector, 레지스터 벡터 안의 레지스터 엔트리로부터의 값,
-- 값은 레지스터 인식자 및 벡터 인덱스에 의해 식별된다.
-- 레지스터 id 1, 벡터 인덱스 3
ActionItem ::= CHOICE {
localFunction [00] LocalFunction,
remoteFunction [01] RemoteFunction,
displayImage [02] ImageId,
conditionalStatement [03] ConditionalStatement,
labelStatement [04] Label,
endStatement [05] NULL
}
-- 행동과 결합될 수 있는 여러 항목. "localFunction"은 IMS에서 실행될 수 있는 -- 국지적 기능을 정의한다. "remoteFunction"은 실행될 수 있는 서비스 노드 기 -- 능을 정의한다.
-- DisplayImage 행동 항목은 새 이미지 설명을 디스플레이하기 위해
-- 사용된다. DisplayImage가 실행될 때, 현 이미지 설명의 계산은
-- 인터럽트되고 새 이미지 설명이 디스플레이될 것이다.
-- conditionalStatement 및 labelStatement는 상관되어 있다.
-- onditionalStatement는 계산되어야 하는 로직 표현을 정의한다.
-- 계산 결과에 따라 conditionalStatement는 하나 또는 두 개의
-- labelStatement를 참조하여 실행을 계속하는 지점을 정의한다.
-- labelStatement는 실행이 계속될 행동의 실제 지점이다. endStatement는
-- 행동의 실행이 즉시 중단될 것임을 표시한다.
ConditionalStatement ::= SEQUENCE {
expression [00] Expression,
trueLabel [01] Label OPTIONAL,
falseLabel [02] Label OPTIONAL
}
-- 조건적 문장을 규정한다. 표현은 계산될 그 표현을 정의한다. 참 및
-- 거짓 라벨은 실행이 계속될 라벨의 인식자를 정의한다. 참조된 라벨은
-- 동일한 행동 내에서 정의되어야 한다. 파라메터 turelabel 및 falseLabel
-- 중의 최소한 하나는 정의되어야 한다. 한 파라메터가 생략되면, 계산은
-- 해당 라벨에 대해 다음 actionItem에서 계속될 것이다.
Expression ::= SEQUENCE {
parameter [00] SEQUENCE (SIZE(1..2)) OF
ExpressionParameter,
operator [01] Operator OPTIONAL
}
-- 실행될 표현을 규정한다. 표현은 왼쪽에서 오른쪽으로("firstparameter"
-- "operator" "secondParameter") 실행될 것이다. 제1 및 제2 파라메터는
-- 다음의 예외를 가지고 항상 동일한 형태의 것이어야 한다.
-- UnsignedByte는 INTEGER로써 계산될 수 있고 TextString은
-- SMSSString으로써 계산될 수 있다. secondParemeter 및 operator는
-- firstParameter가 BOOLEAN 형태이면 생략가능하다.
ExpressionParameter ::= CHOICE {
bool [00] BOOLEAN,
shorInt [01] Unsignedbyte,
int [02] LongInt,
octetString [03] ByteString,
text [04] TextString,
address [05] AddressInfo,
dateAndTime [06] DateAndTime,
number [07] Number,
smsString [08] SMSString,
simpleValue [09] RegisterId,
simpleValueInVector [10] OneRegisterEntryInVector,
selectedListRow [11] SelectedListRow
}
-- 표현에 대한 파라메터를 규정한다. 파라메터는 다음과 같다.
-- 고정값
-- 단순 레지스터값
-- 레지스터 내 단순값
-- 선택된 목록 행
InParameter ::= CHOICE {
bool [00] BOOLEAN,
vectorOfBool [01] SEQUENCE OF BOOLEAN,
shorInt [02] UnsignedByte,
vectorOfShorInt [03] SEQUENCE OF UnsignedByte,
int [04] LongInt,
vectorOfInt [05] SEQUENCE OF LongInt,
octetString [06] ByteString,
vectorOfOctetString [07] SEQUENCE OF ByteString,
text [08] TextString,
vectorOfText [09] SEQUENCE OF TextString,
address [10] AddressInfo,
vectorOfAddress [11] SEQUENCE OF AddressInfo,
dateAndTime [12] DateAndTime,
vectorOfdateAndTime [13] SEQUENCE OF DateAndTime,
number [14] Number,
vectorOfNumber [15] SEQUENCE OF Number,
smsString [16] MSString,
vectorOfSMSString [17] SEQUENCE OF SMSString,
smspleValue [18] RegisterId,
simpleVector [19] RegisterId,
simpleValueInVector [20] OneRegisterEntryInVector,
SelectedListRow [21] SelectedListRow,
noValue [22] NULL
}
-- 기능 호로의 입력파라메터를 규정한다. 입력파라메터는 다음과 같다.
-- 표현으로의 파라메터를 규정한다. 파라메터는 다음과 같다.
-- 고정값 또는 고정값의 시퀀스
-- 단순 레지스터값
-- 벡터인 레지스터
-- 벡터 내 단순값
-- 선택된 목록 행
-- 값없음. 선택적 파라메터에 대해 사용된다.
Label ::= INTEGER (0..255)
-- 라벨의 인식자를 정의한다. 실행은 동일 행동내 라벨로만 전달될
-- 수 있다.
LocalFunction ::= SEQUENCE {
msFunctionId [00] MsFunctionId,
inParameterList [01] SEQUENCE
(SIZE(1.. maxNoOfParameters)) OF
InParameter OPTIONAL,
outParameterList [02] SEQUENCE
(SIZE(1.. maxNoOfParameters)) OF
OutParameter OPTIONAL,
errorCode [03] RegisterId OPTIONAL,
errorLabel [04] Label OPTIONAL
}
-- 국지적 기능에서 이미지 설명으로의 호를 규정한다.
-- 심각한 에러가 발생하거나 기능이 실행될 수 없을 때 실행은 에러 라벨로
-- 전달될 수 있다. 에러 라벨이 제공되지 않고 심각한 에러가 발생한다면,
-- 심각한 에러 처리는 ITAP 동작 Unbind로써 ITAP을 세션이 종료하는
-- 것이다.
MsFunctionId ::= ENUMERATED {
displayErrorMessage (0),
storeSessionInitiatedParam (1),
setMenuEntryStatus (2),
addRegisterEntry (3),
insertRegisterEntry (4),
removeRegisterEntry (5),
searchRegister (6),
sortRegister (7),
mergeRegister (8),
clearRegister (9),
setRegister (10),
incrementRegister (11),
decrementRegister (12),
copyRegister (13),
executeOptionNo (14),
exitITAPControl (15),
startNewITAPSession (16),
startTimer (17),
stopTimer (18),
acceptIncomingCall (19),
disconnectCall (20),
setUpCall (21),
callHold (22),
callActive (23),
multiParty (24),
removeCallFromMultiParty (25),
callTransfer (26),
sendDTMF (27),
setDTMFMode (28),
enquirySM (29),
sendSM (30),
replySM (31),
getSM (32),
deleteSM (33),
commandSM (34),
generateIndication (35),
stopIndication (36),
displayIndication (37),
removeDisplayIndication (38),
setStatusLine (39),
enquiryByAddress (40),
addAddressBookEntry (41),
updateAddressBookEntry (42),
removeAddressBookEntry (43)
}
-- IMS의 기능의 고유 인식자
maxNoOfParameters INTEGER ::= 16
-- 입력 및 출력파라메터의 최대수
OperationCode ::= INTEGER (10..255)
-- SN에서 실행될 기능을 정의한다.
Operator ::= ENUMERATED {
lessThan (0),
greaterThan (1),
lessOrEqual (2),
greaterOrEqual (3),
equal (4),
notEqual (5),
logicalAnd (6),
logicalOr (7),
logicalExlusiveOr (8)
}
-- 가능한 모든 연산자. 연산자는 감소하는 우선순위로서 규정된다,
-- 즉, logicalOr는 logicalAnd보다 낮은 우선순위를 가진다.
OutParameter ::= CHOICE {
simpleValue [00] RegisterId,
simpleVector [01] RegisterId,
simpleValueInVector [02] OneRegisterEntryInVector
}
-- 기능 호로의 출력파라메터를 규정한다. 출력파라메터는 다음과 같다.
-- 단순 레지스터값
-- 벡터인 레지스터
-- 벡터 내 단순값
RemoteFunction ::= SEQUENCE {
operationCode [00] OperationCode,
inParameterList [01] SEQUENCE
(SIZE(1.. maxNoOfParameters)) OF
InParameter OPTIONAL,
noOfOptionalInPar [02] INTEGER (0.. maxNoOfParameters)
DEFAULT 0,
outParameterList [03] SEQUENCE
(SIZE(1.. maxNoOfParameters)) OF
OutParameter OPTIONAL,
noOfOptionalOutPar [04] INTEGER (0.. maxNoOfParameters)
DEFAULT 0,
errorCode [05] RegisterId OPTIONAL,
errorLabel [06] Label OPTIONAL,
timeOut [07] TimeOut DEFAULT 30
}
-- 이미지 설명으로부터 원격 기능으로의 호를 규정한다.
-- 선택적 파라메터 수는 규정되어야 하고 그러므로 IMS이 원격 동작이
-- 인코딩/디코딩될 방법을 알 수 있다. 타임아웃은 미결 요청에 대한 응답이
-- 있기 전의 초(second) 수를 규정한다. 소정 시간내에 응답이 없다면,
-- 시그날링 연결은 폐쇄될 수 있다. 심각한 에러가 발생하고 기능이
-- 실행될 수 없다면, 실행은 에러 라벨로 전달될 수 있다. 에러 라벨이
-- 없고 심각한 에러가 발생하면, 심각한 에러 처리는 ITAP 동작 Unbind로써
-- ITAP 세션이 종료되는 것이다,
TimeOut ::= INTEGER (0..65535)
-- 초 단위로 타임아웃 시간을 규정한다.
메뉴 데이터 형태
IconId ::= INTEGER (0..65535)
-- IMS에 국지적으로 저장된 그래픽 자원 상의 인식자. Icons은 그래픽
-- IMS에서만 사용될 수 있다. 소정 Icons와 연관된 자원은 단말 공급자에
-- 의해 정의된다.
MenuOption ::= SEQUENCE {
optionText [00] SEQUENCE (SIZE(1..4)) OF OptionTextItem,
action [01] SEQUENCE (SIZE(1..32)) OF ActionItem,
icon [02] IconId OPTIONAL,
subServiceStatus [03] INTEGER (1..32) OPTIONAL
}
-- 메뉴의 한 행(선택사항), 즉, 디스플레이될 것 및 선택사항이 선택될 때 호출할
-- 기능,을 규정한다. 사용자에게 메뉴를 주는 방법은 IMS에 달려있다. "아이콘"
-- 파라메터는 IMS에 저장된 국지적 아이콘을 지칭한다. 아이콘 파라메터는
-- 그래픽 단말에서만 적용가능하다. subServiceStatus는 메뉴 선택사항이
-- 디스플레이될지를 표시한다. 서비스가 신청에 포함되어 있지 않다면, 메뉴
-- 선택사항은 항상 불가하다.
OptionTextItem ::= CHOICE {
plainText [00] SMSStrin,
textField [01] TextField, -- Note: Only output field
integerField [02] IntegerFIeld, -- Note: Only output field
addressField [03] AddressField, -- Note: Only output field
dateAndTimeField [04] DateAndTimeField -- Note: Only output
-- field
}
-- 각 선택사항 행의 텍스트는 이 항목의 시퀀스를 포함할 수 있다. 선택사항
-- 텍스트가 디스플레이에 형성되는 방법은 IMS에 달려있다.
목록 데이터 형태
ListEntry ::= SEQUENCE {
register [00] RegisterId,
selectedRegister [01] RegisterId,
possibleSelections [02] INTEGER DEFAULT 1,
length [03] INTEGER (1..64) DEFAULT 12,
conversionList [04] SEQUENCE (SIZE(1..16)) OF
ConversionItem OPTIONAL
}
-- 목록 행의 각 엔트리를 규정한다. 참조된 레지스터는 목록의 각 행에
-- 포함될 데이터를 포함한다. "length"는 각 엔트리의 길이를 정의하고
-- conversionList는 선택항목 제시, 예를 들면, INTEGER 1은 텍스트
-- 스트링 "예"로서 제시됨,를 정의한다. 주소 정보의 제시에 대해 주소
-- 필드에 대한 것과 같은 동일한 규칙이 유효하다, "입/출력 필드 데이터
-- 형태"를 보면 된다.
-- selectedRegister는 목록에서 선택된 행의 값을 포함한다. 한 행이 선택
-- 되었다면 selectedRegister는 한 엔트리를 포함할 것이다, 두 개의 행이
-- 선택되었다면 레지스터는 2 엔트리를 포함할 것이다. 선택이 되지 않았다면,
-- 레지스터는 비어있을 것이다. 가능한 선택의 수는 possibleSelection에
-- 의해 정의된다.
ConversionItem ::= SEQUENCE {
text [00] SMSStrin,
value [01] GenericITAPTypes,
icon [02] IconId OPTIONAL
}
-- 값으로부터 텍스트 스트링으로의 변환을 규정한다. 아이콘은 그래픽
-- 단말에 대한 변환과 연관될 수 있다.
GenericITAPTypes ::= CHOICE {
bool [00] BOOLEAN,
shorInt [01] Unsignedbyte,
int [02] LongInt,
octetString [03] ByteString,
text [04] TextString,
address [05] AddressInfo,
dateAndTime [06] DateAndTime,
number [07] Number,
smsString [08] SMSString
}
-- ITAP 기본 데이터 형태
SelectedListRow ::= NULL
-- 이 형태는 선택된 목록 행을 규정한다. IMS는 이 값을 계산한다.
-- 제1목록 행은 숫자 0을 가진다.
입/출력 필드 데이터 형태
AddressField ::= SEQUENCE {
register OneRegisterEntry,
labelText [01] SMSString OPTIONAL,
length [02] INTEGER (1..64) DEFAULT 16,
inputField [03] BOOLEAN DEFAULT TRUE,
typeOfAddress [04] TypeOfAddress DEFAULT number
}
-- 주소 출력 또는 입/출력 필드를 규정한다. 레지스터는 AdressInfo 또는
-- Number 형태의 것이다. 아래의 규칙은 AdressInfo 형태의 것인 레지스터
-- 의 제시에 대해 정의된다.
-- 1. a-address가 사용가능하면, IMS은 국지적 주소록의 주소에 대해 탐색
-- 할 것이고 주소록에서 발견된 명칭을 디스플레이할 것이다.
-- 2. 명칭이 망에 의해 제공되고 엔트리가 국지적 주소록에서 발견되지
-- 않는다면, 망에 의해 제공된 명칭이 디스플레이될 것이다.
-- 3. 명칭은 사용가능하지 않지만 주소는 사용가능하면, 주소는 디스플레이
-- 될 것이다.
-- 가입자는 명칭과 주소 사이에서 토글할 가능성을 가진다.
-- Number 형태의 주소는 항상 숫자로서 디스플레이될 것이다.
IntegerField ::= SEQUENCE {
register OneRegisterEntry,
labelText [01] SMSString OPTIONAL,
min [02] LongInt DEFAULT 0,
max [03] LongInt DEFAULT 65535,
inputField [04] BOOLEAN DEFAULT TRUE
}
-- 정수 출력 또는 입/출력 필드를 규정한다. 레지스터는 부호있는(signed) 또는
-- 부호없는(unsigned) 정수 형태중의 형태의 것이다.
NumberField ::= SEQUENCE {
register OneRegisterEntry,
labelText [01] SMSString OPTIONAL,
length [02] INTEGER (1..28) DEFAULT 12,
inputField [03] BOOLEAN DEFAULT TRUE
}
-- Number 출력 또는 입/출력 필드를 규정한다. 레지스터는 Number 형태의
-- 것이다.
OptionField ::= SEQUENCE {
register OptionRegister,
selectionList [01] SEQUENCE (SIZE(1..16)) OF
ConversionItem,
lebelText [02] SMSString OPTIONAL,
moreThanOneAllowed [03] BOOLEAN DEFAULT FALSE
}
-- 일반 선택 입/출력 필드를 규정한다. IMS은 이를 메뉴로서, 점검 박스로서,
-- 무선 버튼으로서, 선택 필드로서, 소프트키 등으로서 제시할 수 있다.
-- 선택될 때, 레지스터는 ConversionItem에 의해 규정된 값을 포함한다.
-- "moreThanOneAllowed"가 거짓이면 레지스터는 항상 하나의 값을 포함할 것이다,
-- 즉, 서비스 사용자는 하나의 선택을 해야한다. "moreThanOneAllowed"가
-- 참이면, 첫번째로 선택된 항목값은 레지스터의 인덱스 0에 저장되고, 두번째로
-- 선택된 항목값은 인덱스 1에 저장되는 등이다. 선택이 없다면, 레지스터는
-- 비어있을 것이다.
OptionRegister ::= CHOICE {
simpleValue [00] RegisterId,
simpleValueInVector [01] OneRegisterEntryInVector,
simpleVector [02] RegisterId
}
-- 선택사항 필드와 연관된 레지스터를 규정한다. 레지스터는 다음과 같을
-- 수 있다.
-- 단순한 레지스터
-- 레지스터 벡터 내의 요소
-- 레지스터 벡터
TextField ::= SEQUENCE {
register OneRegisterEntry,
labelText [01] SMSString OPTIONAL,
lengthPerLine [02] INTEGER (1..128) DEFAULT 12,
noOfLines [03] INTEGER (1..32) DEFAULT 1,
inputField [04] BOOLEAN DEFAULT TRUE,
passwdField [05] BOOLEAN DEFAULT FALSE
}
-- 텍스트 출력 또는 입/출력 필드를 규정한다. 레지스터는 textString
-- 형태의 것이다.
DateAndTimeField ::= SEQUENCE {
register OneRegisterEntry,
labelText [01] SMSString OPTIONAL,
inputField [02] BOOLEAN DEFAULT TRUE
}
--데이터 및 시간 출력 또는 입/출력 필드를 규정한다. 레지스터는
-- DataAndTime 형태의 것이다. 타임 스탬프를 적절한 방식으로 주는 것은
-- IMS에 달려 있다.
로직적 기능 형태
LogicalFUnction ::= CHOICE {
accept [00] LogicalFunctionDefinition,
select [01] LogicalFunctionDefinition,
send [02] LogicalFunctionDefinition,
indication [03] LogicalFunctionDefinition,
end [04] LogicalFunctionDefinition,
disconnect [05] LogicalFunctionDefinition,
timeout [06] LogicalFunctionDefinition
}
-- 로직적 기능 0-4는 GSM 2.30에 규정되어 있다. 절단은 연결이 절단될 때
-- 실행될 행동을 규정한다. 타임아웃은 IMS 기능 startTimer로 시작되는
-- 타이머가 만료되면 실행될 행동을 규정한다. 로직적 기능은 IMS의 표준
-- 기능에 우선한다. 로직적 기능과 연관된 행동이 없다면, 표준 기능은
-- IMS에 의해 제공될 것이다.
LobicalFunctionDefinition ::= SEQUENCE {
temporaryDefinition [00] BOOLEAN DEFAULT TRUE,
action [01] SEQUENCE (SIZE(1..32)) OF
ActionItem
}
-- 표준 GSM 로직 기능이 실행될 때 어느 기능이 호출되는지 규정한다.
-- 정의는 임시적 일 수 있고, 전 ITAP 세션 동안 현 이미지 설명이 활성화 또는
-- 유효할 때 에 유효할 수 있다.
공통 데이터 형태
TypeOfAddress ::= ENUMERATED {
distributionList (0),
number (1),
X.121Address (2),
e-mail (3)
}
-- 주소의 형태
END
국지적 IMS 기능의 규격
일반
이미지 설명에서 "LocalFunction" 데이터 형태에 의해 국지적 IMS 기능으로의 호가 규정된다. 이 데이터 형태에 포함된 것이 선택적 "errorLable"이다. 이 "errorLabel"을 통해, 심각한 에러가 발생할 때 실행되는 행동을 규정할 수 있다. 그러나, "errorLable"이 기능호에 포함되지 않는다면, 디폴트 에러 처리를 한다. 모든 IMS 기능에 대해 디폴트 심각한 에러 처리는 ITAP 세션을 ITAP 동작 Unbind로써 종료시키는 것이다.
이미지 설명 및 이미지 설명 객체를 조작하기 위한 기능
displayErrorMessage
스크린에 에러 메시지를 디스플레이한다.
입력파라메터:
출력파라메터:
-
에러
-
storeSessionInitiatedParam
레지스터 시퀀스의 Alert request 또는 Bind result로써 SN으로부터 수신된 텍스트 정보, a-party 및 b-party의 주소 정보를 저장한다. 기능은 Alert 또는 Bind 응답 동작의 serviceId와 같은 번호를 가지는 이미지 설명으로부터 호출될 것이다.
입력파라메터:
출력파라메터:
-
에러
setMenuEntryStatus
메뉴 엔트리의 상태를 설정한다. 메뉴 엔트리는 "허가(enabled) 상태" 또는 "금지(disabled) 상태"될 수 있다. 상태가 금지 상태이면, 메뉴 엔트리는 서비스 사용자에게 주어지지 않을 것이다. 디폴트 상태는 허가 상태이다.
입력파라메터:
출력파라메터:
-
에러
addRegisterEntry
벡터 레지스터에 항목을 추가한다. 벡터의 시작에, 벡터의 끝에, 또는 정렬 순서(sort order)로 항목을 추가하는 것이 가능하다. 기능은 항목이 삽입된 곳 인덱스를 리턴한다. 삽입된 인덱스보다 높은 인덱스를 가진 엔트리는 보다 높은 인덱스로 이동된다. 벡터가 엔트리로 채워져 있고 삽입 모드가 벡터의 시작 또는 정렬 순서일 때, 마지막 엔트리는 제거되고 새 항목이 삽입될 것이다. 벡터가 채워져 있고 삽입 모드가 벡터의 끝이면, 에러의 최대수가 넘었다는 것을 표시하는 에러가 나올 것이다. 주목: 삽입 모드 "정렬 순서"는 정렬된 벡터에 대해서만 사용가능하다.
입력파라메터:
출력파라메터:
에러
insertRegisterEntry
벡터 레지스터에 엔트리를 삽입한다. 삽입된 인덱스보다 높은 인덱스를 가진 엔트리는 보다 높은 인덱스로 이동된다. 벡터가 엔트리로 채워져 있으면, 마지막 엔트리는 제거되고 새 엔트리가 삽입될 것이다.
입력파라메터:
출력파라메터:
-
에러
removeRegisterEntry
벡터 레지스터 시퀀스의 엔트리를 제거한다. 빈곳을 채우기 위해서, 제거된 인덱스보다 높은 인덱스를 가진 엔트리는 보다 낮은 인덱스로 이동된다.
입력파라메터:
출력파라메터:
-
에러
searchRegister
벡터 레지스터에서 항목을 탐색한다. 탐색 항목과 일치하는 제1 엔트리의 인덱스를 리턴한다. 레지스터는 정렬되지 않을 수 있으므로 기능은 일치하는 항목에 대해 전 레지스터를 탐색해야 한다.
입력파라메터:
출력파라메터:
에러
sortRgister
벡터 레지스터 및 벡터 레지스터의 추가 목록을 정렬한다. 기능으로의 입력이 정렬될 레지스터이다.
입력파라메터:
출력파라메터:
-
에러
mergeRegister
두 개의 벡터 레지스터를 합친다. 두 레지스터는 동일한 형태이어야 한다. 결과 레지스터는 registerId와 같은 id를 얻을 것이다.
입력파라메터:
출력파라메터:
-
에러
clearRegsiter
벡터 레지스터 시퀀스 또는 단순 레지스터를 지운다.
입력파라메터:
출력파라메터:
-
에러
setRegister
단순 레지스터의 값이나 벡터 레지스터 엔트리의 범위를 설정한다. 설정되는 값은 레지스터와 같은 형태의 것이어야 한다.
입력파라메터:
출력파라메터:
-
에러
incrementRegister
레지스터 엔트리 값을 증가시킨다. 레지스터는 LongInt 또는 UnsignedByte 형태의 것이어야 한다.
입력파라메터:
출력파라메터:
-
에러
decrementRegster
레지스터 엔트리 값을 감소시킨다. 레지스터는 LongInt 또는 UnsignedByte 형태의 것이어야 한다.
입력파라메터:
출력파라메터:
-
에러
copyRegster
한 레지스터의 콘텐츠를 다른 레지스터로 복사한다. 두 레지스터는 동일 형태의 것이어야 하고 단순 레지스터 또는 벡터 레지스터일 수 있다. 레지스터가 벡터라면, 전 벡터가 복사된다.
입력파라메터:
출력파라메터:
-
에러
executeOptionNo
이 이미지에 주어진 메뉴에서 선택된 메뉴 선택사항에 대해 규정된 행동을 실행한다.
입력파라메터:
출력파라메터:
-
에러
exitItapControl
IMS의 기본부분에 제어를 내보낸다. Unbind가 SN으로 전송된다.
입력파라메터:
-
출력파라메터:
-
에러
-
startNewITAPSession
새 ITAP 세션을 시작한다. 새 세션 id를 가진 Bind는 SN으로 전송될 수 있다. 이미 수행중인 ITAP 세션이 임시적으로 인터럽트될 수 있는지 아니면 새 ITAP 세션과 병행하게 수행을 계속할 수 있는지 베어러의 가능용량이 결정한다.
입력파라메터:
출력파라메터:
-
에러
startTimer
타이머를 시작한다. 타이머가 만료되면, 로직적 기능 타임아웃에 대해 정의된 행동이 실행될 수 있다. 타이머는 stopTimer 기능에 의해 지워질 수 있다. 하나의 타이머만을 시작할 수 잇다.
입력파라메터:
출력파라메터:
-
에러
stopTimer
타이머를 중단한다. startTimer로써 시작되었던 타이머를 지운다.
입력파라메터:
-
출력파라메터:
-
에러
호 관련 기능
acceptIncomingCall
IMS에서 표시되어진 호를 수용하거나 IMS을 한 모드에 설정하므로 다음 도입 호가 수용될 수 있다.
이 기능으로부터의 에러 응답은 없다. 기능은 호 id를 즉시 리턴할 수 있다. 호 인식자는 항상 1이상이다.
입력파라메터:
-
출력파라메터:
에러
disconnectCall
호 또는 다중 통화자를 절단한다.
입력파라메터:
출력파라메터:
-
에러
setupCall
다른 통화자로의 호를 설정한다. 기능은 호를 즉시 리턴한다
입력파라메터:
출력파라메터:
에러
GSM 부가 서비스를 액세스하기 위한 기능
callHold
활성화된 호 또는 다중 통화자를 보류시킨다. 이미 보류 중인 호가 있다면, 그 호는 활성화되고 그 호의 인식자가 리턴된다. 보류 중인 호가 없다면, callId 0이 리턴된다.
입력파라메터:
-
출력파라메터:
에러
callActive
보류 중 호 또는 다중 통화자를 활성화시킨다.
입력파라메터:
-
출력파라메터:
에러
multiParty
회의 전화(conference call)를 설정한다. 활성화된 호 및 보류 호가 다중 통화자로 결합되고, 서비스되는 이동 가입자 및 원격 상대가 서로 모두다 통신할 수 있다. 기능은 다중 통화자의 id를 리턴한다.
입력파라메터:
-
출력파라메터:
에러
removeCallFromMultiParty
다중 통화자로부터 호를 제거한다. 제거된 호는 활성화되고 다중 통화자는 보류 중으로 된다.
입력파라메터:
출력파라메터:
-
에러
callTransfer
호를 다른 통화자에게 넘긴다.
입력파라메터:
출력파라메터:
-
에러
DTMF 처리를 위한 기능
sendDTMF
활성화된 호 연결 상에서 DTMF 디지트의 스트링을 전송한다.
입력파라메터:
출력파라메터:
-
에러
setDTMFMode
DTMF 모드를 온 또는 오프로 설정한다.
입력파라메터:
출력파라메터:
-
에러
-
SMS 처리를 위한 기능
enquirySM
MS-TE 또는 SIM에 저장된 짧은 메시지(SM)에 대해 문의한다
입력파라메터:
출력파라메터:
에러
sendSM
SM를 전송한다. 기능은, 예를 들면, 릴레이 경로(relay path), 프로토콜 식별자, 또는 서비스 센터 주소인, 이동국 생성 SM에 대해 제공될 수 있는 다른 파라메터에 대해 IMS에 저장된 디폴트 값을 사용한다.
입력파라메터:
출력파라메터:
에러
replySM
수신된 SM에 응답한다. 이 기능은 응답 경로가 원래 SM에서 요청되는 지를 점검한다. 응답 경로가 요청되면, 원래 SM 내의 서비스 센터 주소가 응답 메시지에서 사용될 것이다. 응답 경로가 요청되지 않는다면, 디폴트 서비스 센터 주소가 사용될 것이다. 수신자 주소는 항상 원래 메시지로부터 페치된다.
입력파라메터:
출력파라메터:
에러
getSM
SM을 획득한다.
입력파라메터:
출력파라메터:
에러
deleteSM
SM을 삭제한다.
입력파라메터:
출력파라메터:
-
에러
commandSM
SMS-C로 명령을 전송한다. 다음의 명령이 정의된다. 제출된 메시지의 상태(배달된, 미배달된, 대체된)를 문의, 상태보고에 대한 요청 취소, 또는 제출 메시지 삭제.
입력파라메터:
출력파라메터:
-
에러
IMS에서 국지적 하드웨어 및 소프트웨어 객체를 액세스하기 위한 기능
generateIndication
IMS에서, 예를 들면, 링 톤인 표시를 생성한다.
입력파라메터:
출력파라메터:
-
에러
stopIndication
IMS에서, 예를 들면, 링 톤인 표시를 중단한다.
입력파라메터:
출력파라메터:
-
에러
displayIndication
IMS 디스플레이 상에 표시를 디스플레이한다.
입력파라메터:
출력파라메터:
-
에러
removeDisignIndication
IMS의 디스플레이 표시를 제거한다.
입력파라메터:
출력파라메터:
-
에러
setStatusLine
IMS 디스플레이 상에 상태 선(status line)을 설정한다.
입력파라메터:
출력파라메터:
-
에러
-
enquiryByAddress
주소에 의해 규정된, 하나 이상의 가입자에 대한 주소 정보에 대한 주소록을 문의한다. 기능은 탐색 키와 일치하는 모든 엔트리를 리턴한다.
입력파라메터:
출력파라메터:
에러
addAddressBookEntry
주소록에 엔트리를 추가한다.
입력파라메터:
출력파라메터:
에러
updateAddressBookEntry
주소록의 엔트리를 갱신한다.
입력파라메터:
출력파라메터:
-
에러
removeAddressBookEntry
주소록의 엔트리를 제거한다.
입력파라메터:
출력파라메터:
-
에러
이제 개인 액세스 서비스를 위한 응용 의존형 ITAP 동작에 대해 상세하게 기술될 것이다. 응용 의존형 동작의 절대 신택스는 명칭이 ITAP 동작인 부분에서 ASN.1 신택스를 이용하여 위에서 정의된 규칙 및 제약을 따른다.
서비스 인식자
일반
ITAP 동작 Alert 및 Bind는 ITAP 세션을 시작하는 이유(예를 들면, 도입 호 또는 새로운 메시지)을 표시할 능력을 가진다. 이유는 서비스 인식자 파라메터에 의해 표시된다. 동작과 함께, 서비스 인식자와 연관된 파라메터를, 즉, 텍스트 정보 및 주소 정보를 제공하는 것도 가능하다.
이 부분은 개인 액세스(Personal Access: PA) 응용에 대해 정의된 여러 서비스 인식자 및 여러 서비스 인식자에 대한 시작 ITAP 동작의 응용 의존형 파라메터를 전달하기 위해 해당 파라메터가 이용되는 방법을 정의한다.
메시지 보내기 및 프로파일 관리(messaging and profile management)
이는 서비스 사용자가 서비스 노드의 개인 액세스 응용을 인증없이 액세스하고 있을 때 사용되는 서비스 인식자이다. 서비스 사용자는 사서함을 문의하거나 개인 프로파일을 관리하기 위한 서비스를 제공받을 것이다. 서비스 인식자와 연관된 파라메터는 없다.
도입호(Incoming call)
도입호에 대한 ITAP 세션은 망 시작 및 이동국 시작의 두 가지 방식으로 설정될 수 있다. 망 시작 ITAP 세션은 대화 연결이 IMS(1401)로 설정되기 전에 호출자가 선별될 때 발생한다. ITAP 세션은 대화 연결의 설정이 IMS(1401)이 새 ITAP 세션을 시작하도록 트리거할 때 이동체에 의해 시작된다. 정보가 사용가능하거나 호출자 회선 제약이 없을 때 A 번호와 A 명칭이 전송될 수 있다. A 명칭 및 A 번호는 Alert invoke 또는 Bind result의 aPartyInfo 파라메터로 매핑된다.
새로운 메시지 통지(New message notification)
메시지 통지를 위한 ITAP 세션은 망으로부터 항상 시작된다. 서비스 노드는 새 메시지가 가입자 사서함에 저장되었다는 것을 표시하기 위한 Alert ITAP 동작으로써 ITAP 세션을 시작한다. 통지 정보(예를 들면, 시간 스탬프 및 발송자)는 SN(1409)로부터 응용 의존형 동작 RetrieveNewMessageInformation으로써 페치된다. 파라메터는 전달되지 않는다.
선별(screening) 만료 통지
선별이 만료되었음을 표시하는 ITAP 세션은 항상 망으로부터 설정된다. 만료된 선별 이유는 텍스트 스트링으로서 전송될 것이다. 선별 이유는 Alert 동작의 textInfo로 매핑된다. 서비스 사용자는 새 만료 시간을 설정할 수 있을 것이다.
일반적 통지
통지를 위한 ITAP 세션은 망으로부터 항상 설정된다, 통지 이유는 텍스트 스트링으로서 전송될 것이다, 통지 텍스트는 Alert 동작의 textInfo 파라메터로 매핑된다.
상태 선 설정
상태 선을 설정하기 위한 ITAP세션은 망으로부터 항상 시작된다. 서비스 노드는, 현재 선별 상태가 변경되는 때와 같은, 유휴 모드에서 디스플레이된 상태 텍스트가 변경될 것을 표시하는 ITAP 동작 Alert 으로써 ITAP 세션을 시작한다. 상태 텍스트는 Alert 동작의 textInfo 파라메터로 매핑된다.
인증(Authentication)
이는 서비스 사용자가 인증을 가지고 서비스 노드의 개인 액세스 응용을 액세스하고 있을 때 사용되는 서비스 인식자일 수 있다. 서비스 사용자는 개인 식별 번호(Personal identification number: PIN) 코드를 입력하도록 요청될 수 있다. 올바른 PIN 코드가 입력되면, 서비스 사용자는 사서함을 문의하거나 개인 프로파일을 관리하는 서비스를 제공받을 것이다. 서비스 인식자와 연관된 파라메터는 없다.
서비스 인식자
messagingAndprofileManagement ServiceId ::= 1
incomingCall ServiceId ::= 2
newMessageNotification ServiceId ::= 3
screeningExpiredNotification ServiceId ::= 4
generalNotification ServiceId ::= 5
setStatusLine ServiceId ::= 6
authentication ServiceId ::= 7
부서비스
PA 응용은 일부는 의무적이고 일부는 선택적인 개인 관련 서비스를 포함하는 운용 환경을 제공한다.
의무적인 PA 서비스 더하기 운용자 규정 선택을 포함하는 PA 서비스 응용 패키지를 생성하는 것이 가능하다.
다음의 PA 서비스는 의무적이다.
- 음성 편지
- 개인 번호
- POTS PA 서비스
- 통지
- 운용자 결정 차단
UIF 내의 다음의 PA 서비스는 선택적이다.
- 팩스 감지
- 호출자 선택
- 호출자 제시
- 호 선별
- 도입 호 선택
- 호 기록
- 팩스 우편
- 전자 우편(E-mail)
- 변환
어느 선택 서비스가 서비스 사용자 신청에 포함되어 있는지의 식별은 Bind result 또는 Alert invoke 동작의 subService 파라메터로써 표시된다. 서비스는 다음의 방식으로 매핑된다.
- 팩스 감지, 비트 1 옥테트 1
- 호출자 선택, 비트 2 옥테트 1
- 호출자 제시, 비트 3 옥테트 1
- 호 선별, 비트 4 옥테트 1
- 도입 호 선택, 비트 5 옥테트 1
- 호 기록, 비트 6 옥테트 1
- 팩스 우편, 비트 7 옥테트 1
- 전자 우편(E-mail), 비트 8 옥테트 1
- 변환, 비트 1 옥테트 2
비트가 1이면, 해당 서비스는 신청에 포함되어 있다.
PA 규정 ITAP 동작
아래에 규정되지 않은 데이터 형태는 제목 "ITAPP - 동작" 밑의 위부분에서 규정된다.
호 관련 동작
PA-ITAP-Operations DEFINTION IMPLICIT TAGS :: =
BEGIN
IMPORTS
OPERATION, ERROR FROM Remote-Operations-Notation
{joint-iso-ccitt remote-operations(4) notation(0)}
UnsignedByte, LongInt, ByteString, TextString, AddressInfo,
DateAndTime, Number, SMSString FROM ITAP-operations;
AcceptCall ::= OPERATION -- Timer m --
ERRORS {
SystemFailure,
CallAnswered,
FaxDetected,
HookOn
}
-- 도입호를 수용하고 통화자들은 즉시 연결될 수 있다.
-- 1등급 동작
CallBack ::= OPERATION -- Timer m --
ERRORS {
CallAnswered,
FaxDetected,
AccessDeniedToResource,
HookOn
}
-- 기정의된 메시지가 발신자에게 재생될 수 있다.
-- 호출자 번호는 콜 백 기록(call back log)에 저장될 수 있다.
-- 1등급 동작
EnquiryCallSetUpStatus ::= OPERATION -- Timer m --
ERRORS {
SystemFailure,
NoAnswer,
Busy,
NotReachable
}
-- SN으로부터 호 설정 상태를 문의하는데 사용된다. 동작은 SetUpCall,
-- PlayMessage, RecordGreeting, 또는 PlayGreeting으로부터의 성공적인
-- 결과 후에 사용될 수 있다.
-- 1등급 동작
HoldCall ::= OPERATION -- Timer m --
ERRORS {
CallAnswered,
FaxDetected,
HookOn
}
-- 메시지는 도입호가 가능한 한 빨리 응답되는 호출자에게로 발생될 것이다.
-- 1등급 동작
RejectCall ::= OPERATION -- Timer m --
ERRORS {
CallAnswered,
FaxDetected,
HookOn
}
-- 도입호는 거절되고 호출자는 무응답 착신측으로 라우트된다.
-- 1등급 동작
SetUpCall ::= OPERATION -- Timer m --
ARGUMENT
SetUpCallArg
ERRORS {
Busy,
SystemFailure
}
-- 규정된 착신측 및 IMS으로 호 레그(call leg)를 설정하도록 서비스
-- 노드에게 요청한다. SN은 IMS으로의 호 레그가 할당되었을 때, 즉, SN이
-- "Alerting" 표시자를 망으로부터 수신할 때, 결과를 리턴할 것이다.
-- 1등급 동작
TransferCall ::= OPERATION -- Timer m --
ARGUMENT
TransferCallArg
ERRORS {
SystemFailure,
CallAnswered,
FaxDetected,
HookOn
}
-- 호는 새로운 착신측으로 전달될 수 있다. 착신측은 운용자에 의해
-- 기정의된 번호 또는 명시적(explicit) 번호일 수 있다.
-- 1등급 동작
메시지 관련 동작
CancelMessageDelivery ::= OPERATION -- Timer m --
ARGUMENT
CancelMessageDeliveryArg
ERRORS {
AccessDeniedToResource,
UnknownMedia,
UnknownMessage
}
-- 요청된 메시지 전달을 취소한다.
-- 1등급 동작
DeleteMessage ::= OPERATION -- Timer m --
ARGUMENT
DeleteMessageArg
ERRORS {
AccessDeniedToResource,
UnknownMedia,
UnknownMessage
}
-- 하나 이상의 메시지를 삭제한다.
-- 1등급 동작
EnquiryDeliveryLog ::= OPERATION -- Timer m --
ARGUMENT
EnquiryDeliveryLogArg
RESULT
EnquiryDeliveryLogResultArg
ERRORS {
AccessDenied,
UnknownMedia,
UnknownStatus
}
-- 전달 기록을 문의한다.
-- 1등급 동작
EnquiryMailbox ::= OPERATION -- Timer m --
ARGUMENT
EnquiryMailbox
RESULT
EnquiryMailboxResultArg
ERRORS {
Access Denied,
UnknownMedia,
UnknownStatus
}
-- 예를 들면, 시간 스탬프, 발신자, 매체, 인식자인, 가입자 사서함에 있는
-- 메시지 관련 상태 문의. 결과는 SN에 더이상의 가용 상태 엔트리가
-- 있는지를 표시한다. 나머지 부분은 이상의 정보에 할당된 선택된 상태를
-- 가진 추가적 상태 문의에 의해 검색된다.
-- 1등급 동작
FastForwarding ::= OPERATION -- Timer m --
ERRORS {
IllegalOperation
}
-- 재생되고 있는 음성 메시지의 고속 재생(fast forwarding)을 발행한다. 동작은
-- 음성 메시지가 재생되고 있을 때에만 발행될 수 있다. SN은 결과를 즉시
-- 리턴할 것이다.
-- 1등급 동작
GetDetailedMessageInfo ::= OPERATION -- Timer m --
ARGUMENT
GetDetailedMessageInfoArg
RESULT
GetDetailedMessageInfoResultArg
ERRORS {
Access Denied,
UnknownMedia,
UnknownMessage
}
-- 예를 들면, 메시지 헤더, 길이, 우선순위, 메시지 몸체인, 메시지에 대한
-- 상세한 정보를 획득한다.
-- 1등급 동작
MailboxStatus ::= OPERATION -- Timer m --
ARGUMENT
MailboxStatusArg
RESULT
MailboxStatusResultArg
ERRORS {
Access Denied,
UnknownMedia
}
-- 가입자 사서함에 저장된 메시지 수에 대한 상태 문의.
-- 1등급 동작
Pause ::= OPERATION -- Timer m --
ERRORS {
IllegalOperation
}
-- 재생되고 있는 음성 메시지에 일시중지를 발행한다. 동작은 음성
-- 메시지가 재생되고 있을 때에만 발행될 수 있다. 추가 일시정지 동작은
-- 일시정지되었던 음성 메시지의 재생을 재개한다. SN은 결과를 즉시
-- 리턴할 것이다.
-- 1등급 동작
PlayGreeting ::= OPERATION -- Timer m --
ERRORS {
AccessDeniedToResource,
SystemFailure
}
-- 현재 인사말을 재생하도록 SN에 요청한다. IMS으로의 대화 연결이
-- 설정되어 있지 않다면, SN은 대화 연결을 설정할 것이다. 결과는 대화
-- 연결이 할당될 때, 즉, SN이 "Alerting" 표시자를 망으로부터 수신할 때,
-- 리턴될 것이다. IMS은 결과가 리턴될 때 호를 수용할 것이다. 인사말의
-- 재생은 응답 메시지(ANM)가 SN에 의해 감지되면 시작된다. 미리 설정된
-- 음성 연결이 있다면, SN는 즉시 인사말을 재생하기 시작할 것이고 결과를
-- 즉시 리턴할 것이다.
-- 1등급 동작
PlayMessage ::= OPERATION -- Timer m --
ARGUMENT
PlayMessageArg
ERRORS {
AccessDeniedToResource,
SystemFailure,
NoMoreMessages,
UnknownMessage
}
-- SN에게 가입자 음성 사서함의 음성 메시지를 재생할 것을 요청한다.
-- IMS으로의 대화 연결이 없다면, SN은 대화 연결을 설정할 것이다.
-- 결과는 대화 연결이 할당될 때, 즉, SN가 "Alerting" 표시자를
-- 망으로부터 수신할 때, 리턴될 것이다. IMS은 호를 결과가 리턴되면
-- 수용할 것이다. 메시지 재생은 응답 메시지(ANM)가 SN에 의해 감지되면
-- 시작된다. 미리 설정된 음성 연결이 있다면, SN는 즉시 인사말을
-- 재생하기 시작할 것이고 결과를 즉시 리턴할 것이다.
-- 1등급 동작
RecordGreeting ::= OPERATION -- Timer m --
ERRORS {
AccessDeniedToResource,
SystemFailure
}
-- 새로운 현재 인사말을 녹음하도록 서비스 노드에 요청한다. IMS으로의
-- 대화 연결이 없다면, SN은 대화 연결을 설정할 것이다. 결과는 대화
-- 연결이 할당될 때, 즉, SN가 "Alerting" 표시자를 망으로부터 수신할 때,
-- 리턴될 것이다. IMS은 호를 결과가 리턴되면 수용할 것이다. 인사말
-- 녹음은 응답 메시지(ANM)가 SN에 의해 감지되면 시작된다. 미리 설정된
-- 음성 연결이 있다면, SN는 즉시 인사말을 재생하기 시작할 것이고 결과를
-- 즉시 리턴할 것이다.
-- 1등급 동작
ReleaseResource ::= OPERATION -- Timer m --
ARGUMENT
ReleaseResourceArg
ERRORS {
UnknownResource
}
-- 메시지 검색 또는 인사말 녹음을 위해 할당된 모든 자원을, 예를 들면, IP로의
-- 호 레그 및 시그날링 다이얼로그을 해제하도록 서비스 노드에 요청한다.
-- 1등급 동작
RetrieveNewMessageInfo ::= OPERATION -- Timer m --
RESULT
RetrieveNewMessageInfoResultArg
ERRORS {
AccessDeniedToResource
}
--새 메시지에 대한 정보를 검색한다. 이 동작은 ITAP 세션이 서비스
-- 인식자 "새 메시지 통지"로써 설정될 때 사용된다. 동작은 새 메시지
-- 통지 파라메터를 리턴한다.
-- 1등급 동작
Rewind ::= OPERATION -- Timer m --
ERRORS {
IllegalOperation
}
-- 재생되고 있는 음성 메시지의 되감기를 발행한다. 동작은 음성 메시지가
-- 재생되고 있을 때에만 발행된다. SN은 즉시 결과를 리턴한다.
-- 1등급 동작
SaveMessage ::= OPERATION -- Timer m --
ARGUMENT
SaveMessageArg
ERRORS {
AccessDeniedToResource,
UnknownMedia,
UnknownMessage
}
-- 규정된 메시지를 저장한다.
-- 1등급 동작
SendMessage ::= OPERATION -- Timer m --
ARGUMENT
SendMessageArg
ERRORS {
AccessDeniedToResource,
UnknownMedia,
UnknownMessage,
IllegalAddress
}
-- 규정된 착신측으로 메시지를 전송한다. 전달될 선택된 메시지는 매체
-- 형태와 함께 메시지 인식자에 의해 식별된다.
-- 1등급 동작
Stop ::= OPERATION -- Timer m --
ERRORS {
IllegalOperation
}
-- 음성 메시지 재생을 중단한다. SN은 즉시 결과를 리턴할 것이다.
-- 1등급 동작
프로파일 관련 동작
AddEntryToScreeningList ::= OPERATION -- Timer m --
ARGUMENT
AddEntryToScreeningListArg
RESULT
AddEntryToScreeningListResultArg
ERRORS {
AccessDeniedToResource
}
-- 흑백 선별 목록으로 새 번호를 추가한다.
-- 1등급 동작
DeleteCallLogEntry ::= OPERATION -- Timer m --
ARGUMENT
DeleteCallLogEntryArg
ERRORS {
AccessDeniedToResource,
UnknownCallLog
}
-- 호 기록의 엔트리를 삭제한다.
-- 1등급 동작
DeleteEntryInScreeningList ::= OPERATION -- Timer m --
ARGUMENT
DeleteEntryInScreeningListArg
ERRORS {
AccessDeniedToResource
}
-- 선별 목록으로부터 번호를 삭제한다.
-- 1등급 동작
EnquiryCallLog ::= OPERATION -- Timer m --
ARGUMENT
EnquiryCallLogArg
RESULT
EnquiryCallLogResultArg
ERRORS {
AccessDeniedToResource,
UnknownCallLog
}
-- 예를 들면, 시간 스탬프 및 발신자의 인식자인, 호 기록의 엔트리에 관한
-- 상태 문의. 결과는 SN에 사용가능한 더이상의 상태 엔트리가 있는지를
-- 표시한다. 나머지 부분은 이상의 정보에 할당된 기록 형태를 가진
-- 추가적인 상태 문의로써 검색된다.
-- 1등급 동작
EnquiryScreeningList ::= OPERATION -- Timer m --
ARGUMENT
EnquiryScreeningListArg
RESULT
EnquiryScreeningListResultArg
ERRORS {
AccessDeniedToResource
}
-- 예를 들면, 연결될 번호인, 선별 목록의 엔트리에 관한 상태 문의.
-- 1등급 동작
RetrieveActiveRoutingTable ::= OPERTAION -- Timer m --
RESULT
RetrieveActiveRoutingTableResultArg
ERRORS {
AccessDeniedToResource,
UnknownRoutingTable
}
-- 현재 활성화되어 있는 기정의된 라우팅 표의 인식자 및 명칭을 검색한다.
-- 1등급 동작
RetrieveBusyAndNoAnswerDest ::= OPERTAION -- Timer m --
RESULT
RetrieveBusyAndNoAnswerDestResultArg
ERRORS {
AccessDeniedToResource
}
-- 통화 중 및 무응답 발신측을 검색한다.
-- 1등급 동작
RetrieveImmediateDelivery ::= OPERATION -- Timer m --
ARGUMENT
RetrieveImmediateDeliveryArg
RESULT
RetrieveImmediateDeliveryResultArg
ERRORS {
AccessDeniedToResource
}
-- 메시지의 즉시 전달을 위한 프로파일을 검색한다.
-- 1등급 동작
RetrieveLanguage ::= OPERATION -- Timer m --
RESULT
RetrieveLanguageResultArg
ERRORS {
AccessDeniedToresource
}
-- "기존 전화 서비스(plain old telephone service: POTS)" 액세스에 대해 사용된
-- 언어를 검색한다.
-- 1등급 동작
RetrieveNameOfRoutingTables ::= OPERATION -- Timer m --
RESULT
RetrieveNameOfRoutingTablesResultArg
ERRORS {
AccessDeniedToResource
}
-- 사용가능한 라우팅 표의 명칭 및 인식자의 목록을 검색한다.
-- 1등급 동작
RetrieveNotificationType ::= OPERATION -- Timer m --
RESULT
RetrieveNotificationTypeResultArg
ERRORS {
AccessDeniedToResource
}
-- 양호한 통지 형태를 검색한다.
-- 1등급 동작
RetrieveRoutiongList ::= OPERATION -- Timer m --
ARGUMENT
RetrieveRoutingListtArg
RESULT
RetrieveRoutingListResultArg
ERRORS {
AccessDeniedToResource,
UnknownRoutingList
}
-- 라우팅 목록을 검색한다.
-- 1등급 동작
RetrieveRoutiongTable ::= OPERATION -- Timer m --
ARGUMENT
RetrieveRoutingTabletArg
RESULT
RetrieveRoutingTableResultArg
ERRORS {
AccessDeniedToResource,
UnknownRoutingTable
}
-- 서비스 노드로부터 라우팅 표를 검색한다.
-- 1등급 동작
RetrieveScreeningProfile ::= OPERATION -- Timer m --
RESULT
RetrieveScreeningProfileResultArg
ERRORS {
AccessDeniedToResource
}
-- 선별 프로파일을 검색한다.
-- 1등급 동작
RetrieveScreeningResons ::= OPERATION -- Timer m --
RESULT
RetrieveScreeningResonsResultArg
ERRORS {
AccessDeniedToResource
}
-- 선별 이유의 목록을 검색한다.
-- 1등급 동작
RetrieveSearchTimes ::= OPERATION -- Timer m --
ARGUMENT
RetrieveSearchTimesArg
RESULT
RetrieveSearchTimesResultArg
ERRORS {
AccessDeniedToResource,
UnknownRoutingTable
}
-- 규정 라우팅 표에 대한 탐색 시간을 검색한다.
-- 1등급 동작
SetActiveRoutingTable ::= OPERATION -- Timer m --
ARGUMENT
SetActiveRoutingTableArg
ERRORS {
AccessDeniedToResource,
UnknownRoutingTable
}
-- 활성화된 라우팅 표를 라우팅 표 id 입력파라메터에 의해 규정된
-- 기정의된 라우팅 표로 변경한다.
-- 1등급 동작
UpdateBusyAndNoAnswerDest ::= OPERATION -- Timer m --
Argument
UpdateBusyAndNoAnswerDestArg
ERRORS {
AccessDeniedToResource
}
-- 통화 중 및 무응답 착신측을 갱신한다.
-- 1등급 동작
UpdateEntryInScreeningList ::= OPERATION -- Timer m --
ARGUMENT
UpdateEntryInScreeningListArg
ERRORS {
AccessDeniedToResource
}
-- 선별 목록의 엔트리를 갱신한다.
-- 1등급 동작
UpdateImmediateDelivery ::= OPERATION -- Timer m --
ARGUMENT
UpdateImmediateDeliveryArg
ERRORS {
AccessDeniedToResource
}
-- 메시지의 즉시 전달을 위한 프로파일을 갱신한다.
-- 1등급 동작
UpdateLanguage ::= OPERATION -- Timer m --
ARGUMENT
UpdateLanguageArg
ERRORS {
AccessDeniedToResource
}
-- POTS 액세스를 위해 사용되는 언어 형태를 갱신한다.
-- 1등급 동작
UpdateNameOfRourtingTable ::= OPERATION -- Timer m --
ARGUMENT
UpdateNameOfRourtingTableArg
ERRORS {
AccessDeniedToResource,
UnknownRoutingTable
}
-- 양호한 라우팅 표의 명칭을 갱신한다.
-- 1등급 동작
UpdateNotificationType ::= OPERATION -- Timer m --
ARGUMENT
UpdateNotificationTypeArg
ERRORS {
AccessDeniedToResource
}
-- 양호한 통지 형태를 갱신한다.
-- 1등급 동작
UpdateRoutingTable ::= OPERATION -- Timer m --
ARGUMENT
UpdateRoutingTableArg
ERRORS {
AccessDeniedToResource,
UnknownRoutingTable
}
-- 서비스 노드의 라우팅 표를 갱신한다.
-- 1등급 동작
UpdateScreeningProfile ::= OPERATION -- Timer m --
ARGUMENT
UpdateScreeningProfileArg
ERRORS {
AccessDeniedToResource
}
-- 선별 프로파일을 갱신한다.
-- 1등급 동작
UpdateSearchTimes ::= OPERATION -- Timer m --
ARGUMENT
UpdateSearchTimesArg
ERRORS {
AccessDeniedToResource,
UnknownRoutingTable
}
-- 라우팅 표의 각 선택항목에 대한 탐색 시간을 갱신한다.
-- 1등급 동작
인증 동작
Authenticate ::= OPERATION -- Timer m --
ARGUMENT
AuthenticationArg
ERRORS {
AuthenticationFailed,
PINCodeBlocked
}
-- 입력된 PIN 코드를 점검한다.
-- 1등급 동작
RetrieveAuthenticationStatus ::= OPERATION -- Timer m --
RESULT
RetrieveAuthenticationStatusResultArg
ERRORS {
AccessDeniedToResource
}
-- 서비스 노드로부터 인증 상태를 검색한다.
-- 1등급 동작
UpdateAuthenticationStatus ::= OPERATION -- Timer m --
ARGUMENT
UpdateAuthenticationStatusResultArg
ERRORS {
AccessDeniedToResource
}
-- 서비스 노드의 인증 상태를 갱신한다.
-- 1등급 동작
UpdatePINCode ::= OPERATION -- Timer m --
ARGUMENT
UpdatePINCodeArg
ERRORS {
AccessDeniedToResource,
PINCodeFailure
}
-- 서비스 노드의 인식자를 검증하기 위해 사용되는 PIN 코드를 갱신한다.
-- 1등급 동작
에러
FaxDetetced ::= ERROR
-- 팩스 감지가 성공적으로 실행되었다. 호는 팩스 호에 대한 착신측으로
-- 라우트되었고 도입호 선택은 종료된다.
HookOn ::= ERROR
-- A 통화자가 후크온(hook on)을 수행하였다.
CallAnswered ::= ERROR
-- 호는 병행하여 얼러트되었던 다른 착신측에서 이미 응답되었다.
SystemFailure ::= ERROR
-- 예를 들면, 폭주 또는 자원 한정으로 인해, 호 레그가 연결되지
-- 않았다.
UnknownMessage ::= ERROR
-- 미정의된 메시지
AccessDeniedToResource ::= ERROR
-- 예를 들면, 음성 사서함 또는 호 기록인 자원으로의 액세스가
-- 금지되었다.
UnknownMedia ::= ERROR
-- 미정의된 매체
UnknownStatus ::= ERROR
-- 미정의된 상태
UnknownResource ::= ERROR
-- 미정의된 자원
IllegalAddress ::= ERROR
-- 불허 주소
NoMoreMessages ::= ERROR
-- 사서함에 더 이상의 메시지가 없음.
UnknownRoutingTable ::= ERROR
-- 미정의된 라우팅 표
UnknownCallLog ::= ERROR
-- 미정의된 호 기록
UnknownRoutingList ::= ERROR
-- 미정의된 라우팅 목록
IllegalOperation ::= ERROR
-- 미허용 동작
AuthenticationFailed ::= ERROR
-- 미허용 PIN 코드가 입력되었다.
PINCodeBlocked ::= ERROR
-- 너무 많은 재시도, PIN 코드 폐쇄
NoAnswer ::= ERROR
-- 무응답
Busy ::= ERROR
-- 호출된 상대방이 통화중
NotReachable ::= ERROR
-- 호출된 상대방이 연결 불가
인자 데이터 형태
AddEntryToScreeningListArg ::= SEQUENCE {
typeOfList [00] UnsignedByte,
screeningAddress [01] AddressInfo
}
-- 목록 형태: 0 = 백색 목록(white list), 1 = 흑색 목록(black list)
-- 선별 목록에 추가될 호출자의 PIN 코드 또는 인식자.
AddEntryToScreeningListResultArg ::= SEQUENCE {
index [00] UnsignedByte
}
-- 새로운 선별 엔트리가 저장되는 목록의 인덱스.
AuthenticateArg ::= SEQUENCE {
pINcode [00] Number
}
-- 입력된 PIN 코드.
CancelMessageDeliveryArg ::= SEQUENCE {
messageID [00] LongInt,
media [01] UnsignedByte
}
-- 매체: 1 = 팩스 우편, 2 = E-mail, 3 = SMS.
DeleteCallLogEntryArg ::= SEQUENCE {
typeOfLog [00] UnsignedByte,
callLogEntry [01] UnsignedByte
}
-- 호 기록의 형태: 0 = 도입 호 기록, 1 = 누락된 기록, 2 = 콜 백 기록
-- 호 기록 엔트리는 호 로그의 인덱스이다. 인덱스는 1-10사이일 수 있다.
DeleteMessageArg ::= SEQUENCE {
messageID [00] SEQUENCE OF LongInt OPTIONAL,
media [01] SEQUENCE OF UnsignedByte OPTIONAL
}
-- 매체: 0 = 음성 우편, 1 = 팩스 우편, 2 = E-mail, 3 = SMS.
-- "SEQUENCE OF" 파라메터는 SIZE(1...10) 범위에 있다. 메시지 id 및
-- 매체는 동작이 음성 메시지 재생 중에 시동되면 생략될 수 있다.
-- 그러므로 메시지 id 및 매체는 SN에 의해 현재 메시지로부터 페치된다.
DeleteEntryInScreeningListArg ::= SEQUENCE {
typeOfList [00] UnsignedByte,
index [01] UnsignedByte
}
-- 목록 형태: 0 = 백색 목록, 1 = 흑색 목록
-- 인덱스: 제거될 선별 목록의 엔트리의 인덱스
EnquiryCallLogArg ::= SEQUENCE {
typeOfLog [00] UnsignedByte
}
-- 기록의 형태: 0 = 도입호 기록, 1 = 누락된 호 기록, 2 = 콜백 기록,
-- 3 = 정보를 더 얻음.
EnquiryCallLogResultArg ::= SEQUENCE {
moreToCome [00] BOOLEAN,
timeStamp [01] SEQUENCE OF DateAndTime OPTIONAL,
caller [02] SEQUENCE OF AddressInfo OPTIONAL,
answered [03] SEQUENCE OF AddressInfo OPTIONAL
}
-- "SEQUENCE OF" 파라메터의 크기는 SIZE(1...10) 범위에 있다.
EnquiryDeliveryLogArg ::= SEQUENCE {
selectedMedia [00] UnsignedByte
}
-- 선택된 매체: 0 = 팩스 우편, 2 = E-mail, 3 = SMS, 4 = 모두
EnquiryDeliveryLogResultArg ::= SEQUENCE {
timeStamp [00] SEQUENCE OF DateAndTime OPTIONAL,
statue [01] SEQUENCE OF UnsignedByte OPTIONAL,
messageID [02] SEQUENCE OF LongInt OPTIONAL,
destination [03] SEQUENCE OF AddressInfo OPTIONAL,
media [04] SEQUENCE OF UnsignedByte OPTIONAL
}
-- "SEQUENCE OF" 파라메터의 크기는 SIZE(1...10) 범위에 있다. 매체
-- 파라메터는 선택된 매체가 "모두"와 같을 때만 포함된다.
EnquiryMailboxArg ::= SEQUENCE {
selectedMedia [00] UnsignedByte,
selectedStatus [01] UnsignedByte
}
-- 선택된 매체: 0=음성 우편, 1=팩스 우편, 2=E-mail, 3=SMS, 4=모두
-- 선택된 상태: 0=새로운, 1=이전, 2=저장된, 3=모두, 4=정보더있음
EnquiryMailboxResultArg ::= SEQUENCE {
moreInfoAvailable [00] BOOLEAN,
timeStamp [01] SEQUENCE OF DateAndTime OPTIONAL,
messageID [02] SEQUENCE OF LongInt OPTIONAL,
originator [03] SEQUENCE OF AddressInfo OPTIONAL,
media [04] SEQUENCE OF UnsignedByte OPTIONAL,
status [05] SEQUENCE OF UnsignedByte OPTIONAL,
messageHeader [06] SEQUENCE OF SMSString OPTIONAL
}
-- "SEQUENCE OF" 파라메터의 크기는 SIZE(1...5) 범위에 있다. 매체 파라메터는 -- 선택된 매체가 "모두"와 같을 때만 포함된다. 상태 파라메터는 선택된 매체가
-- "모두"와 같을 때만 포함된다.
EnquiryScreeningListArg ::= SEQUENCE {
typeOfList [00] UnsigneByte
}
-- 목록 형태: 0 = 백색 목록, 1 = 흑색 목록
EnquiryScreeningListResultArg ::= SEQUENCE {
index [00] SEQUENCE OF UnsignedByte OPTIONAL,
screeningList [01] SEQUENCE OF AddressInfo OPTIONAL
}
-- "SEQUENCE OF" 파라메터의 크기는 SIZE(1...25) 범위에 있다.
-- 인덱스는 (1....25) 범위에 있다.
GetDetailedMessageInfoArg ::= SEQUENCE {
selectedMedia [00] UnsignedByte,
messageID [01] LongInt
}
-- 선택된 매체: 0=음성 우편, 1=팩스우편, 2=E-mail, 3=SMS, 4=모두
GetDetailedMessageInfoResultArg ::= SEQUENCE {
priority [00] UnsignedByte,
length [01] LongInt,
messageHeader [02] SMSString OPTIONAL,
body [03] SMSString OPTIONAL,
nameOfAttachments [04] SEQUENCE OF SMSString OPTIONAL
}
-- 우선 순위: 0 = 저, 1 = 정상, 2 = 고
-- 메시지의 길이는 매체에 달려있다. 음성 메시지 (초), 팩스 메시지(페이지수),
-- E-mail(바이트 수), SMS(문자수). 메시지 몸체 파라메터는 E-mail에만
-- 적용가능하다. 메시지가 SMSString의 크기보다 길다면, 메시지는 절단된다.
-- "SEQUENCE OF" 파라메터의 크기는 SIZE(1...5) 범위에 있다.
MailboxStatusArg ::= SEQUENCE {
typeOfMedia [00] UnsignedByte
}
-- 매체 형태: 0=음성우편, 1=팩스우편, 2=E-mail, 3=SMS, 4=모두
MaiboxStatusResultArg ::= SEQUENCE {
numberOfVoiceMail [00] SEQUENCE OF UnsignedByte OPTIONAL,
numberOfFaxMail [01] SEQUENCE OF UnsignedByte OPTIONAL,
numberOfEmail [02] SEQUENCE OF UnsignedByte OPTIONAL,
numberOfSMS [03] SEQUENCE OF UnsignedByte OPTIONAL
}
-- 선택된 매체에 대한 가입자 사서함의 메시지 수.
-- 매체 형태가 요청에서 모두이면, 모든 파라메터가 리턴된다. 매체 형태가
-- 규정된 매체이면, 요청된 매체의 파라메터는 리턴된다, 예를 들면, 매체 형태가
-- 음성우편이면 음성우편의 수만이 리턴될 수 있다.
-- "SEQUENCE OF" 파라메터의 크기는 항상 4이다. SEQUENCE OF는 다음의
-- 정보를 포함한다.
-- 인덱스 1 = 메시지 총수
-- 인덱스 2 = 새 메시지 수
-- 인덱스 3 = 이전 메시지 수
-- 인덱스 4 = 저장된 메시지 수
-- 메시지 수가 255이면, 이는 최소한 255 메시지가 있음을 표시한다.
PlayMessageArg ::= SEQUENCE {
typeOfPlay [00] UnsignedByte,
messageID [01] LongInt OPTIONAL
}
-- TypeOfPlay: 0 = 모두, 1 = 규정적, 2 = 반복, 3 = 다음
-- SN은 메시지 인식자에 의해 식별된 음성 메시지를 재생하기 시작할
-- 것이다. 재생 형태가 모두이면, 모든 메시지가 순서대로 재생될 것이다.
-- 재생 형태가 규정적이면, 규정된 메시지가 재생될 것이다. 재생 형태가
-- 반복이면, 현재 메시지가 반복될 것이다. 재생 형태가 다음이면, 다음
-- 메시지가 재생될 것이다. 반복 및 다음은 최소한 하나의 메시지가
-- 재생되었을 때만 사용될 수 있다. 메시지 id는 반복 및 다음에 대해
-- 사용되지 않는다.
ReleaseResourceArg ::= SEQUENCE {
typeOfResource [00] UnsignedByte
}
-- 자원 형태: 0=음성우편, 1=팩스 우편, 2=E-mail, 3=SMS, 4=모두
RetrieveActiveRoutingTableResultArg ::= SEQUENCE {
routingTableId [00] UnsignedByte,
routingTableName [01] SMSString
}
-- 활성화된 라우팅 표 식별자는 (1...5) 범위에 있을 수 있다.
RetrieveAuthenticationStatusResultArg ::= SEQUENCE {
authenticationActive [00] BOOLEAN
}
-- 인증 상태 활성화(온/오프)
RetrieveBusyAndNoAnswerDestResultArg ::= SEQUENCE {
busyDestination [00] AddressInfo,
noAnswerDestination [01] AddressInfo
}
-- 정보가 사용가능하다면, 명칭 및 번호는 주소 정보에 포함될 것이다.
-- 번호가 서비스 사용자에게 주어지지 않을 것이라면, 예를 들면, 통화중
-- 착신측이 운용자 정의 착신자라면, 명칭은 주소 정보에 포함될 것이고
-- 라우팅 표의 인덱스는 주소로서, 예를 들면, #4로서 전송될 것이다, 명칭이
-- 사용가능하지 않다면, 단지 번호만 포함될 것이다.
RetrieveImmedateDeliveryArg::= SEQUENCE {
sourceMedia [00] UnsignedByte
}
-- 자원매체: 0 = 음성우편, 1 = 팩스우편, 2 = E-mail, 3 = SMS
RetrieveImmediateDeliveryResultArg::= SEQUENCE {
immediateDeliveryActive [00] BOOLEAN,
autoCopyActive [01] BOOLEAN,
immediateMedia [02] UnsignedByte OPTIONAL,
immediateAddress [03] AddressInfo OPTIONAL,
autoCopyMedia [04] UnsignedByte OPTIONAL,
autoCopyAddress [05] AddressInfo OPTIONAL
}
-- 정보가 사용가능하다면, 명칭 및 번호는 주소 정보에 포함될 것이다.
-- 번호가 서비스 사용자에게 주어지지 않을 것이라면, 예를 들면, 착신측이
-- 운용자 정의 착신자라면, 명칭은 주소 정보에 포함될 것이고
-- 라우팅 표의 인덱스는 주소로서, 예를 들면, #4로서 전송될 것이다, 명칭이
-- 사용가능하지 않다면, 단지 번호만 포함될 것이다.
-- 즉시 및 자동 복사 매체: 0 = 음성, 1 = 그룹 3 팩스, 2 = 그룹 4 팩스,
-- 3 = SMS, 4 = E-mail, 5 = Ermes, 6 = 텔레텍스, 7 =텔렉스.
RetrieveLanguageResultArg ::= SEQUENCE {
language [00] UnsignedByte
}
-- 여러 언어에 대한 값이 "ITAP 동작" 제목 밑의 윗부분에서 데이터 형태
-- Language에 대해 규정된 값과 일치한다.
RetrieveNameOfRoutingTablesResultArg ::= SEQUENCE {
routingTableID [00] SEQUENCE OF UnsignedByte,
routingTableName [01] SEQUENCE OF SMSString
}
-- 라우팅 표의 명칭 및 인식자의 목록. "SEQUENCE OF" 파라메터는
-- SIZE(1...5) 범위에 있다. 라우팅 표 식별자는 범위 (1...5)에 있을
-- 수 있다.
RetrieveNewMessageInfoResultArg ::= SEQUENCE {
numberOfNew [00] LongInt,
numberOfOld [01] LongInt,
numberOfSaved [02] LongInt,
media [03] UnsignedByte,
originator [04] AddressInfo,
timeStamp [05] DateAndTime
}
-- 매체: 0 = 음성우편, 1 = 팩스우편, 2 = E-mail, 3 = SMS
RetrieveNotificationTypeResultArg ::= SEQUENCE {
notificationStatus [00] BOOLEAN,
typeOfNotification [01] UnsignedByte,
notificationAddress [02] AddressInfo OPTIONAL
}
-- 통지 형태: 0 = 다이얼 출력, 1 = 호출기, 2 = SMS, 3 = 팩스,
-- 4 = E-mail, 5 = USSD, 6 = ITAP
RetrieveRoutingListArg ::= SEQUENCE {
typeOfList [00] UnsignedByte
}
-- 목록 형태:
-- 0 = 라우팅 표 관리, 가입자 및 운용자 정의 착신자가 리턴된다.
-- 1 = 도입 호 선택 전달 호, 가입자 및 운용자 정의 착신자는 마지막 전달
-- 착신자와 함께 리턴된다.
-- 2 = 팩스 관리, 가입자 및 운용자 정의 착신자가 리턴된다.
-- 3 = E-mail 관리, E-mail에 대한 디폴트 착신자가 리턴된다.
RetrieveRoutingListResultArg ::= SEQUENCE {
destinations [00] SEQUENCE OF AddressInfo OPTIONAL,
latestDestinations [01] SEQUENCE OF AddressInfo OPTIONAL
}
-- "SEQUENCE OF" 착신자 파라메터의 크기는 SIZE(1...10) 범위에 있고
-- latestDestination은 SIZE(1...2) 범위에 있다. 정보가 사용가능하면,
-- 명칭 및 번호는 주소에 포함될 것이다. 번호가 서비스 사용자에게
-- 주어지지 않을 것이라면, 예를 들면, 착신측이 운용자 정의 착신자라면,
-- 주소 정보 데이터 형태의 명칭 파라메터는 착신측 명칭을 포함할 것이고
-- 번호 파라메터는 라우팅 목록의 인덱스가, 예를 들면, #4가 뒤따르는 해시
-- 표시(hash mark)를 포함한다.
-- 서비스 사용자가 라우팅 목록으로부터 엔트리를 선택할 때, 라우팅
-- 목록으로부터의 주소 정보가 SN으로 전송될 것이다. 그것이 운용자 정의
-- 착신자이라면, SN는 실제 주소를 찾기 위해 번호 파라메터의 라우팅 목록
-- 인덱스를 사용할 것이다. 명칭이 사용가능하지 않다면, 번호만 포함될
-- 것이다.
RetrieveRoutingTableArg ::= SEQUENCE {
routingTableID [00] UnsignedByte
}
-- 라우팅 표 식별자는 범위(1..5)에 있을 수 있다.
RetrieveRoutingTableResultArg ::= SEQUENCE {
callFirst [00] SEQUENCE OF AddressInfo OPTIONAL,
callSecond [01] SEQUENCE OF AddressInfo OPTIONAL,
callThird [02] SEQUENCE OF AddressInfo OPTIONAL
}
-- "SEQUENCE OF" 파라메터의 크기는 SIZE(1...2) 범위에 있다.
-- 정보가 사용가능하면, 명칭 및 번호는 주소에 포함될 것이다. 번호가
-- 서비스 사용자에게 주어지지 않을 것이라면, 예를 들면, 착신측이 운용자
-- 정의 착신자라면, 명칭은 주소에 포함될 것이고 라우팅 목록의 인덱스는
-- 주소로서, 예를 들면, #4로서 전송될 것이다. 명칭이 사용가능하지 않다면,
-- 번호만 포함될 것이다.
RetrieveScreeningProfileResultArg ::= SEQUENCE {
situationScreeningActive [00] BOOLEAN,
callerIdScreeningActive [01] BOOLEAN,
screeningReason [02] UnsignedByte,
timeStamp [03] DateAndTime OPTIONAL,
screeningDestination [04] AddressInfo OPTIONAL
}
-- 선별이 활성화되고 선별 이유는 현재 선별 이유, 예를 들면, 회의, 휴가,
-- 를 표시한다. 선별이 활성화되어 있지 않다면 이 파라메터는 마지막
-- 만료된 선별 이유를 표시한다. 선별 이유는 범위 1-10에 있다.
RetrieveScreeningReasonsResultArg ::= SEQUENCE {
screeningReason [00] SEQUENCE SMSString OPTIONAL
}
-- 예를 들면, 회의, 휴가인 선별 이유와 연관된 텍스트. "SEQUENCE OF"
-- 파라메터의 크기는 1-10 범위에 있다.
RetrieveSearchTimesArg ::= SEQUENCE {
routingTableID [00] UnsignedByte
}
-- 라우팅 표 식별자는 범위 (1..5)에 있을 수 있다.
RetrieveSearchTimesResultArg ::= SEQUENCE {
searchTimeCallFirst [00] UnsignedByte,
searchTimeCallSecond [01] UnsignedByte,
searchTimeCallThird [00] UnsignedByte
}
-- 탐색 시간은 1- 60 초 범위에 있을 수 있다.
SaveMessageArg ::= SEQUENCE {
messageID [00] LongInt OPTIONAL,
media [01] UnsignedByte OPTIONAL,
tag [02] SMSString OPTIONAL
}
-- 매체: 0 = 음성우편, 1 = 팩스우편, 2 = E-mail, 3 = SMS
-- 태그는 메시지와 함께 저장될 수 있다. 메시지 id 및 매체는 동작이
-- 음성 메시지 재생 중에 시동되면 생략될 수 있다. 그리고 메시지 id 및
-- 매체는 현재 메시지로부터 SN에 의해 페치될 것이다.
SendMessageArg ::= SEQUENCE {
messageID [00] LongInt,
media [01] UnsignedByte,
recipientMedia [02] UnsignedByte,
recipientAddress [03] AddressInfo
}
-- 매체: 0 = 음성우편, 1 = 팩스우편, 2 = E-mail, 3 = SMS
-- 수신 매체: 0 = 음성, 1 = 그룹 3 팩스, 2 = 그룹 4 팩스, 3 = SMS
-- 4 = E-mail, 5 = Ermes, 6 = 텔레텍스, 7 = 텔렉스.
SetActiveRoutingTableArg ::= SEQUENCE {
routingTableID [00] UnsignedByte
}
-- 활성 라우팅 표를 설정한다. 라우팅 표 식별자는 범위 (1...5)에 있을
-- 수 있다.
SetUpCallArg ::= SEQUENCE {
bNumber [00] AddressInfo OPTIONAL
}
-- 호가 설정될 번호. bNumber는 동작이 음성 메시지 재생 중에 시동되면
-- 생략될 수 있다. 그리고 SN은 현재 메시지로부터 번호를 페치한다.
TransferCallArg ::= SEQUENCE {
transferToNumber [00] AddressInfo
}
-- 호가 전달될 번호. 전달 착신측이 라우팅 목록으로부터의 엔트리이면,
-- 라우팅 목록으로부터의 완전한 주소 정보가 전송될 것이다. 전달 착신측이
-- 국지적 주소록으로부터인 것이거나 또는 수동입력 번호이면,
-- 번호만이 SN으로 전송된다.
UpdateAuthenticationStatusArg ::= SEQUENCE {
authenticationActive [00] BOOLEAN
}
-- 인증 상태(온/오프)
UpdateBusyAndNoAnswerDestArg ::= SEQUENCE {
busyDestination [00] AddressInfo,
noAnswerDestination [01] AddressInfo
}
-- 주소 정보가 라우팅 목록으로부터의 엔트리이면, 라우팅 목록으로부터의
-- 완전한 주소 정보가 전송될 것이다. 주소 정보가 국지적 주소록으로부터의
-- 것이거나 또는 수동 입력 번호이면, 번호만이 SN으로 전송된다.
UpdateEntryInScreeningListArg ::= SEQUENCE {
typeOfList [00] UnsignedByte,
index [01] UnsignedByte,
screeningAddress [02] AddressInfo
}
-- 목록 형태: 0 = 백색 목록, 1 = 흑색 목록
-- 인덱스: 갱신될 선별 목록의 엔트리 인덱스.
-- 선별 목록에 갱신될 호출자의 새 PIN 코드 또는 인식자.
UpdateImmediateDeliveryArg ::= SEQUENCE {
sourceMedia [00] UnsignedByte,
immediateDeliveryActive [01] BOOLEAN,
autoCopyActive [02] BOOLEAN,
immediateMedia [03] UnsignedByte OPTIONAL,
immediateAddress [04] AddressInfo OPTIONAL,
autoCopyMedia [05] UnsignedByte OPTIONAL,
autoCopyAddress [06] AddressInfo OPTIONAL
}
-- 주소 정보가 라우팅 목록으로부터의 엔트리이면, 라우팅 목록으로부터의
-- 완전한 주소 정보가 전송될 것이다. 주소 정보가 국지적 주소록으로부
-- 터의 것이거나 수동 입력 번호이면, 번호만이 SN으로 전송된다.
-- 원 매체: 0 = 음성우편, 1 = 팩스 우편, 2 = E-mail, 3 = SMS
-- 즉석 및 자동 복사 매체: 0 = 음성, 1 = 그룹3 팩스, 2 = 그룹4 팩스,
-- 3 = SMS, 4 = E-mail, 5 = Ermes, 6 = 텔레텍스, 7 = 텔렉스.
UpdateLanguageArg ::= SEQUENCE {
language [00] UnsignedByte
}
-- 여러 언어에 대한 값이 "ITAP 동작" 제목 밑의 윗부분에서 데이터 형태
-- Language에 대해 규정된 값과 일치한다.
UpdateNameOfRoutingTableArg ::= SEQUENCE {
routingTableID [00] UnsignedByte,
routingTableName [01] SMSString
}
-- 라우팅 표의 명칭을 갱신한다. 라우팅 표 식별자는 범위 (1...5)에 있을
-- 수 있다.
UpdateNotificationTyepArg ::= SEQUENCE {
notificationStatus [00] BOOLEAN,
typeOfNotification [01] UnsignedByte,
notificationAddress [02] AddressInfo OPTIONAL
}
-- 통지 형태: 0 = 다이얼 출력, 1 = 호출기, 2 = SMS, 3 = 팩스,
-- 4 = E-mail, 5 = USSD, 6 = ITAP
UpdatePINCodeArg ::= SEQUENCE {
oldPINCode [00] Number,
newPINCode [01] Number
}
-- 이전 PIN 코드는 PIN 코드가 갱신되기 전에 프로파일에 저장된 PIN
-- 코드와 비교된다.
UpdateRoutingTableArg ::= SEQUENCE {
routingTableID [00] UnsignedByte,
callFirst [01] SEQUENCE OF AddressInfo OPTIONAL,
callSecond [02] SEQUENCE OF AddressInfo OPTIONAL,
callThird [03] SEQUENCE OF AddressInfo OPTIONAL
}
-- 라우팅 표 식별자는 범위(1...5)에 있을 수 있다. "SEQUENCE OF" 파라메터의
-- 크기는 범위 (1..2)에 있다. 주소 정보가 라우팅 목록으로부터의 엔트리이면,
-- 라우팅 목록으로부터의 완전한 주소 정보가 전송될 것이다. 주소 정보가
-- 국지적 주소록으로부터의 것이거나 수동 입력 번호이면, 번호만 SN으로
-- 전송될 것이다.
UpdateScreeningProfileArg ::= SEQUENCE {
situationScreeningActive [00] BOOLEAN,
callerIdScreeningActive [01] BOOLEAN,
screeningReason [02] UnsignedByte,
timeStamp [03] DateAndTime OPTIONAL,
screeningDestination [04] AddressInfo OPTIONAL
}
-- 선별 이유는 예를 들면, 회의, 휴가인 현재 선별 이유를 표시한다.
-- 선별 이유는 범위 1-10에 있을 수 있다.
UpdateSearchTimesArg ::= SEQUENCE {
routingTableID [00] UnsignedByte,
searchTimeCallFirst [01] UnsignedByte,
searchTimeCallSecond [02] UnsignedByte,
SearchTimeCallThird [03] UnsignedByte
}
-- 라우팅 표 식별자는 범위(1..5)에 있을 수 있다. 탐색 시간은 1-60초
-- 범위에 있을 수 있다.
동작 코드
호 관련 동작
acceptCall AcceptCall ::= 10
callBack CallBack ::= 11
holdCall HoldCall ::= 12
rejectCall RejectCall ::= 13
SetUpCall SetUpCall ::= 14
transferCall TransferCall ::= 15
enquiryCallSetUpStatus EnquiryCallSetUpStatus ::= 16
메시지 관련 동작
cancelMessageDelivery CancelMessageDelivery ::= 32
deleteMessage DeleteMessage ::= 33
enquiryDeliveryLog EnquiryDeliveryLog ::= 34
enquiryMailbox EnquiryMailbox ::= 35
fastForwarding FastForwarding ::= 36
getDetailedMessageInfo GetDetailedMessageInfo ::= 37
mailboxStatus MailboxStatus ::= 38
pause Pause ::= 39
playGreeting PlayGreeting ::= 40
playMessage PlayMessage ::= 41
recordGreeting RecordGreeting ::= 42
releaseResource ReleaseResource ::= 43
retrieveNewMessageInfo RetrieveNewMessageInfo ::= 44
rewind Rewind ::= 45
saveMessage SaveMessage ::= 46
sendMessage SendMessage ::= 47
stop Stop ::= 48
프로파일 관련 동작
addEntryToScreeningList AddEntryToScreeningList ::= 64
deleteCallLogEntry DeleteCallLogEntry ::= 65
deleteEntryInScreeningList DeleteEntryInScreeningList ::= 66
enquiryCallLog EnquiryCallLog ::= 67
enquiryScreeningList EnquiryScreeningList ::= 68
retrieveActiveRoutingTable RetrieveActiveRoutingTable ::= 69
retrieveBusyAndNOAnswerDest RetrieveBusyAndNOAnswerDest ::= 70
retrieveImmediateDelivery RetrieveImmediateDelivery ::= 71
retrieveLanguage RetrieveLanguage ::= 72
retrieveNameOfRoutingTables RetrieveNameOfRoutingTables ::= 73
retrieveNotificationType RetrieveNotificationType ::= 74
retrieveRoutingList RetrieveRoutingList ::= 75
retrieveRoutingTabel RetrieveRoutingTabel ::= 76
retrieveScreeningProfile RetrieveScreeningProfile ::= 77
retrieveScreeningResons RetrieveScreeningResons ::= 78
retrieveSearchTimes RetrieveSearchTimes ::= 79
setActiveRoutingTable SetActiveRoutingTable ::= 80
updateBusyAndNoAnswerDest UpdateBusyAndNoAnswerDest ::= 81
updateEntryInScreeningList UpdateEntryInScreeningList ::= 82
updateImmediateDelivery UpdateImmediateDelivery ::= 83
updateLanguage UpdateLanguage ::= 84
updateNameOfRoutingTable UpdateNameOfRoutingTable ::= 85
updateNotificationType UpdateNotificationType ::= 86
updateRoutingTable UpdateRoutingTable ::= 87
updateScreeningProfile UpdateScreeningProfile ::= 88
updateSearchTimes UpdateSearchTimes ::= 89
인증 동작
authenticate Authenticate ::= 120
retrieveAuthenticationStatus RetrieveAuthenticationStatus ::= 121
updateAuthenticationStatus UpdateAuthenticationStatus ::= 122
updatePINCode UpdatePINCode ::= 123
에러 코드
faxDetected FaxDetetced ::= 20
hookOn HookOn ::= 21
callAnswered CallAnswered ::= 22
systemFailure SystemFailure ::= 23
unknownMessage UnknownMessage ::= 24
accessDeniedToResource AccessDeniedToResource ::= 25
unknownMedia UnknownMedia ::= 26
unknownStatus UnknownStatus ::= 27
unknownResource UnknownResource ::= 28
illegalAddress IllegalAddress ::= 29
noMoreMessages NoMoreMessages ::= 30
unknownRoutingTable UnknownRoutingTable ::= 31
unknownCallLog UnknownCallLog ::= 32
unknownRoutingList UnknownRoutingList ::= 33
illegalOperation IllegalOperation ::= 34
authenticationFailed AuthenticationFailed ::= 35
pINCodeBlocked PINCodeBlocked ::= 36
noAnswer NoAnswer ::= 37
busy Busy ::= 38
notReachable NotReachable ::= 39
END
도 52 내지 64를 참조하여 다수의 예시적인 ITAP 시나리오에 대해 상세하게 기술될 것이다.
도 52 내지 57을 먼저 참조하면, 이 도면은 도입호 선택에 관한 시나리오를 도시한다. 도 52는 수용되고 있는 호가 있는 도입 호 선택을 도시한다. IMS(1401)은 새로운 호 표시를 IMS에서 수신하면(단계 (5201)) Bind 동작을 가지고 새 세션을 시작한다(단계(5203)). SN(1409)는 호출자 명칭 및 번호를 가지고 응답한다 (단계(5205)). 이 예에서, IMS 응용 버전은 SN(1409)의 응용 버전과 같고 시작 이미지 설명이 캐시 메모리에서 사용가능하다. 통화 채널이 이미 할당되어 있으므로, 대화 연결은 호가 IMS(1401)에서 국지적으로 수용될 때 즉시 설정될 수 있다(단계(5207)). 새 세션은 Unbind 동작을 전송하는 것으로써 폐쇄된다 (단계(5209)).
도 53은 거절되고 있는 호가 있는 도입호 선택을 도시한다. IMS(1401)에서 새 호 표시를 수신한 후(단계(5301)) IMS(1401)은 Bind 동작을 가지고 새 세션을 시작한다(단계(5303)). SN(1409)은 호출자 명칭 및 번호를 가지고 응답한다 (단계(5305)). 이 경우에, IMS 응용 버전은 SN(1409)의 응용 버전과 같고 시작 이미지 설명이 캐시 메모리에서 사용가능하다. 호는 거절되고 시그날링 자원은 해제된다(단계(5307)).,
도 54는 전달되고 있는 호가 있는 도입호 선택에 관한 시나리오를 도시한다. IMS(1401)에서 새 호 표시를 수신한 후(단계(5401)) IMS(1401)은 Bind 동작을 가지고 새 세션을 시작한다(단계(5403)). SN(1409)은 호출자 명칭 및 번호를 가지고 응답한다 (단계(5405)). 이 경우에, IMS 응용 버전은 SN(1409)의 응용 버전과 같고 시작 이미지 설명이 캐시 메모리에서 사용가능하다. 호는 전달되고(단계(5407)) 호 전달에 관한 정의된 착신자는 갱신된다(단계(5407)).
도 55는 시동되고 있는 호 보류가 있는 도입호 선택에 관한 시나리오를 도시한다. IMS(1401)에서 새 호 표시를 수신한 후(단계(5501)) IMS(1401)은 Bind 동작을 가지고 새 세션을 시작한다(단계(5503)). SN(1409)은 호출자 명칭 및 번호를 가지고 응답한다 (단계(5505)). 이 경우에, IMS 응용 버전은 SN(1409)의 응용 버전과 같고 시작 이미지 설명이 캐시 메모리에서 사용가능하다. 서비스 사용자는 호출자에게 회선을 보류하도록 요청하고(단계(5507)) 호는 얼마 후에 수용된다(단계(5507)).
도 56은 시동되고 있는 콜백이 있는 도입호 선택에 관한 시나리오를 도시한다. IMS(1401)에서 새 호 표시를 수신한 후(단계(5601)) IMS(1401)은 Bind 동작을 가지고 새 세션을 시작한다(단계(5603)). SN(1409)은 호출자 명칭 및 번호를 가지고 응답한다 (단계(5605)). 이 경우에, IMS 응용 버전은 SN(1409)의 응용 버전과 같고 시작 이미지 설명이 캐시 메모리에서 사용가능하다. 서비스 사용자는 개인 액세스 응용에게 기정의된 메시지를 호출자에게 재생하도록 요청한다(단계(5607)).
도 57은 ITAP 세션이 이미 진행 중일 때 도입호 선택에 관한 시나리오를 도시한다. 서비스 노드와 IMS(1401) 사이의 ITAP 세션은 이미 진행중이다 (단계(5701)). IMS(1401)에서 새 호 표시를 수신한 후 (단계(5703)) IMS(1401)은 Bind 동작을 가지고 새 세션을 시작한다(단계(5705)). SN(1409)은 호출자 명칭 및 번호를 가지고 응답한다 (단계(5707)). 호 레그가 이미 IMS(1401)으로 설정되어 있으므로, 호 수용은 IMS(1401)에 의해서만 실행된다. SN(1409)은 응답 이벤트를 모니터하여 호가 수용되는지를 감지한다. 새 세션은 Unbind 동작을 전송하여 폐쇄된다(단계(5709)). SN(1409)는 IMS(1401)으로 빈 USSD request 동작을 전송하여 이전 세션을 재개한다(단계(5711)).
도 58 내 61을 참조하여 사서함 관련 서비스에 대해 상세하게 기술될 것이다. 도 58에서, 서비스 사용자는 ITAP 세션을 시작한다(단계(5801)). MailboxStatus invoke가 발생된 후(단계(5803)), 서비스 사용자는 새 메시지에 대한 음성 사서함을 문의하기 위해 선택한다(단계(5805)).
도 59를 이제 참조하면, 서비스 사용자는 ITAP 세션을 설정하였고 음성 사서함을 문의하였다. 서비스 사용자는 음성 메시지를 재생하도록 선택한다(단계(5901)). 일단 대화 연결이 IMS(1401)에 할당되면(단계(5903)), IMS(1401)으로 결과가 리턴된다(단계(5905)). 음성 메시지 재생은 DTMF 시그날링에 의해 제어된다(단계(5907)). 서비스 사용자는 음성 우편 세션을 끝내도록 선택할 때, ReleaseResource 동작이 SN(1409)로 전송된다(단계(5909)).
도 60으로 돌아가면, 서비스 사용자는 ITAP 세션을 설정하였고 음성 사서함 또는 호 기록의 어떤 것을 문의하였다. 서비스 사용자는 음성 메시지의 발송자 또는 호 기록에 기술된 번호를 호출하도록 선택한다(단계(6001)). 이 명세서에 앞서 기술한 바처럼 호 설정이 진행된다.
도 61을 이제 참조하면, IMS(1401)은 ITAP 세션을 시작하고 응용 버전은 SN(1409) 및 IMS(1401)에서 동일하다. 이미지 설명이 캐시에서 사용가능하다. EnquiryMailbox invoke를 발행하고(단계(6101)) 결과를 수신한 수(단계(6103)), IMS(1401)은 팩스를 수신하기 위해 SendMessage invoke를 발행한다(단계(6105)). 응답에서, 하나의 새 팩스 메시지가 전달된다(단계(6107)).
도 62 및 63을 참조하여 라우팅 표 갱신에 대해 상세하게 기술할 것이다, 도 62를 참조하면, 라우팅 표 중 하나가 SN(1409)로부터 검색되어 IMS(1401)의 서비스 사용자에게 디스플레이된다(단계(6101, 6203, 6205, 6207)). 서비스 사용자는 라우팅 표를 변경하고 표는 SN(1409)에 저장된다(단계(6211)).
도 63을 참조하면, SN(1409)는 사용가능 라우팅 표에 대해 문의된다(단계(6301 및 6303)). 서비스 사용자는 한 라우팅 표를 선택하고 그 라우팅 표는 SetActiveRoutingTable invoke를 발행하는 IMS(1401)에 의해 활성화된다.(단계(6305)).
ITAP을 사용하는 새 메시지 통지에 대해 도 64를 참조하여 기술할 것이다. 보통 SMS가 통지 매체로서 사용된다. 그러나, ITAP/USSD를 새 메시지에 대한 통지 매체로서 사용하여, 서비스 사용자는 이 설정된 ITAP 세션 내의 사서함을 즉시 문의할 수 있다. SN(1409)는 세 메시지에 대해 IMS(1401)에게 얼러트한다(단계(6401)). 이 경우, IMS 응용 버전은 SN(1409)의 응용 버전과 동일하고 시작 이미지 설명은 캐시 메모리에서 사용가능하다. 새 메시지에 대한 정보는 SN(1409)로부터 페치된다(단계(6403 및 6405)). 서비스 사용자는 사서함 문의에 의해 계속한다(단계(6407 및 6409)). 세션은 도 58 내지 61 및 수반하는 텍스트에서 기술한 바대로 계속된다.
본 발명이 특정한 예로 기술되고 예시되었지만, 본 개시는 예시로서만 제시된 것이고, 본 기술의 숙련자는, 부분의 결합 및 배열에서의 많은 변화가 청구된 본 발명의 사상 및 범위로부터 벗어나지 않고 존재할 수 있다는 것을 알 수 있을 것이다. 양호한 실시예는 단지 도시적인 것이고 어떤 방식으로든 한정적인 것으로 고려되지 않아야 한다. 본 발명의 범위는 상기 기술이 아닌 첨부된 청구의 범위에 의해서 주어지고, 청구의 범위의 범위 안에 드는 모든 변형 및 등가물이 그것에 포함되는 것으로 고려된다.

Claims (73)

  1. 한정된 대역폭 통신 수단(limited bandwidth communications means)에 의해 지능형 단말(intelligent terminal)에 연결된 서비스 노드(service node)를 포함하는 통신 시스템에서, 지능형 단말 사용자에게 서비스를 제공하는 방법에 있어서,
    서비스 노드에서, 프리미티브(primitive)를 판단하기 위해 이벤트(event)를 분석하는 단계,
    메시지(message) - 상기 메시지는 지능형 단말이 프리미티브에 해당하는 루틴(routine)을 실행하도록 명령함 - 를 지능형 단말로 전송하기 위해 한정된 대역폭 통신 수단을 사용하는 단계, 및
    지능형 단말에서, 프리미티브에 해당하는 루틴을 실행하여 메시지에 응답하는 단계
    를 포함하되,
    상기 지능형 단말로 메시지를 전송하는 단계는 대화 연결(speech connection)이 상기 한정된 대역폭 통신 수단 상에 설정되는지에 상관없이 수행되는 것을 특징으로 하는 지능형 단말 사용자에게 서비스를 제공하는 방법.
  2. 제1항에 있어서, 상기 메시지는 파라메터(parameter)를 더 포함하고, 상기 프리미티브에 해당하는 루틴을 실행하는 단계는 수신된 파라메터를 사용하는 단계를 포함하는 것을 특징으로 하는 지능형 단말 사용자에게 서비스를 제공하는 방법.
  3. 제1항에 있어서, 상기 루틴을 실행하는 단계는 지능형 단말 사용자에게 정보를 제공하는 단계를 포함하는 것을 특징으로 하는 지능형 단말 사용자에게 서비스를 제공하는 방법.
  4. 제1항에 있어서, 상기 루틴을 실행하는 단계는 지능형 단말의 상태(state)를 변경하는 단계를 포함하는 것을 특징으로 하는 지능형 단말 사용자에게 서비스를 제공하는 방법.
  5. 제1항에 있어서, 상기 이벤트는 지능형 단말로부터의 메시지 수신이고, 상기 메시지는 사용자가 지능형 단말의 맨 머신 인터페이스(man-machine interface)를 활성화하였음을 표시하는 것을 특징으로 하는 지능형 단말 사용자에게 서비스를 제공하는 방법.
  6. 제1항에 있어서, 상기 이벤트는 지능형 단말에 영향을 주는 어떤 일의 발생에 대한 서비스 노드에 의한 감지(detection)인 것을 특징으로 하는 지능형 단말 사용자에게 서비스를 제공하는 방법.
  7. 제6항에 있어서, 상기 발생은 지능형 단말로 향하는 도입호(incoming call)인 것을 특징으로 하는 지능형 단말 사용자에게 서비스를 제공하는 방법.
  8. 제1항에 있어서, 상기 지능형 단말에서, 상기 프리미티브에 해당하는 루틴을 실행하여 메시지에 응답하는 단계는,
    상기 지능형 단말에서, 상기 루틴의 실행이 지능형 단말에 현재 저장되어 있지 않은 상태표(state table)의 존재를 판단하는 단계,
    상기 지능형 단말로부터 서비스 노드로 메시지 - 상기 메시지는 상태표를 요청함 - 를 전송하기 위해 상기 한정된 대역폭 통신 수단을 사용하는 단계,
    상기 요청된 상태표를 상기 서비스 노드로부터 지능형 단말로 전송하기 위해 상기 한정된 대역폭 통신 수단을 사용하는 단계, 및
    상기 지능형 단말에서, 상기 루틴을 실행하기 위해 수신된 상태표를 사용하는 단계
    를 포함하는 것을 특징으로 하는 지능형 단말 사용자에게 서비스를 제공하는 방법.
  9. 제1항에 있어서, 상기 지능형 단말에서, 상기 서비스 노드와의 통신없이 상기 지능형 단말과 상기 사용자 사이에서 메뉴 처리(menu-handling) 입력 및 출력 기능을 수행하는 단계를 더 포함하는 것을 특징으로 하는 지능형 단말 사용자에게 서비스를 제공하는 방법.
  10. 제1항에 있어서, 제공되고 있는 서비스와 독립적인 맨 머신 인터페이스(man-machine interface) 방식에 따라 상기 지능형 단말 사용자 입력 및 출력 기능을 제어하는 단계를 더 포함하는 것을 특징으로 하는 지능형 단말 사용자에게 서비스를 제공하는 방법.
  11. 한정된 대역폭 통신 수단을 써서 지능형 단말에 연결된 서비스 노드를 포함하는 통신 시스템에서, 지능형 단말 사용자에게 서비스를 제공하는 방법에 있어서,
    상기 지능형 단말에서, 취해질 행동(action)을 판단하기 위해 이벤트(event)를 분석하는 단계,
    동작(operation) - 상기 동작은 취해질 행동에 해당하고 서비스 노드가 동작에 해당하는 루틴을 실행하도록 명령함 - 을 상기 서비스 노드로 전송하기 위해 상기 한정된 대역폭 통신 수단을 사용하는 단계, 및
    상기 서비스 노드에서, 상기 동작에 해당하는 행동을 수행하고, 상기 한정된 대역폭 통신 수단을 통해 지능형 단말로 동작 결과를 리턴하는 단계
    를 포함하되,
    상기 서비스 노드로 동작을 전송하는 단계는 대화 연결이 상기 한정된 대역폭 통신 수단 상에 설정된 것에 독립적으로 수행되는 것을 특징으로 하는 지능형 단말 사용자에게 서비스를 제공하는 방법.
  12. 제11항에 있어서, 상기 지능형 단말에서, 상기 한정된 대역폭 통신 수단을 통해 서비스 노드와 제1 세션을 시작하는 단계를 더 포함하는 것을 특징으로 하는 지능형 단말 사용자에게 서비스를 제공하는 방법.
  13. 제12항에 있어서, 상기 지능형 단말에서, 상기 한정된 대역폭 통신 수단을 통해 서비스 노드와 제1 세션을 시작하는 단계는 상기 지능형 단말에서의 도입 호 감지에 대한 응답으로 수행되는 것을 특징으로 하는 지능형 단말 사용자에게 서비스를 제공하는 방법.
  14. 제12항에 있어서, 상기 지능형 단말에서, 상기 한정된 대역폭 통신 수단을 통해 서비스 노드와 제1 세션을 시작하는 단계는 사용자가 상기 지능형 단말의 맨 머신 인터페이스를 활성화하였음을 감지 응답하여 수행되는 것을 특징으로 하는 지능형 단말 사용자에게 서비스를 제공하는 방법.
  15. 제11항에 있어서, 상기 서비스 노드에서, 상기 한정된 대역폭 통신 수단을 통해 지능형 단말과 제1 세션을 시작하는 단계를 더 포함하는 것을 특징으로 하는 지능형 단말 사용자에게 서비스를 제공하는 방법.
  16. 제15항에 있어서, 상기 서비스 노드에서, 상기 한정된 대역폭 통신 수단을 통해 지능형 단말과 제1 세션을 시작하는 단계는 상기 지능형 단말에서 지향된 이벤트의 감지에 대한 응답으로 수행되는 것을 특징으로 하는 지능형 단말 사용자에게 서비스를 제공하는 방법.
  17. 제12항에 있어서, 상기 한정된 대역폭 통신 수단을 통해 서비스 노드와 제1 세션을 시작하는 단계는 상기 지능형 단말 및 서비스 노드에 의해 사용될 자원이 서로 일관성 있는 것을 보장하기 위해 상기 지능형 단말과 서비스 노드 사이에서 협상(negotiating)하는 단계를 포함하는 것을 특징으로 하는 지능형 단말 사용자에게 서비스를 제공하는 방법.
  18. 제12항에 있어서, 상기 한정된 대역폭 통신 수단을 통해 서비스 노드와 제1 세션을 시작하는 단계는 상기 지능형 단말과 서비스 노드 사이의 통신에서 사용될 코딩 형태를 표시하는 단계를 포함하는 것을 특징으로 하는 지능형 단말 사용자에게 서비스를 제공하는 방법.
  19. 제18항에 있어서, 상기 코딩 형태는 기본 인코딩 규칙(Basic Encoding Rules)인 것을 특징으로 하는 지능형 단말 사용자에게 서비스를 제공하는 방법.
  20. 제18항에 있어서, 상기 코딩 형태는 패킹된 인코딩 규칙(Packed Encoding Rules)인 것을 특징으로 하는 지능형 단말 사용자에게 서비스를 제공하는 방법.
  21. 제12항에 있어서, 상기 제1 세션을 유지한 채로 상기 지능형 단말과 서비스 노드 사이에 제2 세션을 시작하는 단계를 더 포함하는 것을 특징으로 하는 지능형 단말 사용자에게 서비스를 제공하는 방법.
  22. 제11항에 있어서, 상기 서비스 노드로부터 지능형 단말로 이미지 설명(image description) - 상기 이미지 설명은 상기 지능형 단말에 의해 수행될 동작을 정의함 - 을 전송하는 단계를 더 포함하는 것을 특징으로 하는 지능형 단말 사용자에게 서비스를 제공하는 방법.
  23. 제11항에 있어서, 상기 서비스 노드로부터 지능형 단말로 이미지 설명 - 상기 이미지 설명은 상기 지능형 단말 사용자에 의해 공급될 정보를 정의함 - 을 전송하는 단계를 더 포함하는 것을 특징으로 하는 지능형 단말 사용자에게 서비스를 제공하는 방법.
  24. 제11항에 있어서, 상기 서비스 노드로부터 지능형 단말로 이미지 설명 - 상기 이미지 설명은 지능형 단말의 이벤트 감지에 응답하여 지능형 단말에 의해 수행될 하나 이상의 단계를 정의함 - 을 전송하는 단계를 더 포함하는 것을 특징으로 하는 지능형 단말 사용자에게 서비스를 제공하는 방법.
  25. 제24항에 있어서, 상기 이미지 설명은 상기 지능형 단말 사용자에게 공급될 정보를 정의하는 것을 특징으로 하는 지능형 단말 사용자에게 서비스를 제공하는 방법.
  26. 제11항에 있어서, 상기 서비스 노드로부터 지능형 단말로 이미지 설명 - 상기 이미지 설명은 상기 지능형 단말의 이벤트 감지에 응답하여 지능형 단말에 의해 수행될 하나 이상의 단말 기능을 정의함 - 을 전송하는 단계를 더 포함하는 것을 특징으로 하는 지능형 단말 사용자에게 서비스를 제공하는 방법.
  27. 제11항에 있어서, 상기 서비스 노드로 동작을 전송하기 위해 상기 한정된 대역폭 통신 수단을 사용하는 단계는 동작을 "비구조 부가 서비스 데이터" 프로토콜 데이터 유닛("Unstructured Supplementary Service Data" protocol data unit)으로 매핑하는 단계를 포함하는 것을 특징으로 하는 지능형 단말 사용자에게 서비스를 제공하는 방법.
  28. 제11항에 있어서, 상기 서비스 노드로 동작을 전송하기 위해 한정된 대역폭 통신 수단을 사용하는 단계는 상기 동작을 두 개 이상의 "비구조 부가 서비스 데이터(Unstructured Supplementary Service Data)" 프로토콜 데이터 유닛(protocol data unit)으로 매핑(mapping)하는 단계를 포함하는 것을 특징으로 하는 지능형 단말 사용자에게 서비스를 제공하는 방법.
  29. 제11항에 있어서, 상기 서비스 노드로 동작을 전송하기 위해 한정된 대역폭 통신 수단을 사용하는 단계는 상기 동작을 짧은 메시지 서비스(Short Message Service) 프로토콜 데이터 유닛으로 매핑하는 단계를 포함하는 것을 특징으로 하는 지능형 단말 사용자에게 서비스를 제공하는 방법.
  30. 제11항에 있어서, 상기 서비스 노드로 동작을 전송하기 위해 한정된 대역폭 통신 수단을 사용하는 단계는 상기 동작을 보다 낮은 레이어 프로토콜(lower layer protocol)의 프로토콜 데이터 유닛으로 매핑하는 단계를 포함하는 것을 특징으로 하는 지능형 단말 사용자에게 서비스를 제공하는 방법.
  31. 제30항에 있어서, 보다 낮은 레이어 프로토콜의 서비스 제공자와 연관된 타임아웃(timeout)의 발생을 방지하기 위해서 동작을 지능형 단말로부터 서비스 노드로 전송하는 단계를 더 포함하는 것을 특징으로 하는 지능형 단말 사용자에게 서비스를 제공하는 방법.
  32. 제30항에 있어서, 상기 동작은 응용 프로토콜 서비스 제공자와 연관되고, 상기 서비스를 제공하는 방법은 보다 낮은 레이어 프로토콜의 서비스 제공자와 연관된 타임아웃의 발생을 방지하기 위해서 응용 프로토콜 서비스를 종료하고 재설정하는 단계를 더 포함하는 것을 특징으로 하는 지능형 단말 사용자에게 서비스를 제공하는 방법.
  33. 제11항에 있어서, 상기 서비스 노드로 동작을 전송하기 위해 한정된 대역폭 통신 수단을 사용하는 단계는 동작을 보다 낮은 레이어 프로토콜의 두 개 이상의 프로토콜 데이터 유닛으로 매핑하는 단계를 포함하는 것을 특징으로 하는 지능형 단말 사용자에게 서비스를 제공하는 방법.
  34. 제11항에 있어서, 서비스 노드로부터 지원없이 상기 지능형 단말에서 국지적 서비스 기능(local service function)을 수행하는 단계를 더 포함하는 것을 특징으로 하는 지능형 단말 사용자에게 서비스를 제공하는 방법.
  35. 제11항에 있어서, 상기 서비스 노드에서, 상기 지능형 단말로 한정된 대역폭 통신 수단을 통해 동작 결과를 리턴하는 단계는 결과를 보다 낮은 레이어 프로토콜의 두 개 이상의 프로토콜 데이터 유닛으로 매핑하는 단계를 포함하는 것을 특징으로 하는 지능형 단말 사용자에게 서비스를 제공하는 방법.
  36. 사용자에게 서비스를 제공하는 장치에 있어서,
    지능형 단말,
    서비스 노드, 및
    지능형 단말과 서비스 노드 사이에서 정보를 전달하기 위한 통신 수단을 포함하되,
    상기 지능형 단말은,
    A) 상기 서비스 노드에 위치한 서비스 노드 베어러 서비스 제공자(service mode bearer service provider)와 프로토콜 데이터 유닛을 교환하기 위해 통신 수단에 결합된 단말 베어러 서비스 제공자(terminal bearer service provider),
    B) 상기 서비스 노드에 위치한 서비스 노드 응용 프로토콜 서비스 제공자(service node application protocol provider)와 제1세션을 설정하기 위해 단말 베어러 서비스 제공자를 사용하고, 단말 베어러 서비스 제공자가 대화 연결을 통신 수단 상에 설정할 것을 요구하지 않고 서비스 노드 응용 프로토콜 서비스 제공자와 동작을 교환하기 위한 단말 응용 프로토콜 서비스 제공자(terminal application protocol service provider), 및
    C) 사용자에게 국지적 서비스를 제공하고 서비스 노드 서비스 응용에 의해 수행될 원격 사용자 서비스(remote user service)를 시동(invoke)하기 위해 단말 응용 프로토콜 서비스 제공자를 사용하기 위한 단말 서비스 응용을 포함하고,
    상기 서비스 노드는
    a) 상기 통신 수단에 결합되고, 지능형 단말에 위치한 지능형 단말 베어러 서비스 제공자와 프로토콜 데이터 유닛을 교환하기 위한 서비스 노드 베어러 서비스 제공자,
    b) 상기 지능형 단말에 위치한 단말 응용 프로토콜 서비스 제공자와 제1세션을 설정하기 위해 서비스 노드 베어러 서비스 제공자를 사용하고, 서비스 노드 베어러 서비스 제공자가 통신 수단 상에 대화 연결을 설정할 것을 요구함 없이 단말 응용 프로토콜 서비스 제공자와 동작을 교환하기 위한 서비스 노드 응용 프로토콜 서비스 제공자, 및
    c) 원격 서비스를 수행하고 단말 서비스 응용에 원격 서비스의 결과를 공급하기 위해 서비스 노드 응용 프로토콜 서비스 제공자를 사용하기 위한 서비스 노드 서비스 응용을
    포함하는 것을 특징으로 하는 사용자에게 서비스를 제공하는 장치.
  37. 제36항에 있어서, 상기 단말 서비스 응용은 이미지 설명 해석기인 것을 특징으로 하는 사용자에게 서비스를 제공하는 장치.
  38. 제37항에 있어서, 상기 서비스 노드 응용 프로토콜 서비스 제공자는 이미지 설명을 단말 응용 프로토콜 서비스 제공자에게 전송하기 위한 수단을 포함하고,
    상기 단말 응용 프로토콜 서비스 제공자는 상기 이미지 설명을 수신하고 이미지 설명 해석기로 이미지 설명을 공급하기 위한 수단을 포함하는 것을 특징으로 하는 사용자에게 서비스를 제공하는 장치.
  39. 제38항에 있어서, 상기 이미지 설명은 상기 지능형 단말에 의해 수행될 동작을 정의하는 것을 특징으로 하는 사용자에게 서비스를 제공하는 장치.
  40. 제38항에 있어서, 상기 이미지 설명은 상기 지능형 단말의 사용자에게 공급될 정보를 정의하는 것을 특징으로 하는 사용자에게 서비스를 제공하는 장치.
  41. 제38항에 있어서, 상기 이미지 설명은 상기 지능형 단말에서의 이벤트 감지에 응답하여 지능형 단말에 의해 수행될 하나 이상의 단계를 정의하는 것을 특징으로 하는 사용자에게 서비스를 제공하는 장치.
  42. 제41항에 있어서, 상기 이미지 설명은 상기 지능형 단말의 사용자에게 공급될 정보를 더 정의하는 것을 특징으로 하는 사용자에게 서비스를 제공하는 장치.
  43. 제38항에 있어서, 상기 이미지 설명은 상기 지능형 단말에서의 이벤트 감지에 응답하여 지능형 단말에 의해 수행될 하나 이상의 국지적 단말 기능을 정의하는 것을 특징으로 하는 사용자에게 서비스를 제공하는 장치.
  44. 제36항에 있어서, 상기 단말 응용 프로토콜 서비스 제공자는 상기 지능형 단말에서의 도입호 감지에 응답하여 제1세션을 설정하는 것을 특징으로 하는 사용자에게 서비스를 제공하는 장치.
  45. 제36항에 있어서, 상기 단말 응용 프로토콜 서비스 제공자는 사용자가 지능형 단말의 맨 머신 인터페이스를 활성화하였음의 감지에 응답하여 제1세션을 설정하는 것을 특징으로 하는 사용자에게 서비스를 제공하는 장치.
  46. 제36항에 있어서, 상기 서비스 노드 응용 프로토콜 서비스 제공자는 상기 지능형 단말에서 지향된 이벤트의 감지에 응답하여 단말 응용 프로토콜 서비스 제공자와 제1세션을 설정하는 것을 특징으로 하는 사용자에게 서비스를 제공하는 장치.
  47. 제36항에 있어서, 상기 단말 응용 프로토콜 서비스 제공자는 상기 지능형 단말 및 서비스 노드에 의해 사용될 자원이 서로 일관성 있을 것을 보장하기 위해 서비스 노드 응용 프로토콜 서비스 제공자와 협상하는 수단을 포함하는 것을 특징으로 하는 사용자에게 서비스를 제공하는 장치.
  48. 제36항에 있어서, 상기 단말 응용 프로토콜 서비스 제공자는 상기 서비스 노드 응용 프로토콜 서비스 제공자에게 지능형 단말과 서비스 노드 사이의 통신에서 사용될 코딩 형태를 표시하는 수단을 포함하는 것을 특징으로 하는 사용자에게 서비스를 제공하는 장치.
  49. 제48항에 있어서, 상기 코딩 형태는 기본 인코딩 규칙(Basic Encoding Rules)인 것을 특징으로 하는 사용자에게 서비스를 제공하는 장치.
  50. 제48항에 있어서, 상기 코딩 형태는 패킹된 인코딩 규칙(Packed Encoding Rules)인 것을 특징으로 하는 사용자에게 서비스를 제공하는 장치.
  51. 제36항에 있어서, 상기 단말 응용 프로토콜 서비스 제공자는 상기 제1세션을 유지한 채로 서비스 노드 응용 프로토콜 서비스 제공자와 제2세션을 설정하기 위한 수단을 더 포함하는 것을 특징으로 하는 사용자에게 서비스를 제공하는 장치.
  52. 제36항에 있어서, 상기 단말 응용 프로토콜 서비스 제공자는 동작을 두 개 이상의 프로토콜 데이터 유닛으로 매핑하여 단말 베어러 서비스 제공자를 사용하는 것을 특징으로 하는 사용자에게 서비스를 제공하는 장치.
  53. 제52항에 있어서, 상기 단말 응용 프로토콜 서비스 제공자는 상기 단말 및 서비스 노드 베어러 서비스 제공자와 연관된 타임아웃의 발생을 방지하기 위해 상기 지능형 단말로부터 서비스 노드로 동작을 전송하는 수단을 포함하는 것을 특징으로 하는 사용자에게 서비스를 제공하는 장치.
  54. 제52항에 있어서, 상기 단말 응용 프로토콜 서비스 제공자는 상기 단말 및 서비스 노드 베어러 서비스 제공자와 연관된 타임아웃의 발생을 방지하기 위해 상기 제1세션을 종료하고 재설정하는 수단을 포함하는 것을 특징으로 하는 사용자에게 서비스를 제공하는 장치.
  55. 제36항에 있어서, 상기 서비스 노드 응용 프로토콜 서비스 제공자는 응답을 두 개 이상의 프로토콜 데이터 유닛으로 매핑하여 상기 서비스 노드 베어러 서비스 제공자를 사용하는 것을 특징으로 하는 사용자에게 서비스를 제공하는 장치.
  56. 지능형 단말에 있어서,
    지능형 단말과 서비스 노드 사이에서 정보를 전달하기 위한 통신 수단에 지능형 단말응 결합하기 위한 결합 수단,
    상기 결합 수단에 연결되고, 서비스 노드에 위치한 서비스 노드 베어러 서비스 제공자와 프로토콜 데이터 유닛을 교환하기 위한 단말 베어러 서비스 제공자,
    상기 서비스 노드에 위치한 서비스 노드 응용 프로토콜 서비스 제공자과 제1세션을 설정하기 위해 단말 베어러 서비스 제공자를 사용하고, 단말 베어러 서비스 제공자가 대화 연결을 통신 수단 상에 설정할 것을 요구함없이 서비스 노드 베어러 서비스 제공자와 동작을 교환하기 위한 단말 응용 프로토콜 서비스 제공자, 및
    상기 국지적 서비스를 사용자에게 제공하고, 서비스 노드 서비스 응용에 의해 수행될 원격 서비스를 시동하기 위해 단말 응용 프로토콜 서비스 제공자를 사용하기 위한 단말 서비스 응용
    을 포함하는 것을 특징으로 하는 지능형 단말.
  57. 제56항에 있어서, 상기 단말 서비스 응용은 이미지 설명 해석기인 것을 특징으로 하는 지능형 단말.
  58. 제57항에 있어서, 상기 단말 응용 프로토콜 서비스 제공자는 서비스 노드 응용 프로토콜 서비스 제공자로부터 이미지 설명을 수신하고 이미지 설명 해석기로 이미지 설명을 공급하기 위한 수단을 포함하는 것을 특징으로 하는 지능형 단말.
  59. 제58항에 있어서, 상기 이미지 설명은 지능형 단말에 의해 수행될 동작을 정의하는 것을 특징으로 하는 지능형 단말.
  60. 제58항에 있어서, 상기 이미지 설명은 지능형 단말의 사용자에게 공급될 정보를 정의하는 것을 특징으로 하는 지능형 단말.
  61. 제58항에 있어서, 상기 이미지 설명은 지능형 단말에서의 이벤트의 감지에 응답하여 지능형 단말에 의해 수행될 하나 이상의 단계를 정의하는 것을 특징으로 하는 지능형 단말.
  62. 제61항에 있어서, 상기 이미지 설명은 지능형 단말의 사용자에게 공급될 정보를 더 정의하는 것을 특징으로 하는 지능형 단말.
  63. 제58항에 있어서, 상기 이미지 설명은 지능형 단말에서의 이벤트의 감지에 응답하여 지능형 단말에 의해 수행될 하나 이상의 국지적 단말 기능을 정의하는 것을 특징으로 하는 지능형 단말.
  64. 제56항에 있어서, 상기 단말 응용 프로토콜 서비스 제공자는 지능형 단말에서 도입호의 감지에 응답하여 제1세션을 설정하는 것을 특징으로 하는 지능형 단말.
  65. 제56항에 있어서, 상기 단말 응용 프로토콜 서비스 제공자는 사용자가 지능형 단말의 맨 머신 인터페이스를 활성화하였음을 감지 응답하여 제1세션을 설정하는 것을 특징으로 하는 지능형 단말.
  66. 제56항에 있어서, 상기 단말 응용 프로토콜 서비스 제공자는 상기 지능형 단말과 서비스 노드에 의해 사용될 자원이 일관성 있을 것을 보장하기 위해 상기 서비스 노드 응용 프로토콜 서비스 제공자와 협상하는 수단을 포함하는 것을 특징으로 하는 지능형 단말.
  67. 제56항에 있어서, 상기 단말 응용 프로토콜 서비스 제공자는 상기 서비스 노드 응용 프로토콜 서비스 제공자에게 지능형 단말과 서비스 노드 사이의 통신에서 사용될 코딩 형태를 표시하는 수단을 포함하는 것을 특징으로 하는 지능형 단말.
  68. 제67항에 있어서, 상기 코딩 형태는 기본 인코딩 규칙(Basic Encoding Rules)인 것을 특징으로 하는 지능형 단말.
  69. 제67항에 있어서, 상기 코딩 형태는 패킹된 인코딩 규칙(Packed Encoding Rules)인 것을 특징으로 하는 지능형 단말.
  70. 제56항에 있어서, 상기 단말 응용 프로토콜 서비스 제공자는 상기 제1세션을 유지한 채로 서비스 노드 응용 프로토콜 서비스 제공자와 제2세션을 설정하기 위한 수단을 더 포함하는 것을 특징으로 하는 지능형 단말.
  71. 제56항에 있어서, 상기 단말 응용 프로토콜 서비스 제공자는 동작을 두 개이상의 프로토콜 데이터 유닛으로 매핑하여 단말 베어러 서비스 제공자를 사용하는 것을 특징으로 하는 지능형 단말.
  72. 제71항에 있어서, 상기 단말 응용 프로토콜 서비스 제공자는 상기 단말 및 서비스 노드 베어러 서비스 제공자와 연관된 타임아웃의 발생을 방지하기 위해서 지능형 단말로부터 서비스 노드로 동작을 전송하는 수단을 포함하는 것을 특징으로 하는 지능형 단말.
  73. 제71항에 있어서, 상기 단말 응용 프로토콜 서비스 제공자는 상기 단말 및 서비스 노드 베어러 서비스 제공자와 연관된 타임아웃의 발생을 방지하기 위해서 제1세션을 종료하고 재설정하는 수단을 포함하는 것을 특징으로 하는 지능형 단말.
KR1019997006117A 1997-01-06 1997-12-30 지능형 단말 애플리케이션 프로토콜 KR100592451B1 (ko)

Applications Claiming Priority (9)

Application Number Priority Date Filing Date Title
US78200697A 1997-01-06 1997-01-06
US8/782,006 1997-01-06
US08/782,006 1997-01-06
US3617097P 1997-01-29 1997-01-29
US60/036,170 1997-01-29
US8/825,177 1997-03-27
US08/825,177 1997-03-27
US08/825,177 US6055424A (en) 1997-01-29 1997-03-27 Intelligent terminal application protocol
PCT/SE1997/002217 WO1998031172A1 (en) 1997-01-06 1997-12-30 Intelligent terminal application protocol

Publications (2)

Publication Number Publication Date
KR20000069905A true KR20000069905A (ko) 2000-11-25
KR100592451B1 KR100592451B1 (ko) 2006-06-22

Family

ID=27364982

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019997006117A KR100592451B1 (ko) 1997-01-06 1997-12-30 지능형 단말 애플리케이션 프로토콜

Country Status (13)

Country Link
EP (1) EP1005762B1 (ko)
JP (1) JP4301377B2 (ko)
KR (1) KR100592451B1 (ko)
CN (1) CN1235421C (ko)
AU (1) AU732466B2 (ko)
BR (1) BR9714265B1 (ko)
CA (1) CA2277090C (ko)
DE (1) DE69736492T2 (ko)
EE (1) EE9900269A (ko)
HK (1) HK1028155A1 (ko)
ID (1) ID25836A (ko)
NO (1) NO993152L (ko)
WO (1) WO1998031172A1 (ko)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SE513098C2 (sv) * 1998-11-16 2000-07-10 Ericsson Telefon Ab L M Mobilstation, utrustning för anslutning till mobilstation, växelsystem i mobilkommunikationsystem samt mobilkommunikationsystem
EP1003096A1 (en) * 1998-11-19 2000-05-24 Alcatel Mediation device development method
FR2810841B1 (fr) * 2000-06-22 2005-07-29 Bull Cp8 Procede pour le traitement et la transmission de donnees numeriques sur un reseau de telephonie mobile, notamment a la norme "gsm", et systeme embarque a puce electronique
US7418254B2 (en) * 2001-02-20 2008-08-26 Microsoft Corporation Mobile communication device dynamic service application and dynamic service application scripting
JP2005502943A (ja) * 2001-08-14 2005-01-27 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ デバイスをプログラムするためのプログラミング情報を提供するための方法とシステム
US7039398B2 (en) * 2002-08-30 2006-05-02 Qualcomm Incorporated Server processing of interactive screens for a wireless device
JP4537147B2 (ja) * 2004-08-06 2010-09-01 富士通株式会社 端末装置、メッセージ表示方法及びメッセージ表示プログラム
JP4490460B2 (ja) * 2006-07-24 2010-06-23 三星電子株式会社 障害許容性を提供する方法及びハンドセットとそのシステム
US20080020752A1 (en) * 2006-07-24 2008-01-24 Webb Ronald J Fault Tolerant User Interface for Wireless Device
US20090169171A1 (en) * 2007-12-27 2009-07-02 Motorola, Inc. Methods and devices for coordinating functions of multimedia devices
CN101631293B (zh) * 2009-08-11 2012-01-11 中兴通讯股份有限公司 一种实现非结构化补充数据业务的方法及装置
CN101860848B (zh) * 2010-06-11 2016-01-20 中兴通讯股份有限公司 向用户设备提供服务业务的方法及系统
JP5438043B2 (ja) * 2011-02-09 2014-03-12 株式会社Nttドコモ 移動局、通信アプリケーション及び移動通信方法
CN107835330A (zh) * 2017-11-29 2018-03-23 天津光电通信技术有限公司 一种电话线路检测设备
CN114374769A (zh) * 2021-12-01 2022-04-19 恒安嘉新(北京)科技股份公司 一种异常号码的获取方法、装置、服务器和存储介质

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB9206679D0 (en) * 1992-03-27 1992-05-13 Hutchison Microtel Limited Mobile terminals and mobile communication networks involving such terminals
EP0717570A3 (de) * 1994-12-12 2000-01-05 Siemens Aktiengesellschaft Verfahren zur Nutzung von nicht-anrufbezogenen Diensten durch Netzteilnehmer eines Kommunikationsnetzes
US5752188A (en) * 1994-12-23 1998-05-12 Telefonaktiebolaget Lm Ericsson Unstructured supplementary service data from a home location register to an external node
DE19520632C2 (de) * 1995-06-06 1997-09-04 Siemens Ag Verfahren und Anordnung zum Rufen eines Teilnehmers über ein Mobilfunknetz
EP0772367A3 (de) * 1995-09-07 1999-05-06 Siemens Aktiengesellschaft Mobilfunksystem

Also Published As

Publication number Publication date
CA2277090A1 (en) 1998-07-16
BR9714265A (pt) 2000-04-18
JP4301377B2 (ja) 2009-07-22
EP1005762A1 (en) 2000-06-07
EP1005762B1 (en) 2006-08-09
AU5582698A (en) 1998-08-03
CN1235421C (zh) 2006-01-04
AU732466B2 (en) 2001-04-26
CN1254482A (zh) 2000-05-24
WO1998031172A1 (en) 1998-07-16
DE69736492D1 (de) 2006-09-21
DE69736492T2 (de) 2007-03-15
BR9714265B1 (pt) 2011-10-04
NO993152D0 (no) 1999-06-24
JP2001507899A (ja) 2001-06-12
EE9900269A (et) 2000-02-15
NO993152L (no) 1999-09-06
CA2277090C (en) 2007-04-24
ID25836A (id) 2000-11-09
KR100592451B1 (ko) 2006-06-22
HK1028155A1 (en) 2001-02-02

Similar Documents

Publication Publication Date Title
US6055424A (en) Intelligent terminal application protocol
KR100310376B1 (ko) 개인통신 인터네트워킹
US5742905A (en) Personal communications internetworking
US7107068B2 (en) System and method for provisioning of text message services
KR101013256B1 (ko) 피호출자가 호출에 응답하지 않을 때 멀티미디어 메시지를전송하는 방법, 장치 및 시스템
KR100592451B1 (ko) 지능형 단말 애플리케이션 프로토콜
CA2451072C (en) Messaging system for directing a server to convert voice message into text and appending a converted text message to another converted text message
US6829474B1 (en) System for providing multimedia value-added services
EP1819137A1 (en) Method of providing an automatic reply message
US7684553B2 (en) Method for transmitting data in a communication network
US7586898B1 (en) Third party content for internet caller-ID messages
KR100417636B1 (ko) 전화 발신 중 링백톤 대체음을 이용하여 다른 부가서비스의 음원을 변경하는 방법 및 장치
KR20010085713A (ko) 공중 회선교환 전화 네트워크를 통한 공시 및 청취 선택전자 우편 서비스를 갖는 지능 네트워크 시스템
US11057517B2 (en) Method for managing a failure to establish a communication between a first and a second terminal
KR20040076362A (ko) 이동통신단말기의 메시지 처리방법
KR20020036603A (ko) 통합 메시징 시스템을 이용한 인터넷폰 서비스 시스템 및방법
KR100627630B1 (ko) 통화 연결 중에 멀티미디어 메시지를 전송하는 방법 및 장치
KR100710137B1 (ko) 무선 인터넷을 이용한 통화 내용 전송 방법
FI119674B (fi) Menetelmä, välitysjärjestelmä ja palvelupyyntöanalysaattori puheluiden ja viestien hallintaan
KR20030033571A (ko) 확장 발신자표시 서비스시스템 및 방법
KR20030056329A (ko) 제3세대 이동통신 시스템에서 오퍼레이터 특정 서비스와 단문 메시지 서비스를 연동한 부가 서비스 제공 시스템 및 그 방법
MXPA98007175A (en) Interconnection of networks for communications person

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130527

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20140528

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20150527

Year of fee payment: 10

LAPS Lapse due to unpaid annual fee