KR20050043021A - 무선 인터넷 플랫폼 상에 sip/imps 동적 연결라이브러리를 구비한 이동 통신 단말기 - Google Patents

무선 인터넷 플랫폼 상에 sip/imps 동적 연결라이브러리를 구비한 이동 통신 단말기 Download PDF

Info

Publication number
KR20050043021A
KR20050043021A KR1020030077739A KR20030077739A KR20050043021A KR 20050043021 A KR20050043021 A KR 20050043021A KR 1020030077739 A KR1020030077739 A KR 1020030077739A KR 20030077739 A KR20030077739 A KR 20030077739A KR 20050043021 A KR20050043021 A KR 20050043021A
Authority
KR
South Korea
Prior art keywords
sip
imps
standard
wireless internet
mobile communication
Prior art date
Application number
KR1020030077739A
Other languages
English (en)
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
Application filed by 텔코웨어 주식회사 filed Critical 텔코웨어 주식회사
Priority to KR1020030077739A priority Critical patent/KR20050043021A/ko
Publication of KR20050043021A publication Critical patent/KR20050043021A/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W80/00Wireless network protocols or protocol adaptations to wireless operation
    • H04W80/08Upper layer protocols
    • H04W80/10Upper layer protocols adapted for application session management, e.g. SIP [Session Initiation Protocol]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/02Terminal devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Telephonic Communication Services (AREA)

Abstract

본 발명은 SIP 스택 기능을 포함하는 무선 인터넷 플랫폼 상에 SIP/IMPS 동적 연결 라이브러리를 더 구비한 이동 통신 단말기에 관한 것으로, 본 발명에 의한 이동 통신 단말기는 핸드셋 하드웨어; 통신 기본 기능과 각종 디바이스 드라이버를 포함하는 네이티브 시스템 소프트웨어와 실시간 운영체제를 구비한 이동통신 단말기 기본 소프트웨어; WIPI 규격에 따른 표준 플랫폼에 하드웨어 적응 계층을 기반으로 구축되며 응용 프로그램이 접근할 수 있는 인터페이스 기능 모듈들과 대응하는 SIP 처리 기능 모듈들을 포함하는 SIP 스택을 더 구비한 무선 인터넷 표준 플랫폼; 응용 프로그램이 접근할 수 있는 SIP/IMPS API와 이에 대응하여 SIP 스택을 사용하여 인스턴트 메시징 클라이언트 디몬으로서의 역할을 수행하며 하나 이상의 IMPS/SIP 응용 프로그램들을 관리하고 지원하는 SIP 사용자 에이젼트를 구비한 SIP/IMPS 동적 연결 라이브러리; 및 하나 이상의 응용 프로그램들;을 포함하여 구성된다.

Description

