이하 첨부된 도면을 참조하여 본 발명의 바람직한 실시예에 대한 동작 원리를 상세히 설명한다. 하기에서 본 발명을 설명함에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
본 발명의 바람직한 실시예들을 설명하기에 앞서, 본 발명이 적용될 수 있는 인터넷 프로토콜 멀티미디어 서브시스템(IMS) 네트워크의 간략한 구조를 설명하기로 한다.
도 1은 CSI 서비스를 지원하는 이동통신 네트워크의 간략한 구조를 나타낸 것이다. 여기에서는 GSM(Global System for Mobile Communications)과 GPRS(General Packet Radio Services)를 기반으로 하는 UMTS(Universal Mobile Telecommunication Service) 이동통신 네트워크를 기반으로 도시할 것이나 이러한 특정 기술 분야 및 명칭이 본 발명의 범위를 제한하지 않음에 유의하여야 한다.
도 1을 참조하면, CSI 서비스를 지원하는 이동통신 네트워크는 무선 액세스 네트워크(Radio Access Network: 이하 RAN이라 칭함)(104)와 코어 네트워크(Core Network: 이하 CN이라 칭함)(106)로 구성되어 있다. RAN(104)은 사용자 단말(User Equipment: 이하 UE라 칭함)(102)이 CN(106)에 접속이 가능하도록 한다. RAN(104)은 사용되는 무선 액세스 기술 등에 따라 그 구조가 이미 공지된 것이므로 여기에서는 자세한 설명은 생략하도록 한다.
CN(106)은 CS 도메인(114), PS 도메인(108), IMS 도메인(122)으로 구성되어 있다. CS 도메인(114)은 CS 호를 지원하는 네트워크 엔터티들(entities)로 구성되 어 있으며, 대표적으로는 MSC(Mobile Switching Center)(120)와 MGW(Media Gateway)(116,118)가 있다. MSC(120)는 RAN(104) 내의 기지국들에서 발착신(originate and terminate)되는 신호들을 처리하고, 상기 기지국들이 효율적으로 운용될 수 있도록 조정하는 중앙통제 기능을 담당한다. MGW(116,118)는 CS 도메인(114)의 베어러 트래픽과 제어 트래픽을 지원한다.
PS 도메인(108)은 패킷 기반의 서비스를 지원하며, SGSN(Serving GPRS Support Node)(110)과 GGSN(Gateway GPRS Support Node)(112)으로 구성되어 있다. SGSN(110)은 각 단말의 위치에 대한 정보를 관리하고, 보안관련 기능과 액세스 제어(access control) 등을 수행하며, GGSN(112)은 SGSN(110)과 PDN(Packet Data Network)과 같은 외부 네트워크(130) 사이의 무선 게이트웨이 역할을 하는 GPRS 네트워크의 구성요소로써, GGSN(112)을 이용하여 단말(102)은 PDN(130)에 접속할 수 있다.
IMS 도메인(122)은 IMS 세션을 지원하는 네트워크 엔터티들로 구성되어 있다. 특히, S-CSCF(Serving-Call Session Control Function)(124), AS(Application Server)(126), MGCF/MGW(Media Gateway Control Function/Media Gateway)(128)가 도시되었다. S-CSCF(124)는 IMS 세션을 설정하며, 사용자 단말(UE)(102)로부터 전달된 IMS 관련 SIP(Session Initiation Protocol) 메시지를 받아 처리하는 역할을 담당한다. S-CSCF(124)는 단말(102)의 요청대로 서비스를 제공하기 위해 IMS 도메인(122) 내의 엔터티들에게 SIP 메시지를 전달하여, 세션이 완성되도록 한다.
AS(126)는 이메일 또는 셀룰러를 통한 푸쉬투토크(Push To Talk over Cellular: PoC) 등과 같이 사용자에게 어플리케이션을 제공하기 위한 엔터티이다. 예를 들어 CSI 서비스를 지원하는 AS(이하 CSI AS라 칭함)는, 사용자에게 전달되는 멀티미디어 세션 혹은 VoIP(Voice over IP) 호를 위한 요청 메시지인 SIP INVITE 메시지를 획득하여, 요청된 미디어 타입을 분석하고, 상기 SIP INVITE 메시지에 포함된 미디어 정보를 음성 미디어 정보와 패킷 미디어 정보로 구분하며, 상기 음성 미디어 정보를 CS 도메인으로 전달하고, 패킷 미디어 정보를 IMS 도메인으로 분리하여 전달하는 기능을 제공한다.
MGCF/MGW(128)는 IMS 사용자와 CS 사용자가 통신할 수 있도록 하는 네트워크 엔터티로서, IMS 네트워크와 기존 네트워크, 예를 들어 PSTN(Public Switched Telephone Network) 간 연동을 위한 시그널링 변환을 담당하는 게이트웨이인 MGCF와 미디어 변환을 위한 IMS-MGW로 구성된다. 도시하지 않을 것이지만 CS 착신 호에 대한 라우팅 최적화를 고려하여 CS 도메인과 연결되는 접점이 되는 최적의 MGCF를 선택하는 네트워크 엔터티인 BGCF(Breakout Gateway Control Function)가 더 구비될 수 있다. 상기 BGCF는 상기 MGCF/MGW(128)에 포함될 수 있다.
상기 언급한 엔터티들 외에도 각 도메인에는 여러 다른 엔터티들이 존재할 수 있으며, CSI 서비스를 위해 각 도메인의 다른 엔터티들이 관여할 수도 있다.
상기와 같이 구성되는 네트워크에서 CSI 단말이 CSI가 가능하지 않은 단말로 CS 호 SETUP 메시지를 전송하는 경우, 착신측 네트워크(Terminating side network)에 위치한 MGCF에서는 상기 CS 호 SESTUP 메시지에 포함된 CSI 단말의 성능(capability) 정보를 SIP INVITE 메시지에 추가하고 상기 SIP INVITE 메시지를 IMS 단말에게 전달한다. 또한 CSI가 가능하지 않은 IMS 단말이 자신의 성능 정보를 SIP INVITE 메시지에 추가하여 전송하는 경우, 착신(called party) CSI 단말이 위치하고 있는 착신측(Terminating side) 네트워크에 위치한 MGCF는 상기 SIP INVITE 메시지에 포함된 상기 성능 정보를 CS 호 SETUP 메시지 내의 사용자-사용자 정보(User-User information) 필드 내에 삽입하여 상기 CS 호 SETUP 메시지를 상기 CSI 단말로 전송한다. 이로써, MGCF에서 단말의 성능 정보를 처리할 수 있으며 IMS 단말에서는 상대 단말의 성능 정보를 획득할 수 있다.
본 발명의 바람직한 실시예에서는 CSI 단말과 CSI 가능하지 않은 단말이 MGCF에서의 연동 기능을 통해서 서로의 성능 정보 즉, 단말이 현재 CS 도메인과 PS 도메인에 동시에 접속가능 여부를 나타내는 정보(e.g. the Simultaneous CS and PS capability), 사용자에게 속한 특정 단말을 구분하기 위한 ID(e.g. Personal ME identifier), 단말의 현재 성능에 대한 버전 정보(e.g. UE capability version), IMS 등록(Registered) 상태에 대한 정보 외에도 종단간 통신에 유용하게 사용 가능한 다양한 단말 관련 혹은 UE 관련의 성능 정보들을 교환할 수 있게 함으로써, 상기 성능 정보를 활용하여 사용자들간에 IMS 세션 설정이 가능하도록 하는 방안을 제안한다. 또한 본 발명의 바람직한 실시예에서는 IMS가 가능한 단말이 자신의 성능 정보를 INVITE 메시지에 추가하고 성능 정보를 포함하는 메시지를 수신하여 해석할 수 있도록 단말의 기능을 확장하는 방안을 제안한다.
도 2는 본 발명의 바람직한 실시예에 따라 CSI 단말에서 CSI가 가능하지 않 은 단말로 CS 호 SETUP을 요청하는 경우의 메시지 흐름을 나타낸 것이다. 여기에서는 CSI가 가능하지 않은 단말로서 IMS 단말을 도시하였다.
도 2를 참조하면, CSI 단말인 UE-A(201)가 CS 음성 호를 설정하고자 할 경우, UE-A(201)는 사용자-사용자 시그널링(User-User Signaling: UUS) 정보 필드에 UE-A(201)의 성능 정보를 포함한 CS 호 SETUP 메시지를 생성하여 CN 도메인의 네트워크 엔터티(203)(예를 들어 MSC, 이하 CS 네트워크 엔터티라 칭함)에게 전송한다[211]. 이때 성능 정보는 단말의 무선 성능(Radio Capability) 정보, CS 도메인과 PS 도메인에 대한 동시 접속가능성, 단말에 대한 식별 정보, 단말 성능에 대한 버전 정보 및 IMS 등록 정보 등을 포함할 수 있으며. 이 외에도 종단 간에 교환될 수 있는 다양한 형태의 성능에 관련된 정보들을 포함할 수 있다. 여기서 무선 성능이란 단말이 접속 가능한 주파수 채널 등의 물리적인 성능을 의미하는 것으로서, 추가적으로 단말이 PS 도메인을 접속 가능한지 및 CS 도메인을 접속 가능한지를 나타낼 수 있다.
하기 <표 1>은 CS 호 SETUP 메시지 내의 사용자-사용자 정보를 나타내는 UUS 정보 필드를 통해서 전달되는 성능 정보의 포맷을 나타낸 것이다.
User-User IE = [(Protocol ID =3GPP capability exchange protocol), (Capability Identifier = 0, Environment = 1), (Capability Identifier = 1, Personal ME Identifier = 0007), (Capability Identifier = 2, UE capability version = 1), (Capability Identifier = 3, IMS registration = 1) |
UE-A(201)가 위치하고 있는 CS 도메인의 네트워크 엔터티(203)는 UE-A(201)로부터 전송된 상기 CS 호 SETUP 메시지를 ISUP/BICC IAM(Initial Address Message)로 변환하여 CSI가 가능하지 않은 착신 단말(Called party)인 UE-B(209)가 위치하고 있는 IMS 도메인 내의 CSI 연동 엔터티인 MGCF(205)에게 전달한다[213]. 상기 ISUP/BICC IAM을 수신한 MGCF(205)는 상기 ISUP/BICC IAM으로부터 추출된 CS 호 SETUP 메시지를 SIP 프로토콜 기반의 메시지, 특히 SIP에 따른 INVITE 메시지로 변환하기 위한 연동을 수행한다[215]. 이때, CS 호 SETUP 메시지를 SIP INVITE 메시지로 변환하는 동작 중에, 성능 정보의 변환을 위해 필요한 과정을 제외한 기타 동작은 알려진 바와 같으며, 본 발명의 주요한 요지와는 관련이 없으므로 그 상세한 설명을 생략한다.
구체적으로, UE-A(201)의 성능 정보를 연동하기 위하여 MGCF(205)는 IAM에 포함되는 정보 필드들의 패턴을 분석하여 기 정의된 방식에 따라 특정 SIP 헤더를 구성할 뿐 아니라, UUS 필드를 분석 및 처리하여 SIP 메시지를 생성하는 기능을 가진다. 다시 말해서 IAM을 수신한 MGCF(205)는 IAM에 포함된 UUS 정보 필드를 분석하여, UUS 정보 필드에 UE-A(201)의 성능 정보가 포함된 경우, 상기 UE-A(201)의 성능 정보를 추출하여 후술하는 바와 같은 방식으로 SIP INVITE 메시지를 구성한다.
이때 INVITE 메시지와 같은 SIP 메시지에 UE-A(201)의 성능 정보를 포함시키기 위해서 MGCF(205)는 성능 정보의 종류에 따른 새로운 패턴을 사용할 수 있다. 그러나 이 경우 성능 정보의 종류가 늘어날 때마다 새로운 패턴의 정의를 위한 MGCF(205)의 기능 갱신(upgrade)이 동반되어야 하므로, 확장성이 떨어지는 단점이 있다. 따라서 본 발명에서는 MGCF(205)에서 UE-A(201)의 성능 정보를 SIP INVITE 메시지 내에 구성하기 위한 다양한 방안들을 제안한다. 후술되는 방안들에 따라 MGCF(205)는 UUS 정보 필드에 포함된 성능 정보를 적절한 포맷으로 변환한다. 또한 반대로 SIP 메시지에 포함된 성능 정보를 CS 시그널링 메시지의 UUS 정보 필드에 적절한 포맷으로 포함시키는 기능도 MGCF(205)에 구비된다.
MGCF(205)에서 CS 호 SETUP 메시지에 포함된 성능 정보를 SIP INVITE 메시지 내에 포함될 수 있도록 인코딩하기 위한 방안으로, 하기의 4가지를 개시한다. 첫째, SIP 메시지의 SIP 헤더 내에 상기 성능 정보를 나타내기 위한 추가적인 특성 태그('feature tag')를 포함시키는 방안과, 둘째, SIP 메시지의 본문(message body) 내에 상기 성능 정보를 XML(eXtensible Markup Language) 형식으로 포함시키는 방식, 셋째, SIP 메시지의 본문 내에 상기 성능 정보를 텍스트 형식으로 포함시키는 방식, 넷째, SIP 메시지의 본문 내에 상기 성능 정보를 바이너리 형식으로 포함시키는 방식이 있다.
상기 성능 정보를 SIP INVITE 메시지 내에 인코딩하기 위한 상기 4가지의 방안들을 구체적으로 설명하면 다음과 같다.
첫번째 방안에 따라, 단말의 성능 정보를 SIP 헤더 내에 '특성 태그(feature tag)'로 나타내는 경우, 각각의 성능 정보를 나타내는 특성 값은 해당하는 표준규격, 예를 들어 3GPP(3rd Generation Partnership Project) 내에서 규정하는 범위 내에서 정의된다. 예를 들어, 식별(Identifier) 정보는 PMI(Personal ME(Mobile Equipment) Identifier)=XXXX(X는 16진(hexadecimal) 형태의 값을 의미함.), UE 성능 정보는 UCV(UE Capability Version)=XX와 같은 형태의 특성 값으로 정의된다. CS 도메인과 PS 도메인에 대한 동시 접속 가능성을 나타내기 위해서는, 3GPP에서 기존에 정의하고 있는, '+g.3gpp.cs-voice' 혹은 '+g.3gpp.cs-video'와 같은 특성 값을 활용하거나, PS 도메인의 가능성을 표시하는 별도의 'feature-tag'를 사용할 수 있다. 또한 UE 성능 정보로서 IMS 등록 상태를 나타내기 위한 경우, 마찬가지로 별도의 'feature-tag'를 사용할 수 있다. 이렇게 SIP 헤더에 각각의 성능 정보를 나타내는 유형 및 'feature-tag'의 형식은 해당하는 표준에서 정의하는 형식을 따른다. 위와 같은 'feature-tag'를 포함하는 SIP 헤더로는 컨텍트 헤더(Contact header), 사용자-에이전트 헤더(User-Agent header) 혹은 서버 헤더(Server header) 등이 사용될 수 있다.
둘째 방안은, SIP 메시지의 본문 내에 XML 방식을 이용하여 성능 정보를 포함시킨다. 하기 <표 2>는 XML 방식을 이용하여 CSI 단말의 성능 정보를 SIP INVITE 메시지의 본문 내에 인코딩하는 예제를 보여준다. <표 2>를 통해서 제안된 XML의 세부적인 식별자(discriminator)들은 가능한 예이며, 세부적인 내용들은 시스템 운영자 등에 의해 정해질 수 있다. 하기의 <표 2a> 내지 <표 2c>는 <표 2>를 편의상 구분하여 나타낸 것이다.
INVITE sip:14084955072@sc1.samsung.com SIP/2.0 Via: SIP/2.0/UDP sc10.samsung.com From: sip:14085655675@sc10.samsung.com To: sip:14084955072@sc1.samsung.com Call-ID: 1231999021712095500999@sc12.samsung.com CSeq: 1234 INVITE Contact: <sip:14085655675@sc10.samsung.com> Content-Length: 358 Content-Type: multipart/mixed; boundary=unique-boundary-1 MIME-Version: 1.0 --unique-boundary-1 Content-Type: application/sdp; charset=ISO-10646 - 중략 - --unique-boundary-1 Content-type: application/xml |
<?xml version=”1.0” encoding=”UTF-8”?> <testDatatype xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance”> <3GPPCapabilityExchange> <Capability> <CapabilityID>1</CapabilityID> < CapabilityName >” Environment ”</ CapabilityName > <TerminalCapability>1</TerminalCapability> <RadioEnvironment>1</RadioEnvironment> </Capability > < Capability > <CapabilityID>2</CapabilityID> <CapabilityName>”Personal ME Identifier”</CapabilityName> <PMI>0007</PMI> </ Capability > |
< Capability > <CapabilityID>3</CapabilityID> <CapabilityName>”UE Capability Version”</CapabilityName> <UCV>01</UCV> </Capability > <Capability> <CapabilityID>4</CapabilityID> <CapabilityName>”IMS Registration Status”</CapabilityName> <IMSStatus>1</IMSStatus> </Capability> </3GPPCapabilityExchange> --unique-boundary-1-- |
상기 <표 2>에서 사용되고 있는 각각의 성능 정보 필드들에 대한 정확한 인코딩은 미리 정해지며, 각 성능 정보 필드들에 대한 정의는 단말과 네트워크 사이에 미리 정해지는 것으로서 본 발명에서 정의하는 기능을 수행할 수 있는 단말과 네트워크 엔터티라면 누구나 인식 가능한 값이다.
셋째 방안은, SIP 메시지의 본문 내에 텍스트 방식으로 성능 정보를 인코딩한다. 텍스트 방식으로 인코딩되는 성능 정보의 일 예를, 아래 <표 3>에 나타내었다. 하기의 <표 3a> 및 <표 3b>는 <표 3>을 편의상 구분하여 나타낸 것이다.
INVITE sip:14084955072@sc1.samsung.com SIP/2.0 Via: SIP/2.0/UDP sc10.samsung.com From: sip:14085655675@sc10.samsung.com To: sip:14084955072@sc1.samsung.com Call-ID: 1231999021712095500999@sc12.samsung.com CSeq: 1234 INVITE Contact: <sip:14085655675@sc10.samsung.com> Content-Length: 358 Content-Type: multipart/mixed; boundary=unique-boundary-1 MIME-Version: 1.0 |
--unique-boundary-1 Content-Type: application/sdp; charset=ISO-10646 - 중략 - --unique-boundary-1 Content - type : text / plain Environment = PS capable | CS capable | CS Capable , PS Capable Personal ME Identifier = PMI -0007 UE Capability Version = UCV -01 --unique-boundary-1-- |
상기 <표 3>에서는 XML의 가능한 식별자(discriminator)들의 일 예를 나타낸 것으로서, 세부적인 내용 및 정의는 단말과 네트워크 사이에 미리 약속되어지는 바에 따른다.
넷째 방안은, SIP 메시지의 본문 내에 성능 정보를 이진 방식으로 인코딩한다. 이진 방식으로 인코딩되는 성능 정보의 예를, 아래 <표 4>에 나타내었다. 하기의 <표 4a> 및 <표 4b>는 <표 4>를 편의상 구분하여 나타낸 것이다.
INVITE sip:14084955072@sc1.samsung.com SIP/2.0 Via: SIP/2.0/UDP sc10.samsung.com From: sip:14085655675@sc10.samsung.com To: sip:14084955072@sc1.samsung.com Call-ID: 1231999021712095500999@sc12.samsung.com CSeq: 1234 INVITE Contact: <sip:14085655675@sc10.samsung.com> Content-Length: 358 Content-Type: multipart/mixed; boundary=unique-boundary-1 MIME-Version: 1.0 -unique-boundary-1 Content-Type: application/sdp; charset=ISO-10646 - 중략 - |
-unique-boundary-1 Content-type: text/plain base=etsi141 //binary encoding을 의미하는 identifier Content-Disposition: signal; handling=optional 0100110000010100010110001111111 1100000101010110101101011001110 1100100101011011101100100001111 0111111111011101011101011100100 -unique-boundary-1-- |
MGCF(205)에서 ISUP/BICC IAM을 SIP INVITE 메시지로의 변환을 완료하면, SIP INVITE 메시지는 UE-B(209)가 접속해 있는 IMS 도메인의 네트워크 엔터티(X-CSCF라 표기하며 여기서 X는 S- 혹은 P- 등이 될 수 있음)(207)를 거쳐서 UE-B(209)에게 전달된다[217]. 여기서 UE-B(209)는 SIP INVITE 메시지에 포함된 성능 정보를 추출하고, 자신의 성능 정보를 포함한 요청(Request) 혹은 응답(Response) 메시지를 생성할 수 있는 기능을 가진다. UE-B(209)는 상기 SIP INVITE 메시지에 포함된 UE-A(201)의 성능 정보를 추출하여 저장한다[219]. 이후 UE-A(201)와 UE-B(209)간에 부가적인 메시지들의 교환을 통해 호 설정 절차(call setup procedure)가 진행된다[221].
CSI 서비스가 가능하지 않은 IMS 단말인 UE-B(209)는 기 설명한 4가지 방안들 중에 하나를 이용하여, 상기 SIP INVITE 메시지에 대응하는 SIP 응답인 183 세션 프로그레스(Session Progress) 메시지 혹은 SIP 200 OK 메시지 내에 자신의 성능 정보를 인코딩하여 삽입한다[223]. 상기 SIP 183 세션 프로그레스 메시지 혹은 SIP 200 OK 메시지는 UE-B(209)의 성능 정보를 포함한 채 UE-B(209)가 속한 IMS 도메인의 네트워크 엔터티(207)를 통해서 MGCF(205)로 전달된다[225].
MGCF(205)는 SIP 183/200 OK 메시지를 ISUP/BICC CON(Connection) /ANM(Answer Message)으로 변환하기 위한 연동을 수행한다.[227] 이때 MGCF(205)는 CSI가 가능하지 않은 IMS 단말인 UE-B(209)로부터 전송된 상기 SIP 183/200 OK 메시지 내의 성능 정보를 상기 ISUP/BICC CON/ANM의 사용자-사용자 정보에 인코딩을 통해 삽입한다.
상기 성능 정보가 인코딩된 사용자-사용자 정보를 포함하는 CS 응답 메시지인 ISUP/BICC CON 혹은 ACM(Address Complete Message)/ANM은 UE-A(201)의 CS 네트워크 엔터티(203)로 전달된다[229]. CS 네트워크 엔터티(203)는 상기 ISUP/BICC CON 혹은 ACM/ANM을 CC(Call Control) CONNECT 메시지로 변환하여 UE-A(201)에게 전달한다[231]. UE-A(201)가 수신한 상기 CC CONNECT 메시지의 사용자-사용자 정보에는 UE-B(209)의 성능 정보가 포함되어 있다. UE-A(201)는 상기 성능 정보를 저장함으로써, UE-B(209)의 성능 정보를 파악하며, 또한 상기 성능 정보를 통해서 UE-B(209)와 IMS 접속을 형성할 수 있음을 확인한다[233].
도 3a 및 도 3b(이하 도 3이라 칭함)는 본 발명의 제2 실시예에 따라 CSI가 가능하지 않은 IMS 단말에서 CSI 단말로 SIP INVITE를 전송하는 경우의 메시지 흐름을 나타낸 것이다. 여기서 CSI가 가능하지 않은 IMS 단말은 CS 호와 IMS 세션을 동시에 사용하는 CSI 서비스가 가능하지 않을 뿐, SIP 메시지를 통해서 성능 정보를 전달하거나 SIP 메시지를 통해서 성능 정보를 수신하여 인식하는 것이 가능하다.
도 3을 참조하면, CSI가 가능하지 않지만, 성능 정보를 처리할 수 있는 능력을 가진 발신 단말(calling party)인 UE-A(301)은 자신의 성능 정보를 포함한 SIP INVITE 메시지를 생성한다[315]. 이때 UE-A(301)은 앞서 설명한 4가지 방안들 중에 하나를 이용하여 상기 SIP INVITE 메시지 내에 자신의 성능 정보를 포함시킨다. UE-A(301)에서 생성된 SIP INVITE 메시지는 발신측 네트워크(Originating side network)의 IMS 네트워크 엔터티인 X-CSCF(303)와 착신측 네트워크의 IMS 네트워크 엔터티인 X-CSCF(305)를 통해서 착신측 네트워크의 SIP AS(307)에게 전달된다[317].
이때 SIP INVITE 메시지가 발신측 네트워크와 착신측 네트워크를 통해서 SIP AS(307)에게 라우팅되는 방법은 기존에 알려진 바에 따른다. 상기 SIP AS(307)는 CSI가 가능하지 않은 IMS 단말인 UE-A(301)로부터 세션/호 설정 요청인 상기 SIP INVITE 메시지를 수신하여, 상기 SIP INVITE 메시지를 특정 도메인 즉, IMS 도메인 혹은 CS 도메인으로 포워딩할 것인지를 결정한다.[319] 상기 SIP AS(307)로는, 착신측 네트워크로부터 수신된 메시지를 포워딩하기 위한 기능을 가지는 NeDS(Network Domain Selection) AS, VCC 서비스를 위한 NeDS 기능과 함께 IMS 세션과 CS 호간의 연속성(Continuity)을 제공하는 기능 등을 담당하고 있는 CCCF(Call Continuity Control Function) AS, IMS 세션을 CS 음성 호와 IMS 데이터 세션으로 분리해 주는 기능 및 NeDS 기능 등을 담당하는 CSI AS와 같은 다양한 형태가 있다.
이때 SIP AS(307)는 상기 SIP INVITE 메시지에 포함된 미디어 파라미터(Media Parameter)를 해석함으로써 상기 SIP INVETE 메시지를 전달할 도메인을 결정한다. SIP AS(307)에 의해, SIP INVITE 메시지에 포함된 음성 미디어 정보는 CS 도메인의 네트워크 엔터티(311)를 통해서 착신측 CSI 단말인 UE-B(313)로 전달된다. 또한 만약 SIP AS(307)이 UE-A(301)로부터 수신한 SIP INVITE 메시지(317)에 음성 미디어 외의 미디어 정보들이 포함되어 있었다면, 상기 미디어 정보들은 IMS 도메인의 네트워크 엔터티들을 통해서 CSI 단말인 UE-B(313)에게 전달될 수 있다. SIP AS(307)에 의해서 SIP INVITE 메시지가 CS 도메인과 IMS 도메인으로 나뉘어서 전달되는 세부적인 과정에 대한 설명은 본 발명과 무관하므로 생략한다.
SIP INVITE 메시지 내의 음성 미디어 정보를 CS 네트워크 엔터티(311)를 통해 전달하기로 결정한 경우, SIP AS(307)는 상기 SIP INVITE 메시지의 음성 미디어 정보를 CS 메시지로 변환하기 위하여, IMS 네트워크 엔터티(305)를 통해, 동일한 네트워크에 위치하고 있는 MGCF(309)에게 전달한다[321]. 상기 SIP INVITE 메시지를 수신한 MGCF(309)는 상기 SIP INVITE 메시지에 UE-A(301)에 대한 성능 정보가 포함되어 있는지 확인하고, 만약 UE-A(301)에 대한 성능 정보가 상기 SIP INVITE 메시지 내에 인코딩되어 있다면, 상기 성능 정보를 사용자-사용자 정보의 형식에 맞도록 인코딩하여 상기 사용자-사용자 정보에 삽입하고, 상기 사용자-사용자 정보가 포함된 ISUP/BICC IAM을 생성한다[323]. MGCF(309)는 상기 ISUP/BICC IAM을 UE-B(313)와 접속될 수 있는 CS 네트워크 엔터티(311)로 전달한다[325].
상기 ISUP/BICC IAM을 수신한 CS 네트워크 엔터티(311)는 상기 IAM을 CS 호 SETUP을 위한 CC SETUP 메시지로 변환하여 UE-B(313)에게 전달한다[327]. 상기 CC SETUP 메시지를 수신한 UE-B(313)은 상기 CC SETUP 메시지 내에 포함된 UE-A(301)의 성능 정보를 저장한다. UE-B(313)는 상기 CC SETUP 메시지 내의 UE-A(301)의 성능 정보를 저장함으로써, UE-A(301)의 성능 정보를 인지하고, 상기 성능 정보를 통해 UE-A(301)과의 IMS 도메인을 통한 연결 설정이 가능한지의 여부 등을 판단할 수 있게 된다.
상기 CC SETUP 메시지에 응답하여 UE-A(301)과 UE-B(313)간의 호 설정에 필요한 부수적인 과정들을 수행[331]한 후, 혹은 상기 CC SETUP 메시지의 수신 직후에, UE-B(313)은 상기 CC SETUP 메시지에 대한 응답으로 CC CONNECT 메시지를 생성한다. 상기 생성된 CC CONNECT 메시지에는 사용자-사용자 정보가 포함되며, 상기 사용자-사용자 정보 내에는 UE-B(313)의 성능 정보가 인코딩된다. UE-B(313)에 의해서 생성된 CC CONNECT 메시지는 CS 네트워크 엔터티(311)에게 전달되고[333], CS 네트워크 엔터티(311)에 의해서 상기 CC CONNECT 메시지는 ISUP/BICC CON/ANM/ACM으로 변환되어 MGCF(309)로 전달된다[335].
상기 ISUP/BICC CON/ACM/ANM을 수신한 MGCF(309)는 상기 CON/ACM/ANM 내의 사용자-사용자 정보에 포함된 UE-B(313)의 성능 정보를 SIP 메시지 내의 해당 인코딩 방법에 맞도록 변형하여, 상기 SIP INVITE 메시지에 대응하는 SIP 응답인 SIP 183 세션 프로그레스 메시지 혹은 SIP 200 OK 메시지에 삽입한다[337]. 상기 사용자-사용자 정보에 포함된 성능 정보를 SIP 메시지 내에 인코딩하는 방안은 앞서 설명한 바와 동일하다. 상기 MGCF(309)에서 생성된 SIP 183/200 OK 메시지는, 상기 SIP INVITE 메시지가 라우팅되었던 경로를 거슬러, 즉 착신측 IMS 네트워크 엔터티(305), SIP AS(307), 착신측 IMS 네트워크 엔터티(305), 발신측 IMS 네트워크 엔터티(303)을 통해서 UE-A(301)에게 전달된다[339]. UE-B(313)의 성능 정보를 포함하고 있는 상기 SIP 183/200 OK 메시지를 수신한 UE-A(301)은 UE-B(313)의 상기 성능 정보를 메모리에 저장한다[341].
도 4는 본 발명의 바람직한 실시예에 따른 MGCF의 동작을 나타낸 흐름도이다. 여기에서 MGCF는 CS 메시지와 IMS 메시지 간의 연동을 담당하는 IMS 도메인 내의 네트워크 엔터티이다.
도 4의 401단계에서 MGCF가 단말로부터 개시된(initiated) 메시지를 수신하면, 403단계에서 상기 메시지가 CS 호 관련 메시지(즉 CS 메시지)인지, IMS 세션 관련 메시지(즉 IMS 메시지)인지를 판단한다. CS 호 관련 메시지에는 ISUP/BICC 프로토콜 형식의 모든 메시지가 해당되며, IMS 세션 관련 메시지에는 SIP 프로토콜 형식의 모든 메시지가 해당된다.
상기 수신한 메시지가 CS 메시지인 경우, 405단계에서 MGCF는 상기 CS 메시지에 단말의 성능 정보를 포함한 UUS 필드가 포함되어 있는지 확인한다. 상기 CS 메시지에 단말의 성능 정보를 포함한 UUS 필드가 포함되어 있지 않은 경우, MGCF는 성능 정보 이외에 상기 CS 메시지의 다른 정보 필드들에 대한 연동을 처리하기 위하여 411단계로 진행한다.
반면 상기 CS 메시지에 단말의 성능 정보를 포함하고 있는 UUS 필드가 있는 경우, MGCF는 상기 성능 정보를 상기 CS 메시지로부터 변환된 IMS 메시지에 삽입하기 위해 409단계로 진행한다. 본 명세서에서는 MGCF에서의 단말의 성능 정보를 선처리하고 나머지 필드들에 대한 연동을 수행한다고 설명하고 있으나, MGCF에서 각 필드들이 처리되어지는 순서는 본 발명의 주요한 요지와 무관하다.
한편, 상기 수신한 메시지가 IMS 메시지인 경우, 407단계에서 MGCF는 상기 IMS 메시지의 SIP 헤더 혹은 SIP 메시지의 본문 내에 단말의 성능 정보가 포함되어 있는지 확인한다. 만일 포함되어 있으면, MGCF는 상기 성능 정보를 상기 IMS 메시지로부터 변환된 CS 메시지에 삽입하기 위해 409단계로 진행한다. 단말의 성능 정보가 SIP 헤더에 포함되는 경우, 상기 성능 정보는 컨텍트 헤더, 사용자-에이전트 헤더, 서버 헤더 등의 여러 SIP 헤더들에 구분되어 'Feature-tag'의 형식 혹은 각기 서로 다른 형식들로 포함될 수 있다.
상기 IMS 메시지에 단말의 성능 정보가 포함되어 있지 않은 경우, MGCF는 상기 성능 정보 외에 상기 IMS 메시지의 다른 정보 필드들에 대한 연동을 처리하기 위하여 411단계로 진행한다. 마찬가지로 IMS 메시지의 각 필드들이 처리되어지는 순서는 본 발명의 주요한 요지와 무관하다.
상기 CS 메시지 혹은 상기 IMS 메시지 내에 단말의 성능 정보가 포함되어 있는 경우, 409단계에서 MGCF는 상기 성능 정보에 대한 연동을 수행한다.
만약 상기 수신한 메시지가 CS 메시지이고, 상기 CS 메시지의 UUS 필드에 단말의 성능 정보가 포함되어 있는 경우, MGCF는 상기 UUS 필드에 포함된 성능 정보를 추출하고 분석하여, SIP 메시지의 SIP 헤더 혹은 SIP 메시지의 본문에 상기 성능 정보를 앞서 설명한 방안들 중 하나를 통해 인코딩하여 삽입함으로써, 상기 성능 정보에 대한 연동을 수행한다.
반면 상기 수신한 메시지가 IMS 메시지이고, 상기 IMS 메시지의 SIP 헤더 혹은 SIP 메시지의 본문에 단말의 성능 정보가 포함되어 있는 경우, MGCF는 상기 성능 정보를 추출하고 분석하여, CS SETUP 메시지의 UUS 필드에 상기 성능 정보를 해당 인코딩 포맷에 맞추어 삽입한다.
411단계에서 MGCF는 상기 CS 메시지 혹은 상기 IMS 메시지 내의 단말의 성능 정보를 제외한 다른 정보 필드들에 대한 연동을 수행한다. 구체적으로 상기 다른 정보 필드들을 IMS 메시지 혹은 CS 메시지의 해당하는 필드들로 변환한다. 413단계에서 상기 연동 결과 생성된 메시지는 상기 해당하는 인출(outgoing) 방향으로 전송된다. 415단계에서 MGCF는 다음 메시지의 수신을 위해서 대기하고 401 단계로 복귀한다.
도 5는 본 발명의 바람직한 실시예에 따른 단말의 동작을 나타낸 흐름도이다. 여기에서 단말은 CSI를 지원하고 있지는 않으나 SIP 메시지에 포함된 상대 단말에 대한 성능 정보를 수신하여 해석하고, 상기 성능 정보를 단말 내에 저장할 수 있는 기능을 가진다.
도 5를 참조하면, 501단계에서 IMS 단말은 네트워크에 접속하여, 보안(Security)와 접속(attach) 등과 같은 과정을 수행하고, IMS 서비스가 가능하도록 IMS 등록을 완료한다.
503단계에서 단말은 메시지 수신 또는 메시지 생성 등과 같은 이벤트가 발생되었는지 판단한다. 여기에서는 단말에서 발생할 수 있는 여러 이벤트들 중에 본 발명과 관련된 메시지 생성과 메시지 수신에 대한 동작에 대해서만 설명한다.
단말 내에서 '메시지 생성' 이벤트가 발생한 경우, 505단계에서 단말은 SIP 메시지를 생성한다. 511단계에서 단말은 단말의 성능 정보를, 상기 SIP 메시지의 SIP 헤더(예를 들어, 컨텍트 헤더, 사용자-에이전트 헤더, 서버 헤더 등)에 포함시키거나 혹은 SIP 메시지의 본문에 소정 방식(예를 들어, XML 방식, 이진 방식, 텍스트 방식 등등)으로 포함시킨다. 여기서 505단계와 511단계는 설명의 편의를 위하여 구분한 것이며, 실제로는 순서에 무관하게 수행될 수 있다. 513단계에서 상기 성능 정보를 포함하는 SIP 메시지는 해당하는 인출 방향으로 전송되며, 단말은 515 단계로 진행하여 다음 이벤트 발생을 대기한 후 503 단계로 복귀한다.
한편 단말 내에서 '메시지 수신' 이벤트가 발생한 경우, 507단계에서 단말은 상기 이벤트를 발생시킨 수신된 SIP 메시지 내에 상대 단말에 대한 성능 정보가 SIP 헤더 혹은 SIP 메시지의 본문 내에 포함되어 있는지 확인한다. 상기 수신한 SIP 메시지에 상대 단말의 성능 정보가 포함되어 있는 경우, 509단계로 진행한다. 509단계에서 단말은 상기 수신된 SIP 메시지에 포함된 상대 단말의 성능 정보 및 상기 수신된 SIP 메시지의 필드들을 처리하고 필요에 따라 저장한다. 반면 상기 수신한 SIP 메시지 내에 상대 단말의 성능 정보가 포함되어 있지 않은 경우, 단말은 상기 수신한 SIP 메시지의 처리를 위한 기본적인 동작들을 수행하며, 515 단계로 진행하여 다음 이벤트 발생을 위해 대기한 후 503단계로 복귀한다.
후술되는 실시예는, SIP AS에 의해서 단말의 성능 정보에 대한 인코딩(encoding)을 가능하게 함에 있어서 CSI 단말에게 상대 단말의 성능 정보를 전달하기 위해서 SIP AS를 활용하는 방안을 제안한다.
CSI가 가능한 CSI 단말과 IMS 단말 간의 CS 호 설정이 발생할 경우, IMS 단말로부터 전달된 SIP INVITE 메시지는 CSI 단말과 동일한 네트워크에 위치한 CSI AS에게 전달된다. 상기 IMS 단말은 상기 SIP 메시지를 실제로 생성하는 IMS 단말이거나, 혹은 VCC 단말이 될 수 있다. VCC 단말의 경우, 상기 VCC 단말에서 생성된 CS 메시지는, VCC 서비스를 지원하는 VCC AS에 의해서 IMS 메시지로 변환되어 수신측으로 전달된다. 상기 CSI AS는 CSI 단말로 전달되는 INVITE 메시지를 수신하고, 상기 INVITE 메시지에 포함된 미디어 정보 중 음성 미디어 정보는 CS SETUP 메시지로 변환하여 CS 도메인으로 전달하고, 비디오 및 데이터 등에 대한 미디어 정보는 SIP INVITE 메시지로 변환하여 IMS 도메인으로 전달하는 기능을 수행한다.
CSI AS를 통해 CSI 서비스를 제공받고 있는 CSI 단말과 IMS 단말 간에 VoIP 서비스를 위한 IMS 세션을 설정하기 위하여 IMS 단말이 SIP INVITE 메시지를 CSI 단말에게 전달하는 경우, CSI AS는 상기 SIP INVITE 메시지 중 음성 미디어 정보는 동일 네트워크에 위치하고 있는 MGCF로 전달하여 CS 도메인을 통해서 CSI 단말에게 CS 호 SETUP 메시지가 전달되도록 한다. 이때, CSI 단말은 상기 IMS 단말에 대한 성능 정보를 수신할 수 없게 되어, 상대측 단말이 IMS 단말인지를 확인할 수 없고, CSI 서비스를 위해서 필요한 기타 다른 성능 정보를 수신하지 못함으로써 CSI 서비스가 정상적으로 제공되지 못한다. 또한 CSI 단말과 IMS 단말 간에 멀티미디어 서비스를 위한 IMS 세션을 설정하기 위하여 IMS 단말이 SIP INVITE 메시지를 전달한 경우에도, CSI 단말은 CS 호 요청 메시지를 통해서 IMS 단말의 성능 정보를 수신할 수 없으므로 CSI 서비스가 제공되지 못한다.
이와 같이 단말이 송신하는 요청 메시지에 자신의 성능 정보를 포함시키지 못하는 경우, 후술되는 실시예의 SIP AS는 상기 요청 메시지에 상기 단말의 성능 정보를 삽입하여 상대측 단말로 전달한다. 구체적으로 IMS 단말의 성능 정보를 생성하여 CSI 단말에게 전달하기 위해 CSI AS를 활용하는 방안과, VCC 단말의 성능 정보를 생성하여 CSI 단말에게 전달하기 위하여 VCC AS(혹은 VCC 단말의 네트워크, 즉 송신측 네트워크 위치한 MGCF)와 CSI AS를 활용하는 방안을 제안한다.
상기 VCC 단말은 CS 서비스와 IMS 서비스를 모두 지원 가능하다. 단, 사용자의 기호(Preference), 사업자의 정책, 네트워크 상황 및 무선 상태에 따라서 CS 도메인을 통해서 서비스를 제공받거나 혹은 IMS 도메인을 통해서 서비스를 제공받는다. 이에 비하면, CSI 단말은 IMS 도메인과 CS 도메인을 통해서 동시에 서비스가 가능한 점에서 VCC 단말과 구별된다.
IMS 단말의 성능 정보를 추가하기 위해 CSI AS를 활용하는 경우, 성능 교환(Capability exchange)을 지원하는 CSI 단말과 성능 교환을 지원하지 않는 일반적인 3G(3rd Generation) IMS 단말이 서로 통신할 때, CSI AS를 통해서 CSI 단말에게 IMS 단말의 성능 정보를 전달한다.
상기 IMS 단말은 CS 서비스와 IMS 서비스를 개별적으로 사용 가능하나, CS와 IMS의 컴바이닝(Combining) 서비스, 즉 CSI 서비스가 불가능하다. 그러므로, 후술되는 실시예에서 IMS 단말은 CSI 단말이 가지는 성능 교환 기능을 수행할 수 없다고 정의한다. 또한 CSI AS는 수신 측 단말의 IMS 네트워크에 위치하고 있는 SIP AS이며, 송신 측으로부터 수신 측으로 전달되는 SIP INVITE 메시지를 수신하여 상기 SIP INVITE 메시지에 포함된 미디어(Media) 타입(Type)을 분석하고, 상기 SIP INVITE 메시지에 포함된 음성 미디어 정보는 CS 호로 전환될 수 있도록 CS 도메인으로 전달하고, 비디오 및 패킷 미디어 정보 등은 IMS 도메인을 통해서 전달해주는 기능을 수행한다.
도 6a 및 도 6b(이하 도 6이라 칭함)는 본 발명의 바람직한 실시예에 따라 IMS 단말이 CSI 단말에게 VoIP 호를 요청하는 경우의 메시지 흐름을 나타내는 도면이다.
도 6을 참조하면, IMS 서비스가 가능한 발신 단말인 UE-A(601)는 CSI 서비스와 VCC 서비스를 지원하지 않으나, CS 서비스와 IMS 서비스를 개별적으로 수행 가능한 일반적인 2G(2nd Generation)/3G 단말, 즉 순수 IMS 단말이다. UE-A(601)는, 착신측 CSI 단말인 UE-B(613)와의 VoIP 세션(Session)을 설정하기 위해 SIP INVITE 메시지를 발생한다. 여기서 상기 SIP INVITE 메시지는 UE-A(601)의 성능 정보를 포함하고 있지 않다. 상기 SIP INVITE 메시지는 UE-A(601)가 속한 IMS 도메인의 네트워크 엔터티인 X-CSCF(603)와 UE-B(613)가 속해 있는 착신측 네트워크의 IMS 네트워크 엔터티인 X-CSCF(605)로 라우팅되고, 상기 착신측 IMS 네트워크 엔터티(605)에서 미리 정해진 규칙(예를 들어, UE-B(613)의 초기 필터링 조건(Initial Filter Criteria) 등)에 따라서, 프록시(Proxy) 방식으로 동작하는 CSI AS(607)로 전달된다[615].
CSI AS(607)은 상기 SIP INVITE 메시지가 IMS 도메인을 통해 수신되었음을 확인하면, 상기 SIP INVITE 메시지의 근원인 UE-A(601)이 PS 도메인을 통한 서비스가 가능하고, IMS 등록 상태에 있다고 판단한다. 이러한 판단을 바탕으로 CSI AS(607)은 UE-A(601)의 서비스 성능(service capability) 정보인 'PS 가능(PS available)' 및 IMS 상태 정보인 'IMS 등록' 등과 같은 성능 정보를 상기 SIP INVITE 메시지의 SIP 헤더 혹은 상기 SIP INVITE 메시지의 본문 안에 인코딩을 통해 삽입한다[617]. 다시 말해서 CSI AS(607)는 UE-A(601)로부터 전달된 상기 SIP INVITE 메시지로부터 알 수 있는 모든 성능 정보를 획득하거나 혹은 추론을 통해 상기 성능 정보를 구성하여, 상기 SIP INVITE 메시지에 상기 성능 정보를 삽입한다.
보다 구체적으로 설명하면, CSI AS(607)는 상기 SIP INVITE 메시지에 포함된 서비스 식별자(Service ID), 'From Header' 정보, 'Contact Header' 정보, 어플리케이션 서비스 정보가 포함된 GRUU(Globally Routable UA URI) 등의 헤더 정보들을 확인함으로써, UE-A(601)가 CS 도메인에서 서비스를 요청하였는지 혹은 PS 도메인에서 서비스를 요청하였는지를 판단할 수 있다. 일 예로서 'From Header' 정보는, 'user=phone'로 설정된 경우 CS 단말임을 나타낸다.
다른 실시예로서 네트워크에서 가입자의 각 단말에 대한 성능 정보를 저장하는 데이터베이스로 동작하는 네트워크 엔터티를 제공하는 경우, CSI AS(607)는 상기 네트워크 엔터티와의 질의(query) 절차를 통해 UE-A(601)의 CS/PS 가능(available) 정보 및 기타 성능 정보를 획득한다.
즉 CSI AS(607)는 상기 SIP INVITE 메시지에 포함된 헤더 정보들을 분석하거나, 혹은 다른 네트워크 엔터티로 질의함으로써 획득한 UE-A(601)의 성능 정보를 통해서, UE-A(601)이 PS 도메인을 통한 서비스가 가능한지, CS 도메인을 통한 서비스가 가능한지 및 IMS 도메인에 등록되어 있는지에 대한 판단을 수행한다.
상기 SIP INVITE 메시지 내에 성능 정보를 인코딩을 통해 삽입하는 방법으로는, 앞서 설명한 바와 같이, SIP 헤더 내에 추가적인 특성 태그('feature tag')를 포함하여 구현하는 첫째 방안과, SIP 메시지의 본문 내에 XML 방식으로 기입하는 둘째 방식, SIP 메시지의 본문 내에 텍스트 형식으로 기입하는 셋째 방식, SIP 메시지의 본문 내에 바이너리 형식으로 기입하는 넷째 방식이 있다.
상기와 같이, UE-A(601)로부터 개시된, VoIP 서비스를 요청하는 상기 SIP INVITE 메시지는 CSI AS(607)에 의해서 UE-A(601)의 성능 정보가 인코딩을 통해 삽입된 SIP INVITE 메시지로 변환되어, IMS 네트워크 엔터티(605)를 통해서 착신측 네트워크의 MGCF(609)로 전달된다[619]. CSI AS(607)로부터 MGCF(609)로의 SIP INVITE 메시지에 대한 라우팅은, 해당 표준, 예를 들어 3GPP 표준에서 명시하고 있는 기술을 따른다. MGCF(609)는 UE-A(601)의 성능 정보를 포함한 상기 SIP INVITE 메시지를 CS 메시지인 ISUP/BICC IAM으로 변환한다[621]. 이때, UE-A(601)의 성능 정보는 상기 ISUP/BICC IAM 내의 사용자-사용자 정보(UUS 정보 필드)에 인코딩되어 삽입된다.
도 2의 CSI AS(607)에 의해서 삽입된 UE-A(601)의 성능 정보가 UUS 정보 필드에 인코딩되어 삽입되는 경우, 상기 UUS 정보 필드를 통해 전달되는 성능 정보의 포맷의 일 예는 앞서 설명한 <표 1>과 같다. CS 메시지에 포함되는 UUS 정보 필드에 성능 정보가 인코딩을 통해 삽입되는 구체적인 방식은, 구현에 따르거나 표준에서 명시하는 방식에 따른다.
MGCF(609)의 CS/IMS 변환 기능을 통해서 생성된 상기 ISUP/BICC IAM은 UE-B(613)가 속한 CS 도메인의 네트워크 엔터티(611)(예를 들어 MSC)으로 전달된다[623]. CS 도메인 내에서 UE-B(613)의 위치 정보를 파악하고 있는 CS 네트워크 엔터티(611)는 상기 ISUP/BICC IAM을 CC SETUP 메시지로 변환하여 UE-B(613)에게 전달한다[625]. UE-B(613)는 CSI AS(607)에 의해서 추가된 UE-A(601)의 성능 정보를 상기 CC SETUP 메시지에서 추출하여 UE-A(601)에 의해서 전송된 것이라고 인식하고, UE-A(601)의 성능 정보를 저장한다[627]. 이렇게 저장된 UE-A(601)의 성능 정보를 바탕으로 UE-B(613)는 향후 UE-A(601)과의 IMS 세션 설정이 가능함을 확인한다. 필요한 경우 UE-A(601)과 UE-B(613)간에 호 설정이 수행된다[629].
호 설정이 완료되면, CSI UE-B(613)는 상기 CC SETUP 메시지에 대한 응답인 CC CONNECT 메시지를 전송한다[631]. CSI UE-B(613)에 의해서 생성된 상기 CC CONNECT 메시지의 사용자-사용자 정보(즉 UUS 정보 필드)에는 상대 단말인 UE-A(601)에게 전달하기 위한 UE-B(613)의 성능 정보가 포함된다. 상기 CC CONNECT 메시지는 CS 네트워크 엔터티(611)에 의해서 ISUP/BICC CON/ANM으로 변환되어 MGCF(609)에게 전송된다[633]. MGCF(609)에서는 상기 ISUP/BICC CON/ANM을, 상기 SIP INVITE 메시지에 대응하는 SIP 응답인 SIP 183 세션 프로그레스 메시지 혹은 SIP 200 OK 메시지로 변환한다[635]. 이때, MGCF(609)는 상기 ISUP/BICC CON/ANM에서 추출된 UE-B(613)의 성능 정보를 상기 SIP 183 세션 프로그레스 메시지 혹은 SIP 200 OK 메시지에 인코딩을 통해 삽입한다[635]. 이때, 상기 성능 정보가 상기 SIP 183/200 OK 메시지에 인코딩되어 삽입되는 방식으로는 앞서 설명한 네 가지 방식들 중 하나가 사용된다.
상기 SIP 183/200 OK 메시지는 UE-B(613)의 IMS 네트워크 엔터티(605)를 거쳐서 CSI AS(607)로 전달된다[637]. 상기 SIP 183/200 OK 메시지를 수신한 CSI AS(607)은 상기 SIP 183/200 OK 메시지에 포함된 UE-B(613)의 성능 정보를 추출하여 저장한 후[639], 상기 SIP 183/200 OK 메시지를 그대로 UE-A(601)로 전달하거나 혹은 상기 SIP 183/200 OK 메시지에 포함된 UE-B(613)의 성능 정보를 제거한 후 UE-A(601)에게 전달한다[641]. 상기 SIP 183/200 OK 메시지는, 해당 표준, 예를 들어 3GPP 표준에서 명시된 IMS 도메인에서의 SIP 메시지의 라우팅 방식에 의해서 UE-A(601)에게 전달된다. 상기 CSI AS(607)에 저장된 상기 UE-B(613)의 성능 정보는 추후 UE-A(601)과 UE-B(613)의 IMS 접속시에 사용될 수 있다.
본 발명의 후술되는 실시예에서는 CSI 단말과 VCC 단말 간에 CSI AS와 VCC AS을 활용하여 성능을 교환하고, 성능 교환을 지원하는 CSI 단말과 성능 교환을 지원하지 않는 VCC 단말이 서로 통신할 때, VCC AS와 CSI AS를 통해서 CSI 단말에게 VCC 단말의 성능 정보를 전달한다. 상기 VCC 단말은 CS 서비스와 IMS 서비스를 개별적으로 사용 가능하나, CS와 IMS의 컴바이닝 서비스, 즉 CSI 서비스를 사용 가능하지 않으므로, CSI 단말과는 달리 성능 교환 기능을 수행하지 못한다. 또한 VCC AS는 단말의 무선 상태 및 사용자/사업자의 정책 등의 다양한 기준들을 이용하여 단말의 서비스 요청을 CS 도메인과 IMS 도메인 중 어느 도메인으로 전달할 것인지를 결정하고 CS 호를 IMS 세션으로 혹은 IMS 세션을 CS 호로 도메인 전환(Transfer)하는 CS 발신(Origination) 기능, CS 호를 위한 앵커링(Anchoring) 기능 등을 담당하는 SIP AS에 해당되며, 해당 표준, 예를 들어 3GPP 표준에 의해서 정의되는 기술에 따라 동작한다.
도 7a 및 도 7b(이하 도 7이라 칭함)는 본 발명의 바람직한 실시 예에 따라 VCC 단말이 CSI 단말에게 CS 호를 요청하는 경우의 메시지의 흐름을 나타내는 도면이다.
도 7을 참조하면, VCC 단말인 UE-A(701)는 착신측 CSI 단말인 UE-B(717)에게 CS 호를 요청하기 위한 CS 호 SETUP 메시지를 전송한다[721]. 상기 CS 호 SETUP 메시지는 CS 도메인의 네트워크 엔터티(703)(예를 들어 MSC)에 의해서 CS 메시지인 ISUP/BICC IAM으로 변환되어 UE-A(701)와 동일 네트워크에 위치한 MGCF(705)로 전달된다[721]. MGCF(705)는 상기 ISUP/BICC IAM을 IMS 메시지인 SIP INVITE 메시지로 변환한 후, 상기 SIP INVITE 메시지를 IMS 네트워크를 통해서 VCC AS(707)에게 전달한다[721].
VCC AS(707)은 상기 SIP INVITE 메시지에 포함된 송신자 정보를 분석하여, 상기 SIP INVITE 메시지가 CS 도메인으로부터 전달되었는지 혹은 IMS 도메인으로부터 전달되었는지를 판단한다. 만약 CS 도메인에서 전달된 경우, VCC AS(307)는 상기 SIP INVITE 메시지 내에 상기 SIP INVITE 메시지가 개시된(initiated) 도메인을 나타내기 위한 도메인 지시자(Indication)를 포함시킨다[723]. 상기 도메인 지시자는 상기 SIP INVITE 메시지 내에 송신자에 대한 정보를 나타낼 수 있는 SIP 헤더들인 "From header", "Contact header", "P-Asserted-Identity header", 혹은 "P-Charging-Vector header" 등에 포함될 수 있다.
상기 VCC AS(707)에서 상기 SIP INVITE 메시지 내에 도메인 지시자를 포함시키는 대신, MGCF(705)에서 상기 ISUP/BICC IAM을 SIP INVITE 메시지로 변환하는 과정 중에 MGCF(705)에 의해서 상기 SIP INVITE 메시지 내에 상기 SIP INVITE 메시지가 실제로 개시된 도메인을 나타내기 위한 도메인 지시자를 포함시키는 것도 가능하다.
상기 도메인 지시자가 포함된 SIP INVITE 메시지는 해당하는 인출 방향으로 전달되어, 수신 측 네트워크에 속한 IMS 네트워크 엔터티(709)를 통해서 수신 측 CSI 단말인 UE-B(317)를 위한 CSI 서비스를 지원하는 CSI AS(711)에게 전달된다[725]. CSI AS(711)는 상기 SIP INVITE 메시지가 CS 호 레그를 나타내는 도메인 지시자를 포함하였는지를 판단한다. 상기 SIP INVITE 메시지에 상기 도메인 지시자가 포함되어 있는 경우, CSI AS(711)는 상기 SIP INVITE 메시지가 실제로는 CS 도메인으로부터의 CS 호 SETUP 메시지에 의해서 트리거링(Triggering)된 것이라는 것을 인지한다. 따라서 CSI AS(711)는 상기 도메인 지시자와 상기 SIP INVITE 내에 포함된 정보들을 바탕으로 UE-A(701)을 대신하여 UE-A(701)의 성능 정보를 상기 SIP INVITE 메시지 내에 추가한다[727]. 앞서 설명한 바와 같이 상기 성능 정보는 상기 SIP INVITE 메시지로부터 추출되거나 혹은 다른 수단에 의해 추론된다.
이때, 상기 성능 정보에는 UE-A(701)가 CS 도메인에 위치하고 있는지의 여부를 나타내는 서비스 성능 정보(일 예로서 'PS 불가능(unavailable)'), 성능 정보의 변경 여부를 나타내는 버전 정보, IMS 등록(Registration) 여부를 나타내는 IMS 상태 정보(일 예로서 'IMS 미등록(unregistered)'), 사용자에게 속한 특정 단말을 구분하기 위한 ID 등이 포함될 수 있으며, 이 외에도 단말-단말 간에 교환되어 유용하게 활용될 수 있는 다양한 성능 정보들이 포함될 수 있다.
또한 CSI AS(711)은 상기 SIP INVITE 메시지에 포함된 미디어 파라미터를 검토하여 음성 미디어 정보가 포함되어 있는 경우, 상기 SIP INVITE 메시지가 CS 도메인을 통해서 UE-B(717)에게 전달되도록, 상기 SIP INVITE 메시지를 착신측 네트워크의 IMS 네트워크 엔터티(709)를 거쳐 MGCF(713)에게 전달한다[729]. UE-A(701)의 성능 정보가 포함된 상기 SIP INVITE 메시지를 수신한 MGCF(313)는, 앞서 설명한 방법을 이용하여 상기 SIP INVITE 메시지에 포함된 성능 정보를 ISUP/BICC IAM 내의 사용자-사용자 정보로 변환한다[731]. MGCF(713)에서 변환된 상기 ISUP/BICC IAM은 UE-B(717)이 속해 있는 CS 도메인의 네트워크 엔터티(715)로 전달된다[733]. CS 네트워크 엔터티(715)는 상기 ISUP/BICC IAM을 CC SETUP 메시지로 변환하여 UE-B(717)에게 전달한다[735]. UE-B(717)는 상기 CC SETUP 메시지에 포함되어 있던 UE-A(701)의 성능 정보를 추출하여 저장한다[737]. 이후 필요한 경우 UE-B(717)과 UE-A(701)간의 호 설정에 필요한 부가적인 메시지들의 교환이 추가적으로 발생한다[739].
UE-B(717)는 상기 CC SETUP 메시지에 대한 응답으로 자신의 성능 정보를 포함한 CC CONNECT 메시지를 생성하여 CS 네트워크 엔터티(715)으로 전달한다[741]. 상기 CC CONNECT 메시지는 CS 네트워크 엔터티(715)를 통해서 ISUP/BICC CON/ANM으로 전환되어 MGCF(713)로 전달된다[743]. 이때 CS 네트워크 엔터티(715)에서 MGCF(713)로 상기 ISUP/BICC CON/ANM이 전달되기 위한 라우팅은 해당 표준, 예를 들어 3GPP 표준에 명시된 기술을 따른다.
MGCF(713)는 상기 ISUP/BICC CON/ACM/ANM을 SIP 183 세션 프로그레스 메시지 혹은 SIP 200 OK 메시지로 변환하고, 앞서 설명된 방법을 이용하여 상기 ISUP/BICC CON/ACM/ANM의 사용자-사용자 정보 내에 포함된 UE-B(717)의 성능 정보를 상기 SIP 183/200 OK 메시지에 인코딩을 통하여 삽입한다[745]. MGCF(713)에서 변환된 상기 SIP 183/200 OK 메시지는 해당 표준, 예를 들어 3GPP 표준에 명시된 기술을 기반으로 UE-B(717)가 속해 있는 IMS 네트워크 엔터티(709)를 통해서 CSI AS(711)로 전달된다[747].
CSI AS(711)는 상기 SIP 183/200 OK 메시지에 포함된 성능 정보를 추출하여 저장한 후[749], 상기 SIP 183/200 OK 메시지를 그대로 인출 방향으로 전달한다. 이때, CSI AS(711)는 상기 SIP 183/200 OK 메시지에 포함된 성능 정보를 삭제한 후 출력할 수도 있다. 만약 상기 SIP 183/200 OK 메시지가 전달되는 UE-A(701)가 상기 성능 정보를 인지할 수 없다면, CSI AS(711)에서 상기 성능 정보는 무시된다. 그러나, UE-A(701)가 상기 성능 정보를 인지할 수 있다면, CSI AS(711)는 상기 성능 정보를 저장하여 추후 상기 UE-A(701)의 서비스를 위해서 활용한다.
CSI AS(713)에서 전달된 상기 SIP 183/200 OK 메시지는 해당 표준, 예를 들어 3GPP 표준과 VCC 서비스에서 정의하는 기술에 의해서 UE-A(701)가 속해 있는 발신측 네트워크의 MGCF(705)로 전달된다[751]. MGCF(305)는 상기 SIP 183/200 OK 메시지를 ISUP/BICC CON/ACM/ANM으로 변환하여 CS 네트워크 엔터티(703)로 전달한다[753]. CS 네트워크 엔터티(703)에서는 상기 ISUP/BICC CON/ACM/ANM을 CC CONNECT 메시지로 변환하여 UE-A(701)로 전달한다[755]. 상기 ISUP/BICC CON/ACM/ANM에 포함된 UE-B(717)의 성능 정보는 추후에 사용될 수 있도록 UE-A(701)에 저장된다.
VCC 단말이 위치하고 있는 IMS 네트워크의 MGCF가 성능 정보에 대한 변환을 수행할 수 있는 경우, 상기 MGCF에 의해서 기타 다른 성능 정보와 함께 도메인 지시자가 SIP INVITE 메시지 내에 인코딩되어 삽입될 수 있다. 그러나, VCC 단말이 위치하고 있는 IMS 네트워크의 MGCF가 성능 정보에 대한 변환을 수행할 수 없는 경우, 도메인 지시자는 VCC AS에 의해서 SIP INVITE 메시지 내에 포함된다. VCC AS(707) 혹은 MGCF(705)에 의해서 SIP INVITE 메시지에 포함되는 도메인 지시자는 호 설정 요청이 전달되어 온 도메인을 나타내기 위하여 CS 호 레그 혹은 IMS 호 레그를 지시할 수 있다.
즉, 만약 VCC AS가 수신한 SIP INVITE 메시지 내에 성능 정보가 포함되어 있는 경우, VCC AS는 상기 SIP INVITE 메시지에 CS 호 레그에 대한 도메인 지시자를 추가하지 않는다. 반면 VCC AS가 수신한 SIP INVITE 메시지 내에 성능 정보가 포함되어 있지 않은 경우, VCC AS는 CS 호 레그에 대한 도메인 지시자를 상기 SIP INVITE 메시지에 추가하여 해당 인출 방향으로 전달한다.
도 8은 본 발명의 바람직한 실시예에 따른 CSI AS의 동작을 나타낸 흐름도이다. 여기에서는 성능 정보를 처리하는 SIP AS의 일 예로 CSI AS를 설명한다.
도 8을 참조하면, 801단계에서 CSI AS는 단말로부터 개시된 SIP 메시지를 수신한다. 803단계에서 CSI AS는 상기 SIP 메시지가 INVITE 메시지와 같은 SIP 요청 메시지인지 혹은 183 세션 프로그레스나 200 OK 메시지와 같은 SIP 응답 메시지인지 확인한다. 만약 상기 SIP 메시지가 SIP 요청 메시지이면 805단계로 이동하고, 상기 SIP 메시지가 SIP 응답 메시지이면 813단계로 이동한다.
상기 805단계에서 CSI AS는 상기 SIP 요청 메시지 내에 CS 호 레그에 대한 도메인 지시자가 포함되었는지 확인한다. 상기한 도메인 지시자는 상기 SIP 요청 메시지를 발생시킨 송신자에 대한 정보가 포함된 SIP 헤더 혹은 상기 SIP 요청 메시지의 본문에 포함된 정보를 통해서 획득한다. 만약 상기 SIP 요청 메시지에 CS 호 레그를 나타내는 도메인 지시자가 포함되어 있으면 807단계로 이동하고, CS 호 레그를 나타내는 도메인 지시자가 포함되어 있지 않으면 809단계로 이동한다. 예를 들어 상기 SIP 요청 메시지가 어떠한 도메인 지시자도 포함하고 있지 않거나, 혹은 CS 호 레그를 나타내지 않는 도메인 지시자를 포함하는 경우, CSI AS는 809 단계로 진행한다.
상기 807단계에서, CSI AS는 상기 단말이 CS 도메인을 통해서 서비스 중이라는 값 혹은 PS 도메인을 통한 서비스가 불가능하다는 값이 설정된 서비스 성능 정보(예를 들어 'CS 가능(available)')와, 상기 단말이 IMS 미등록(Unregistrated)임을 나타내는 값이 설정된 IMS 상태 정보를 포함한 성능 정보를 상기 SIP 요청 메시지에 추가한다.
상기 809단계에서, CSI AS는 상기 단말이 PS 도메인을 통한 서비스가 가능하다는 값 혹은 CS/PS 도메인을 통해 동시에 서비스가 가능하다는 값이 설정된 서비스 성능 정보(예를 들어 'PS 가능')와 상기 단말이 IMS 등록(registrated)임을 나타내는 값이 설정된 IMS 상태 정보를 포함한 성능 정보를 상기 SIP 요청 메시지에 추가한다.
811단계에서 CSI AS는 상기 성능 정보를 포함하도록 수정된 SIP 요청 메시지를 해당 인출 방향으로 전송하고, 817단계에서 다음 메시지의 수신을 대기한 후 801단계로 복귀한다.
한편 상기 801단계에서 상기 SIP 메시지가 SIP 응답 메시지인 것으로 판단한 경우, 813단계에서 CSI AS는 상기 SIP 응답 메시지 내의 SIP 헤더 혹은 본문에 단말의 성능 정보가 포함되어 있는지 확인한다. 만약 상기 SIP 응답 메시지에 성능 정보가 포함되어 있으면 815단계로 이동하고, 상기 SIP 응답 메시지에 성능 정보가 포함되어 있지 않으면 811단계로 이동한다.
상기 815단계에서 CSI AS는 상기 SIP 응답 메시지에 포함된 성능 정보를 추출하여 저장한다. 일 예로서 CSI AS는 상기 SIP 응답 메시지에 포함된 성능 정보로부터는 상기 단말의 IMS 상태 정보를 추출하여 저장하고, 상기 SIP 응답 메시지가 개시된 도메인의 타입에 따라 상기 단말의 서비스 성능 정보, 즉 상기 단말이 PS 가능인지 혹은 CS 가능인지를 결정하여 상기 서비스 성능 정보를 저장한다. 다른 경우 상기 SIP 응답 메시지에 포함된 성능 정보는 상기 단말의 IMS 상태 정보 및 상기 서비스 성능 정보를 모두 지시한다.
이후 CSI AS는 811단계로 진행하여 상기 SIP 응답 메시지를 해당 인출 방향으로 전송하고, 817 단계에서 다음 메시지의 수신을 대기한 후 801 단계로 복귀한다.
도 9는 본 발명의 바람직한 실시예에 따른 SIP AS를 나타낸 블록 구성도이다. 하기에서는 본 발명의 바람직한 실시예에서 제안하는 기능을 가진 CSI AS와 VCC AS에 대한 기능들을 총체적으로 포함하고 있는 SIP AS(900)의 구조를 나타내고 있으나, 각각의 서로 다른 기능을 수행하는 CSI AS와 VCC AS는 도시된 기능 블록들을 선택적으로 포함할 수 있음은 물론이다. 도시된 각 블록들의 기능을 설명하면 다음과 같다. 도시된 기능 블록들은 하드웨어 블록들 혹은 소프트웨어 실행 블록들로 구현되며, 도시하지 않은 시스템 버스 혹은 운영체제(Operation System)을 통해 상호간에 연결된다.
도 9를 참조하면, 수신부(910)/송신부(920)는 CS 도메인 혹은 IMS 도메인으로부터 IMS 메시지 또는 CS 메시지를 수신하고, SIP AS(900) 내에서 처리된 CS 메시지 혹은 IMS 메시지를 해당하는 인출 방향으로 송신하는 기능을 담당한다.
메시지 종류 판단부(909)는 수신부(910)로 수신된 메시지가 CS 도메인으로부터 수신된 것인지, 혹은 IMS 도메인으로부터 수신된 것인지를 판단하는 기능을 담당한다.
미디어 분석기(901)는 수신부(910)로부터 IMS 메시지를 수신하여, 상기 IMS 메시지에 포함된 SDP) 정보 및 상기 IMS 메시지의 SIP 헤더와 SIP 메시지 본문에 포함된 정보들을 바탕으로 상기 IMS 메시지로부터 음성 미디어 정보와 비디오 혹은 패킷 미디어 정보를 구별하고, 상기 IMS 메시지를 해당 미디어 타입에 따라서 구분해주는 기능을 담당한다.
데이터 저장부(902)는 서비스를 제공하기 위해서 필요한 데이터 및 수신된 메시지들에 포함된 정보들을 일시적으로 혹은 영구히 저장하는 기능을 담당한다.
네트워크 도메인 판단부(903)는 데이터 저장부(902)의 도움을 받아, 수신부(910)로 수신된 메시지를 CS 도메인으로 전달할 지 IMS 도메인으로 전달할 지 결정하는 기능을 담당한다.
데이터 생성부(906)는 송신부(920)를 통해 송신하고자 하는 IMS 메시지 혹은 CS 메시지를 생성하거나, SIP AS(900) 내에 포함된 판단부(903, 909)와 분석기(901) 등의 도움을 받아, 수신부(910)를 통해 수신된 메시지를 수정하는 기능을 담당한다.
IMS 메시지 처리부(904)는 판단부(903, 909)와 분석기(901)의 도움을 받아 송신하고자 하는 IMS 메시지를 수정하거나, 수신된 IMS 메시지를 기반으로 새로운 IMS 메시지를 구성하거나 혹은 CS 메시지로 변환하는 기능 및 B2BUA(Back-to-Back User Agent) 및 연동(Interworking) 기능을 포함한다.
CS 메시지 처리부(905)는 판단부(903, 909)와 분석기(901)의 도움을 받아 송신하고자 하는 CS 메시지를 수정하거나, 수신된 CS 메시지를 기반으로 새로운 CS 메시지를 구성 혹은 IMS 메시지로 변환하는 기능을 담당한다.
도메인 전환(Domain Transfer) 수행부(907)는 CS 도메인을 통해서 서비스를 받고 있던 단말을 IMS 도메인을 통해 서비스 받도록 전환하거나, IMS 도메인을 통해서 서비스 받고 있던 단말을 CS 도메인을 통해서 서비스 받도록 전환하는 기능을 담당한다.
호 앵커링(CALL ANCHORING) 처리부(908)는 수신된 메시지의 목적지 주소 정보를 다른 주소 정보로 치환하고, 치환된 주소 정보를 저장하는 기능. 목적지 주소를 치환해줬던 단말에 대한 정보를 저장하는 기능. 저장된 정보를 바탕으로 역치환 서비스를 제공하는 기능을 담당한다.
한편 본 발명의 상세한 설명에서는 구체적인 실시예에 관해 설명하였으나 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 물론이다. 그러므로 본 발명의 범위는 설명된 실시예에 국한되지 않으며, 후술되는 특허 청구의 범위 분만 아니라 이 특허 청구의 범위와 균등한 것들에 의해 정해져야 한다.