무선 인터넷 플랫폼 상에 SIP/IMPS 동적 연결 라이브러리를 구비한 이동 통신 단말기{Mobile terminal having Session Initiation Protocol/Instant Messaging and Presence Service Dynamic Linking Library on wireless Internet platform}
본 발명은 무선 인터넷 플랫폼을 구비한 이동통신 단말기에 관한 것으로, 특히 SIP(Session Initiation Protocol) 스택 기능을 포함하는 무선 인터넷 플랫폼 상에 SIP/IMPS(Session Initiation Protocol/Instant Messaging and Presence Service) 동적 연결 라이브러리를 더 구비한 이동 통신 단말기에 관한 것이다.
TCP/IP(Transmission Control Protocol/Internet Protocol) 기술의 유선 인터넷은 웹의 등장과 더불어 기존의 단순 데이터 전송 기술에서 멀티미디어 전송 기술로 보편화되어 지난 10여 년간 급속하게 발전되고 확산되어 왔다. 한편, CDMA(Code-Division Multiple Access) 및 PCS(Personal Communications Services) 등과 같은 이동통신 및 전파통신 기술의 디지털화에 따라 음성통신 기술의 보편화 및 대중화가 이루어지고, 전파통신의 광역화에 따라 기존의 음성통신 기술이 데이터통신 기술로 전이되어 무선 인터넷이 등장하게 되었다. 무선 인터넷 기술은 초기에 WAP(Wireless Application Protocol), ME(Mobile Explorer), i-mode 등의 세 가지 기술로 발전하였으나, 이후 VM(Virtual Machine)과 네이티브 바이너리 방식의 이동통신 단말기 미들웨어 플랫폼으로 발전해가고 있다.
표 1은 국내 이동통신사업자들이 제공하는 무선 인터넷 플랫폼들을 리스트한 것이다.
그런데, 무선 인터넷의 경우에는 이동통신 사업자를 중심으로 이동통신망이 구축되어 있으므로 다수의 ISP(Internet Service Provider)가 하나의 접속망을 이용하는 유선 인터넷에 비하여 그 서비스가 폐쇄적이고 독점적으로 이루어진다. 또한, 일반 이용자가 CP(Contents Provider)를 선택함에 있어 제약이 있고, 이동통신사와 CP 간의 수직적 계열화 현상이 뚜렷하게 나타나 무선 인터넷 시장의 활성화를 저해하고 있다.
이와 같은 환경에서, 이동통신 단말기용 응용 프로그램 개발자에게는 플랫폼 간 컨텐츠 호환성을 보장하고, 이동통신 단말기 개발자에게는 플랫폼의 이식의 용이성을 제공하며, 일반 이용자에게 다양하고 풍부한 컨텐츠 서비스의 제공할 수 있는 무선 인터넷 표준 플랫폼 규격에 대한 요구가 발생하였고, 그에 따라 WIPI(Wireless Internet Platform for Interoperability) 규격이 등장하게 되었다. 즉, WIPI는 한국무선 인터넷표준화 포럼의 무선 인터넷 플랫폼 표준이며 한국정보통신기술협회(TTA)에 의해 TTA단체 표준 TTAS.KO-06.0036으로 채택된 이동통신 단말기용 응용프로그램의 실행 환경에 대한 표준 규격이다.
도 1은 WIPI 규격을 채택한 무선통신 단말기의 계층 구조를 도시한 것이다. WIPI 규격을 채택한 무선 인터넷 표준 플랫폼(1)은 플랫폼 이식성을 높이기 위한 표준화된 하드웨어 추상화 계층인 HAL(Handset Adaptation Layer)(3)과 표준화된 플랫폼 호환성을 제공하여 다양한 응용 프로그램 개발을 촉진하기 위한 기본 응용 프로그래밍 인터페이스(Basic Application Programming Interface : 이하에서 "Basic API"라 함)(5)를 포함하여 구성된다. 플랫폼 개발언어로는 C 언어 및 자바 언어를 모두 지원하도록 규격화하여, 개발자의 참여 폭을 최대화하였다. 또한, 이동통신사업자의 서비스 차원의 차별화를 위해 규격을 필수 기능과 선택 기능으로 분류하였으며, 특히 동적 API(Application Programming Interface) 추가/갱신 기능을 따라 차별화된 API를 동적으로 제공할 수 있도록 하였다.
한편, IM(Instant Messanger)이란 특정한 어플리케이션이 사용자의 컴퓨터에 설치되어 미리 자신이 만들어 놓은 목록에 등재되어 있는 친구가 네트워크에 로그온 하였을 때, 그 사실을 사용자에게 알려주는 클라이언트 소프트웨어이다. 이것은 또한 어떤 친구가 메시지를 보내오면 그 사실을 알려주기도 한다. 여기서 미리 자신이 만들어 놓은 목록을 버디 리스트(Buddy List)라고 부른다. 즉, 버디 리스트(Buddy list)는 온라인상에서 연락하고 싶은 동료, 작업그룹 회원 또는 친구들의 목록을 말하며, 인스턴트 메신저 프로그램에서, 목록에 등재되어 있는 사람들이 네트워크에 접속했는지를 확인하는 용도로 자주 사용된다.
이와 같은 인스턴트 메시징(Instant Messanging)은 전화와 같은 신속성과 정확성, 실시간성 등을 모두 갖고 있고, 단문 텍스트뿐만 아니라 파일을 송수신하거나 음성데이터 혹은 화상 데이터 송수신도 가능하고, 실시간적으로 상대방 상태를 확인하여 메시지를 송수신하는 것이 가능하고, 버디 리스트들의 실시간 상태 확인이 가능하여, 친구와의 대화, 동호회 회원끼리의 정보교환, 미팅 등의 기본 기능 이외에 기업체 내의 간단한 문서 및 공지사항, 사내에서의 전화메모, 화상회의, 지식관리, 그룹웨어, 기업과 대리점간, 기업과 대학간, 대학과 각종 연구소간의 정보전달 체계 구축 등 기업환경에 적합한 각종 기능과 게임에 이르기까지 그 활용분야가 무궁무진하다.
다른 한편, SIP(Session Initiation Protocol)는 인터넷 기술 표준을 담당하는 IETF(Internet Engineering Task Force)에서 제정한 프로토콜로서, 하나 이상의 참가자와의 세션을 설정, 변경, 종료하기 위한 응용 계층의 신호/제어 프로토콜이라 할 수 있다.
SIP를 사용하면 다음과 같은 장점들이 있다.
첫째, App1이라는 서비스를 위해 사용자 A와 사용자 B 사이에 세션을 생성하는 경우, 기존에는 사용자 B의 호스트(Host)에 App1이 실행 중인 상태가 아니면 사용자 A가 App1을 실행하여 사용자 B에게 요청하는 세션 생성을 처리할 수가 없지만, SIP를 사용하면 사용자 B의 호스트(Host)에 App1이 실행 중인 상태가 아니더라도 세션 생성 요청을 받은 사용자 B의 SIP 스택이 App1을 구동하여 서비스가 이루어지게 할 수 있다.
둘째, 세션 생성 시에 IP(Internet Protocol) 주소와 같은 물리적 주소(Host, Machine 구분자)를 사용하는 것이 아니라 전자우편과 유사한 논리적 주소(사용자 구분자, 예를 들어 sip:kimjd@telcoware.com)를 사용한다. 논리적 주소의 라우팅은 SIP 계층에서 프록시(Proxy), 위치정보 서버(Location Server), 레지스트라(Registrar) 등이 담당한다. 이와 같은 논리적 주소의 사용은 사용자의 이동성(User Mobility)을 지원한다.
이와 같이 SIP를 사용하면 그 자체로 특정 응용 서비스가 제공되는 것은 아니지만 다양한 서비스를 구현할 수 있는 기반이 제공된다.
상기한 바와 같은 인스턴트 메시징 기능 및 SIP 기능은 인스턴트 메시징 서버(Instant Messaging Server : IM 서버), 프레즌스 서버(Presence Server), SIP 프록시(SIP Proxy), SIP 레지스트라(SIP Registrar) 및 PNA 게이트웨이 등으로 구성된 IMPS/SIP 인프라 시스템의 기반 위에서 각 이동통신 단말기가 IMPS/SIP(Instant Messaging and Presence Service/Session Initiation Protocol)를 채택함으로써 구현될 수 있다. 그런데, 종래의 기술에 의하면 이동통신 단말기의 각 응용 프로그램마다 별도로 IMPS/SIP 기능을 구현함으로써 자원의 효율성과 응용 프로그램 제작비용의 측면에서 매우 비효율적이다. 또한, 종래의 방식에 의하면 이동통신 단말기에서 수행되는 응용 프로그램의 전체적인 통제가 어려워진다.
본 발명은 상기의 문제점들을 해결하기 위하여 창안될 것으로서, 무선 인터넷 표준 플랫폼 상에서 인스턴트 메시징 관련 응용 프로그램들을 효율적으로 개발할 수 있고, 개발된 응용 프로그램들이 효율적으로 동작할 수 있도록 지원하는 무선 인터넷 플랫폼 상에 SIP/IMPS 동적 연결 라이브러리를 구비한 이동 통신 단말기를 제공함을 그 목적으로 한다.
상기의 목적들을 달성하기 위하여, 무선 인터넷 플랫폼 상에 SIP/IMPS 동적 연결 라이브러리를 구비한 본 발명에 의한 이동 통신 단말기는 핸드셋 하드웨어; 통신 기본 기능과 각종 디바이스 드라이버를 포함하는 네이티브 시스템 소프트웨어와 실시간 운영체제를 구비한 이동통신 단말기 기본 소프트웨어; WIPI 규격에 따른 표준 플랫폼에 하드웨어 적응 계층을 기반으로 구축되며 응용 프로그램이 접근할 수 있는 인터페이스 기능 모듈들과 대응하는 SIP 처리 기능 모듈들을 포함하는 SIP 스택을 더 구비한 무선 인터넷 표준 플랫폼; 응용 프로그램이 접근할 수 있는 SIP/IMPS API와 이에 대응하여 SIP 스택을 사용하여 인스턴트 메시징 클라이언트 디몬으로서의 역할을 수행하며 하나 이상의 IMPS/SIP 응용 프로그램들을 관리하고 지원하는 SIP 사용자 에이젼트를 구비한 SIP/IMPS 동적 연결 라이브러리; 및 하나 이상의 응용 프로그램들;을 포함하여 구성된다.
이하에서, 본 발명에 따른 무선 인터넷 플랫폼 상에 SIP/IMPS 동적 연결 라이브러리를 구비한 이동 통신 단말기에 대한 바람직한 실시예들을 첨부된 도면에 의거하여 상세하게 설명하기로 한다.
먼저, 본 발명에 의한 이동통신 단말기의 최소 권장 사양은 다음과 같다.
[디스플레이]
▶ 스크린 크기 : 95 x 54 이상
▶ 색상 : 회색조 4가지 이상 또는 천연색 256가지 이상
[입출력 장치]
▶ 입력 장치 : 키패드
▶ 사운드 장치 : 진동 및 비프음
▶ 네트워크 : 무선 및 시리얼을 통한 전송
[비휘발성(Non-Volatile) 메모리]
▶ 플랫폼 라이브러리가 사용할 수 있는 비휘발성 메모리 600KB 이상
▶ 응용프로그램 관리자 및 기본 응용프로그램에서 사용할 수 있는 비휘발성 메모리를 400KB 이상
▶ 응용프로그램이 사용 가능한 파일 시스템 공간으로 500KB 이상
[휘발성(Volatile) 메모리]
▶ 응용프로그램에서 사용 가능한 HEAP 영역으로 300KB 이상
▶ 플랫폼 라이브러리에서 사용 가능한 영역으로 20KB 이상
도 2는 본 발명에 의한 이동통신 단말기의 계층 구조를 도시한 것이다. 즉, 핸드셋 하드웨어(10) 상에서 이동통신 단말기 기본 소프트웨어(20)가 동작하고, 핸드셋 하드웨어(10)와 이동통신 단말기 기본 소프트웨어(20)의 기반 위에 무선 인터넷 표준 플랫폼(30)이 설치되어 동작하고, 각종 응용 프로그램들(52)은 무선 인터넷 표준 플랫폼(30)의 환경에서 플랫폼이 제공하는 각종 기능들의 지원을 받아 동작하게 된다. 한편, 인스턴트 메시징 클라이언트 메신저(54)를 비롯하여 SIP/IMPS를 활용하는 응용 프로그램들은 무선 인터넷 표준 플랫폼(30)이 제공하는 기능들 뿐만 아니라 SIP/IMPS 동적 연결 라이브러리(40)에 의해 제공되는 기능들을 활용함으로써, 응용 프로그램 개발자는 SIP 및 서비스 흐름, SIMPLE(인스턴트 메시징/프레즌스용 프로토콜)에 관한 세부 지식이 없어도 해당 응용 프로그램을 작성할 수 있게 된다.
여기서, 이동통신 단말기 기본 소프트웨어(20)는 단말기 제조사에서 임베디드 형태로 제공하는 것으로, 실시간 운영체제(Real Time Operating Systems)와 통신 기본 기능과 각종 디바이스 드라이버를 포함하는 네이티브 시스템 소프트웨어가 포함된다.
무선 인터넷 표준 플랫폼(30)은 WIPI 규격에 따른 하드웨어 적응 계층(Hardware Adaptation Layer : 이하 "HAL"이라 함)(36)과 Basic API(32)에 SIP 스택(34)이 추가로 포함된다.
HAL(36)은 플랫폼 이식에 있어서 하드웨어 독립성을 지원하기 위한 계층이다. 즉, HAL(36)을 통해 이동통신 단말기에 대한 추상화가 이루어지고, 하드웨어 독립적으로 플랫폼이 구성된다. 예를 들면, 국내 CDMA의 단말기의 경우 Qualcomm OS(REX) 위에 HAL(36)만을 포팅하면 단말기용 플랫폼이 되고, 윈도우즈는 HAL(36)만을 포팅하면 윈도우즈용 에뮬레이터(Emulator)가 된다. 따라서, 단말기 제조사가 한 번만 HAL API에 따라 구현해 두면, 다양한 플랫폼 구현이 빠른 시간 내에 포팅이 되는 장점이 있다.
Basic API(32)는 응용 프로그램 개발자가 사용할 수 있도록 플랫폼에서 지원하는 기본 API 모음으로서, C 및 자바 API로 구성되어 있다. C 및 자바 API는 기능면에서 동등한 API를 제공한다. 플랫폼 규격에서는 자바 언어용 응용 프로그램도 C언어 응용 프로그램과 마찬가지로 바이너리로 수행하도록 정하기 때문에 개발자는 선호하는 언어로 개발할 수 있다. 일반적으로 자바 언어로 대부분의 응용 프로그램을 제작할 수 있고, C 언어로는 속도에 아주 민감한 각종 멀티미디어 코덱이나 보안 모듈 등을 제작하는 것이 바람직하다.
한편, Basic API(32)는 다수의 응용 프로그램들(50)이 접근할 수 있는 인터페이스 기능들과 대응하는 기능 모듈들로 구성되어 있는 바, 이와 같은 기능 모듈에는 플랫폼을 운용하는 실시간 엔진(도시되지 않음)과 플랫폼 환경에서 동작하는 응용 프로그램들(50)을 관리하는 어플레케이션 매니져(도시되지 않음)가 포함된다.
도 3에 의하면, SIP 스택(34)은 HAL(36)을 기반으로 구축되며 응용 프로그램(50)이 접근할 수 있는 인터페이스 기능들(SIP 스택 API(341))과 대응하는 SIP 처리 기능 모듈들을 구비한다. 그러나, 이와 같은 구분은 기능적인 측면에 의한 것이고, SIP 스택 API(341)와 대응하는 SIP 처리 모듈들(342 내지 347)은 결합된 모듈의 형태로 구현될 수 있다.
이벤트 처리 기능을 위해 이벤트 핸들러(Event Handler)(342) 및 이벤트 폴러(Event Poller)(343)가 구비되는데, 이벤트 폴러(343)는 SIP 메시지 수신이나 에러 발생 등의 이벤트 발생 여부를 지속적으로 확인하는 기능을 수행하고, 이벤트 핸들러(342)는 이를 바탕으로 해당 이벤트를 처리하는 기능을 수행한다.
메시지 처리 기능을 위한 메시지 관리자(Message Manager)(344)는 SIP 프로토콜 규격에 따라 메시지 헤더(Header) 및 메시지 바디(Body)를 부호화(Encoding)하거나 복호화(Decoding)하는 기능을 제공한다.
SIP 표준에서는 Transport, Transaction, Dialog 라는 계층(Transport) 및 객체(Transaction, Dialog) 개념을 정의하고 있다. 트랜스포트 매니져(Transport Manager)(347), 트랜잭션 매니져(Transaction Manager)(346) 및 다이얼로그 매니져(Dialog Manager)(345)는 표준에 정의된 이러한 개념을 실현하고 지원, 관리하기 위한 기능 모듈들이다.
트랜스포트(Transport) 계층은 가장 하위 계층으로 실제 SIP 요청/응답(Request/Response) 메시지의 전송을 담당한다. 이 계층에서 이용되는 전송 계층 프로토콜로는 UDP, TCP, SCTP, TLS 등이 있다. 트랜스포트(Transport) 계층은 전송 방식 결정, 연결 설정, 연결 관리 등 이들 구체적 전송 계층 프로토콜과의 정합 기능을 수행한다.
SIP 트랜잭션(Transaction)은 SIP에서의 하나의 작업 단위 개념에 해당하는데, 요청(Request)부터 최종 응답(non-1xx: SIP의 모든 응답은 번호를 가진다. 1xx 응답이란 진행 중을 나타내는 중간 응답이며 나머지는 모두 최종 응답이다)까지의 일련의 메시지로 이루어진다.
다이얼로그(Dialog)는 두 개의 SIP UA(User Agent)간의 지속적 연관 관계 구성을 위한 개념이다. 다이얼로그(Dialog)를 통해 여러 개의 SIP 트랜잭션들이 이루어질 수 있다.
도 4에 의하면, SIP/IMPS 동적 연결 라이브러리(Dynamic Link Library : DLL)(40)는 인스턴트 메시징 클라이언트 메신저(54)를 비롯한 SIP/IMPS 활용 응용 프로그램들(56)이 접근할 수 있는 SIP/IMPS API(42)와 이에 대응하여 SIP 스택(34)을 사용하여 인스턴트 메시징 클라이언트 디몬으로서의 역할을 수행하며 하나 이상의 IMPS/SIP 응용 프로그램들(54, 56)을 관리하고 지원하는 SIP 사용자 에이젼트(User Agent : UA)(44)를 구비한다. SIP 사용자 에이젼트는 프레즌스/IM(43), 스택 매니저(44), 미디어(45) 등의 블록을 구비하는데, 여기서 프레즌스/IM(43)은 망 측에 존재하는 IM 및 프레즌스 서버와 연동하여 IM 및 프레즌스 정보 송, 수신 및 관리 기능을 제공하며, 스택 매니저(44)는 IMPS/SIP와 연계한 여러 개의 응용 프로그램이 존재하는 상황에서 일종의 SIP 처리 디몬으로서 이벤트 처리, 응용 프로그램 실행 등의 역할을 수행하며, 미디어(45)는 하부 멀티미디어 장치 제어에 관한 세부 지식을 몰라도 쉽게 SIP를 이용한 음성 및 화상 연결을 생성하고 제어할 수 있도록 한다.
부연하면, 본 발명에 의하면 추상화 수준, 구현 및 사용의 편의성을 고려하여 SIP API를 하위/상위 레벨로 구분하고, 하위 레벨에 SIP 스택(34)을 대응시키고, 상위 레벨에 SIP/IMPS 동적 연결 라이브러리(40)를 대응시키고 있다.
하위 레벨의 SIP API의 구성을 예시하면 다음과 같다.
< SIP 스택 초기화/해제 >
▶ SIP_InitializeStack(Configuration);
SIP Stack 초기화, SIP UA(User Agent)의 Port 설정이 필요함
▶ SIP_ReleaseStack()
SIP Stack 해제
< Callback 함수 등록 >
▶ SIP_SetRequestCallback(StackHandler, RequestCallbackFunction);
SIP Request를 수신했을 때 호출되어 해당 메시지를 처리할 RequestCallbackFunction()을 등록
▶ SIP_SetResponseCallback(StackHandler, ResponseCallbackFunction);
SIP Response를 수신했을 때 호출되어 해당 메시지를 처리할 ResponseCallFunction()을 등록
▶ SIP_SetEventCallback(StackHandler, EventCallbackFunction);
기타 SIP Event, 예를 들어 Timeout이 발생했을 때 호출되어 처리할 EventCallFunction()을 등록
< 메시지 송신 >
▶ SIP_SendRequest(StackHandler, SIP_Message);
SIP Request 메시지를 전달
▶ SIP_SendResponse(StackHandler, SIP_Message);
SIP Response 메시지를 전달
상위 레벨의 SIP/IMPS API의 구성을 예시하면 다음과 같다.
< IMPS/SIP 라이브러리 초기화/해제 >
▶ IM_InitializeLibrary();
라이브러리를 초기화하는 작업을 수행한다.
이 작업은 내부적으로 하위 레벨 API를 이용하여 기본 IM 클라이언트 의 역할을 수행하는 SIP UA(User Agent)를 생성한다. 이 과정에서, 사용자로부터 사용자 식별자(ID) 및 패스워드(Password)를 요청할 수 도 있다. 이 작업은 DLL의 처음 로딩시에만 이루어진다.
▶ IM_ReleaseLibrary();
해당 응용 프로그램에서 라이브러리 사용이 끝났을 때 호출한다.
DLL은 서비스할 응용 프로그램이 남아 있지 않은 경우 기본 IM 클라 이언트를 해제한다.
< 클라이언트 객체 >
라이브러리를 이용하는 모든 응용 프로그램은 라이브러리 내부의 기본 IM 클라이언트(SIP UA)와 통신하기 위하여 클라이언트 객체를 생성하여야 한다.
▶ IM_CreateClient();
클라이언트 객체를 생성한다.
▶ IM_DestroyClient();
클라이언트 객체를 해제한다.
▶ IM_GetLocalUser();
기본 IM 클라이언트가 IMPS 서버에 등록한 지역(Local) 사용자 관련 정보(예를 들어, 지역 URI)를 얻을 수 있는 사용자 객체를 얻을 수 있다.
< 세션 >
앞서 생성한 클라이언트 객체를 통해 세션의 생성, 제거, 관리 등의 작업을 수행할 수 있다.
▶ IM_CreateSession(DestURI, SessionConfig);
DestURI라는 URI를 가지는 상대에게 SessionConfig로 설정한 세션을 맺을 것을 요청한다.
▶ IM_DestroySession(SessionID);
세션을 해제한다.
▶ IM_EnumSession();
현 클라이언트를 통해 유지하고 있는 세션 정보를 나열한다.
▶ IM_EnumParticipants(SessionID);
현 세션에 참여하고 있는 참여자 정보를 획득한다.
▶ IM_SetSessionCallback(SessionCallbackFucntion());
세션 관련 요청, 예를 들어 새로운 세션 생성 요청이 도착했을 때 호 출되어 이를 처리할 SessionCallbackFunction()을 등록한다.
< 프레즌스 >
자신(Local User)을 포함하여 IMPS 서버에 등록한 사용자들의 프레즌스 정보를 처리한다. 프레즌스 정보는 명시적 요청에 따라 받을 수도 있고 IMPS 서버 측에서 명시적 요청을 받지 않고도 보낼 수 있다.
▶ IM_RequestPresence(DestURI, PresenceItem);
DestURI를 가지는 사용자의 PresenceItem으로 지정한 프레즌스 정보 를 요청한다.
▶ IM_SetPresenceCallback(PresenceCallbackFunction);
프레즌스 변경 정보, 또는 요청한 프레즌스 정보가 도착했을 때 호출 되어 이를 처리할 PresenceCallbackFunction()을 등록한다.
< 버디(Buddy) 관련 >
버디 관련 정보를 획득하거나 관리할 수 있도록 한다.
▶ IM_EnumBuddies();
현재 설정한 버디에 관한 정보를 획득한다.
▶ IM_AddBuddy(BuddyID);
BuddyID라는 URI를 가지는 버디에 대해 추가 요청을 한다.
▶ IM_RemoveBuddy(BuddyID);
BuddyID라는 URI를 가지는 버디에 대해 제거 요청을 한다.
▶ IM_SetBuddyCall(BuddyCallbackFunction)
버디 관련 정보, 예를 들어 버디에 추가되었다는 정보가 도착했을 때 호출되어 이를 처리할 BuddyCallbackFunction()을 등록한다.
< 인스턴트 메시지 >
인스턴트 메시지(Instant Message)의 송,수신 및 관리 관련 기능을 제공한다.
▶ IM_SendInstantMessage(DestURI, Message);
DestURI라는 상대로 메시지를 보낸다.
▶ IM_SendSessionInstantMessage(SessionID, Message);
SessionID를 가지는 세션을 통해 메시지를 보낸다.
▶ IM_EnumInstantMessages();
현재 저장소에서 관리하고 있는 메시지를 나열한다.
▶ IM_SetIMCallback(IMCallbackFunction);
인스턴트 메시지 관련 메시지가 도착했을 때 호출되어 이를 처리할 IMCallbackFunction()을 등록한다.
< 미디어 확장 API >
단말의 멀티미디어 장치에 관한 복잡한 프로그래밍 작업을 내부적으로 처리하여 개발자가 기본적인 멀티미디어 연결을 쉽게 생성할 수 있도록 한다.
▶ IM_CreateAudioConnection(DestURI, AudioOption);...
DestURI를 가지는 상대와 AudioOption으로 지정한 음성 연결을 생성 한다.
도 5에 의하면, 본 발명에 의한 이동 통신 단말기와 그 단말기에 SIP/IMPS 서비스를 제공하는 각종 서버 환경을 도시한 것이다.
단말기 측에서는 라이브러리(40)가 초기화되면 하위 레벨의 SIP 스택(30)을 통해 라이브러리(40) 내에 SIP UA(44)가 생성된다. 이 UA(44)는 실질적으로 IM 클라이언트 디몬(Daemon) 역할을 수행하며 응용 프로그램 계층의 메신저(54)를 포함한 여러 IMPS/SIP 응용 프로그램들(56)을 관리하고 지원하는 중심 역할을 수행한다.
한편, 망 측에는 SIP 메시지 라우팅을 포함한 기본 기능을 수행하는 SIP 기본 서버 및 프록시(Proxy)와 이를 통해 인스턴트 메시징 및 프레즌스 서비스를 제공하는 IM & Presence 서버가 있다. 물론, 이 외에도 개별 서비스 별로 별도의 서비스 서버가 존재할 수 있으며, 이들은 기본 SIP 서버를 통해 단말 응용 프로그램과 직접 연동하거나 게이트웨이(Gateway)를 통해 IM & Presence 서버와 연동하여 서비스를 제공한다.
도 6은 상호 세션을 형성한 2개의 이동 통신 단말기에서의 동작 관계를 설명한다.
SIP UA/IM 클라이언트(44)는 일종의 디몬(Daemon)과 같이 동작한다. 라이브러리(40)를 이용하는 모든 응용 프로그램은 클라이언트 객체를 생성하여야 한다. 응용 프로그램 입장에서 보았을 때 클라이언트 객체는 코어에 있는 SIP UA(44)와 응용 프로그램(54, 56) 간의 통로 역할을 한다. 실제 서비스를 통해 얻어지는 정보, 생성하는 객체들 중 공유가 필요하거나 중앙집중화된 관리가 필요한 것들은 코어의 SIP UA(44)에서 처리한다.
도 7a 내지 도 7e는 각각 본 발명에 의한 이동 통신 단말기에서 SIP/IMPS 활용 응용 프로그램가 수행될 때, 라이브러리를 초기화하는 과정(도 7a), 프레즌스를 요청하는 과정(도 7b), 인스턴트 메시지를 수신하는 과정(도 7c), 세션 생성 요청을 수신하는 과정(도 7d) 및 라이브러리를 해제하는 과정(도 7e)에서 응용 프로그램, SIP/IMPS 동적 연결 라이브러리, API 스택이 수행하는 작업에 대한 예시적인 시나리오를 도시한 것이다.
이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
본 발명에 의하면, 메신저 응용 프로그램 뿐만 아니라 이동 통신 단말기 상에서 동작하는 모든 응용 프로그램들이 인스턴트 메시징/프레즌스 기능을 효율적으로 활용할 수 있고, 인스턴트 메시징/프레즌스 기능을 구현한 응용 프로그램들에 대한 전체적인 통제가 가능해진다.
도 1은 WIPI 규격을 채택한 무선통신 단말기의 계층 구조를 도시한 것이다.
도 2는 무선 인터넷 플랫폼 상에 SIP/IMPS 동적 연결 라이브러리를 더 구비한 본 발명에 의한 이동 통신 단말기의 계층 구조를 도시한 것이다.
도 3은 본 발명에 의한 이동통신 단말기에 구현되는 SIP 스택의 기능적 구성을 도시한 것이다.
도 4는 본 발명에 의한 이동통신 단말기에 구현되는 SIP/IMPS 동적 연결 라이브러리의 기능적 구성을 도시한 것이다.
도 5는 본 발명에 의한 이동 통신 단말기와 그 단말기에 SIP/IMPS 서비스를 제공하는 각종 서버 환경을 도시한 것이다.
도 6은 상호 세션을 형성한 2개의 이동 통신 단말기에서의 동작 관계를 설명하기 위한 도면이다.
도 7a 내지 도 7e는 각각 본 발명에 의한 이동 통신 단말기에서 SIP/IMPS 활용 응용 프로그램가 수행될 때 응용 프로그램, SIP/IMPS 동적 연결 라이브러리, API 스택이 수행하는 작업에 대한 예시적인 시나리오들을 도시한 것이다.

Claims (2)

  1. 핸드셋 하드웨어;
    통신 기본 기능과 각종 디바이스 드라이버를 포함하는 네이티브 시스템 소프트웨어와 실시간 운영체제를 구비한 이동통신 단말기 기본 소프트웨어;
    WIPI 규격에 따른 표준 플랫폼에 하드웨어 적응 계층을 기반으로 구축되며 응용 프로그램이 접근할 수 있는 인터페이스 기능 모듈들과 대응하는 SIP 처리 기능 모듈들을 포함하는 SIP 스택을 더 구비한 무선 인터넷 표준 플랫폼;
    응용 프로그램이 접근할 수 있는 SIP/IMPS API와 이에 대응하여 SIP 스택을 사용하여 인스턴트 메시징 클라이언트 디몬으로서의 역할을 수행하며 하나 이상의 IMPS/SIP 응용 프로그램들을 관리하고 지원하는 SIP 사용자 에이젼트를 구비한 SIP/IMPS 동적 연결 라이브러리; 및
    하나 이상의 응용 프로그램들;을 포함함을 특징으로 하는 무선 인터넷 플랫폼 상에 SIP/IMPS 동적 연결 라이브러리를 구비한 이동 통신 단말기.
  2. 제1항에 있어서, 상기 SIP 스택은
    SIP 메시지 수신이나 에러 발생 등의 이벤트 발생 여부를 지속적으로 확인하는 이벤트 폴러;
    이벤트 폴러에 의해 확인된 이벤트를 처리하는 이벤트 핸들러;
    SIP 프로토콜 규격에 따라 메시지 헤더 및 바디를 부호화하거나 복호화하는 메시지 매니져;
    SIP 요청/응답(Request/Response) 메시지를 전송하는 트랜스포트 매니져;
    SIP 표준에 정의된 트랜잭션의 개념을 구현하여 응용 프로그램을 지원하는 트랜잭션 매니져; 및
    SIP 표준에 정의된 다이얼로그의 개념을 구현하여 응응 프로그램을 지원하는 다이얼로그 매니져;를 포함함을 특징으로 하는 무선 인터넷 플랫폼 상에 SIP/IMPS 동적 연결 라이브러리를 구비한 이동통신 단말기.
KR1020030077739A 2003-11-04 2003-11-04 무선 인터넷 플랫폼 상에 sip/imps 동적 연결라이브러리를 구비한 이동 통신 단말기 KR20050043021A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020030077739A KR20050043021A (ko) 2003-11-04 2003-11-04 무선 인터넷 플랫폼 상에 sip/imps 동적 연결라이브러리를 구비한 이동 통신 단말기

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020030077739A KR20050043021A (ko) 2003-11-04 2003-11-04 무선 인터넷 플랫폼 상에 sip/imps 동적 연결라이브러리를 구비한 이동 통신 단말기

Publications (1)

Publication Number Publication Date
KR20050043021A true KR20050043021A (ko) 2005-05-11

Family

ID=37243823

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020030077739A KR20050043021A (ko) 2003-11-04 2003-11-04 무선 인터넷 플랫폼 상에 sip/imps 동적 연결라이브러리를 구비한 이동 통신 단말기

Country Status (1)

Country Link
KR (1) KR20050043021A (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100607361B1 (ko) * 2005-03-22 2006-07-28 주식회사 케이티프리텔 무선 핸드셋의 단말기 기본 소프트웨어와 모바일플랫폼간의 인터페이스 방법 및 장치
KR100726079B1 (ko) * 2005-12-15 2007-06-08 에스케이 텔레콤주식회사 휴대폰에서 정보수집 서비스 방법
KR100738419B1 (ko) * 2005-10-24 2007-07-11 에스케이 텔레콤주식회사 위피 기반의 멀티 어플리케이션 실행을 위한 메모리 관리자가 구비된 스마트 폰
KR100924647B1 (ko) * 2008-08-07 2009-11-02 주식회사 케이티 모바일 플랫폼 런타임 다이나믹 링킹 라이브러리 관리 방법및 시스템

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100607361B1 (ko) * 2005-03-22 2006-07-28 주식회사 케이티프리텔 무선 핸드셋의 단말기 기본 소프트웨어와 모바일플랫폼간의 인터페이스 방법 및 장치
KR100738419B1 (ko) * 2005-10-24 2007-07-11 에스케이 텔레콤주식회사 위피 기반의 멀티 어플리케이션 실행을 위한 메모리 관리자가 구비된 스마트 폰
KR100726079B1 (ko) * 2005-12-15 2007-06-08 에스케이 텔레콤주식회사 휴대폰에서 정보수집 서비스 방법
KR100924647B1 (ko) * 2008-08-07 2009-11-02 주식회사 케이티 모바일 플랫폼 런타임 다이나믹 링킹 라이브러리 관리 방법및 시스템

Similar Documents

Publication Publication Date Title
US9497600B2 (en) Service chaining
EP1790149B1 (en) Method and session initiation protocol (sip) server for the exchange of end-point capabilities
US6904140B2 (en) Dynamic user state dependent processing
KR100686705B1 (ko) 세션 개시 프로토콜-가능 단말기에 다중-클라이언트 지원을제공하기 위한 방법 및 장치
CN103188300B (zh) 云计算环境中实现voip通话的方法、装置和系统
US7110763B2 (en) Graphical proxy for less capable terminals
US7039710B2 (en) Method and apparatus for providing multi-client support in a SIP-enabled terminal
EP1422906B1 (en) Time-to-disconnect enforcement when communicating with wireless devices that have transient network addresses
MX2011006349A (es) Un metodo de y un servidor de red y equipo de usuario movil para proporcionar servicios de charlas/voip en una red de telecomunicacion movil.
US20030005032A1 (en) Remote assembly of messages for distributed applications
US20170288904A1 (en) System and method for enabling use of a single user identifier across incompatible networks for ucc functionality
KR20050043021A (ko) 무선 인터넷 플랫폼 상에 sip/imps 동적 연결라이브러리를 구비한 이동 통신 단말기
US20060085678A1 (en) Distributed computing
KR100439761B1 (ko) 코바에서의 그룹 통신 시스템 및 방법
US7870275B1 (en) Communication scheme-independent infrastructure
CA2584534C (en) System and method for remote assembly of messages to create a control message
KR20050042687A (ko) Sip 스택 기능을 포함하는 무선 인터넷 플랫폼을구비한 이동통신 단말기
Cummins et al. Delivery of ad hoc services over WiFi and GPRS
Lakay et al. SIP-based content development for wireless mobile devices
Chen et al. Web communication services and the PacketIN® application hosting environment
KR20050009802A (ko) 자바 rmi를 이용한 단말기 대 단말기 통신플랫폼 설정방법
Rodriguez et al. Yang Chen, Olivier B. Clarisse, Pascal Collet, Mark A. Hartman
EP1485808A1 (en) Trigger-based session completion using external parties
CA2962264A1 (en) System and method for enabling use of a single user identifier across incompatible networks for ucc functionality
KR20020043274A (ko) 컴포넌트 객체 모델/분산 컴포넌트 객체 모델을 이용한ip터미널의 원격 제어 방법

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
SUBM Surrender of laid-open application requested