KR20100084962A - 피쳐 상호작용 검출 방법 - Google Patents

피쳐 상호작용 검출 방법 Download PDF

Info

Publication number
KR20100084962A
KR20100084962A KR1020090093437A KR20090093437A KR20100084962A KR 20100084962 A KR20100084962 A KR 20100084962A KR 1020090093437 A KR1020090093437 A KR 1020090093437A KR 20090093437 A KR20090093437 A KR 20090093437A KR 20100084962 A KR20100084962 A KR 20100084962A
Authority
KR
South Korea
Prior art keywords
feature
connection
call
connections
initial
Prior art date
Application number
KR1020090093437A
Other languages
English (en)
Other versions
KR101464774B1 (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
Application filed by 아바야 인코포레이티드 filed Critical 아바야 인코포레이티드
Publication of KR20100084962A publication Critical patent/KR20100084962A/ko
Application granted granted Critical
Publication of KR101464774B1 publication Critical patent/KR101464774B1/ko

Links

Images

Classifications

    • 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/4217Managing service interactions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1083In-session procedures
    • H04L65/1086In-session procedures session scope modification
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1101Session protocols
    • H04L65/1104Session initiation protocol [SIP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications
    • H04L65/403Arrangements for multi-party communication, e.g. for conferences
    • H04L65/4046Arrangements for multi-party communication, e.g. for conferences with distributed floor control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/42Systems providing special services or facilities to subscribers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/42Systems providing special services or facilities to subscribers
    • H04M3/50Centralised arrangements for answering calls; Centralised arrangements for recording messages for absent or busy subscribers ; Centralised arrangements for recording messages
    • H04M3/51Centralised call answering arrangements requiring operator intervention, e.g. call or contact centers for telemarketing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/42Systems providing special services or facilities to subscribers
    • H04M3/428Arrangements for placing incoming calls on hold
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/42Systems providing special services or facilities to subscribers
    • H04M3/56Arrangements for connecting several subscribers to a common circuit, i.e. affording conference facilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/42Systems providing special services or facilities to subscribers
    • H04M3/58Arrangements for transferring received calls from one subscriber to another; Arrangements affording interim conversations between either the calling or the called party and a third party

Abstract

다자간 호(call)(즉, 둘 보다 많은 엔드포인트를 포함하는 호) 및 브릿지 어피어런스(bridged appearances)를 갖는 호에서 피쳐 상호작용(feature interaction)을 검출하는 방법이 개시된다. 예시적인 실시예에 따르면, 피쳐 간의 상호작용을 검출하기 위해 두 피쳐의 세부사항(specification)에 룰의 세트를 적용한다. 룰은 피쳐에 대한 최초의 접속, 피쳐에 대한 결과적인 접속, 피쳐에 대한 촉발자(triggering party) 및 접속의 발신자 및 착신자에 대한 조건 및 이들에 간의 관계를 지정한다. 호에 대한 최초 및 결과적인 접속들 중 임의의 접속이 룰의 조건에 일치하는 경우 이 룰은 다자간 호에 일치하는 것으로 간주된다. 유사하게, 브릿지 어피어런스의 호를 포함하여, 호에 대한 최초 및 결과적인 접속들 중 임의의 접속이 룰의 조건에 일치한다면, 이 룰은 하나 이상의 브릿지 어피어런스을 갖는 호에 일치하는 것으로 간주된다.

Description

피쳐 상호작용 검출 방법{FEATURE INTERACTION DETECTION IN MULTI-PARTY CALLS AND CALLS WITH BRIDGED APPEARANCES}
본 출원은 "Mid-Call Detection And Resolution of Feature Interactions"라는 제목의 미국 특허 출원 번호 제 12/392445호(대리인 도켓: 630-393us)와 "Feature Interaction Detection During Calls With Multiple-Leg Signaling Path"라는 제목의 미국 특허 출원 번호 제 12/392461호(대리인 도켓: 630-394us)와 관련있다.
본 발명은 일반적으로 원격통신에 관한 것으로, 특히 다자간 호(multi-party calls) 및 브릿지 어피어런스(bridged appearances)를 갖는 호에서 피쳐 상호작용(feature interactions)을 검출하는 것에 관한 것이다.
수년에 걸쳐, 호 전송, 3 방향 호, 대기 음악(music on hold) 등과 같은 다양한 원격통신 피쳐(서비스라고도함)가 개발되어 왔다. 그러나, 전화 호에 둘 이상의 피쳐가 적용되는 경우, 피쳐들 간의 상호작용은 예상치 못한 또는 원하지 않는 작용을 야기할 수 있는데, 예를 들어, 정책이 우회되거나 또는 호 실패가 있을 수 있다. 예를 들어, 회의 통화 기능 피쳐(meet-me conferencing feature)를 통해 호가 수립되고, 그런 다음 대기 음악 피쳐가 호 중에 활성화되는 경우를 가정한다. 호 참여자들 중 하나가 대기 상태로 진행하는 경우, 호의 다른 모든 상대방은 또한 보류음을 듣게될 것이다.
전형적으로, 전화 플랫폼의 판매상은 설계시에 피쳐 상호작용을 예측해보려 한다. 그러나, 설계시 기법(desing-time technique)의 플랫폼 판매상의 설계에서의 피쳐 이외의 새로운 피쳐를 하나 이상의 제3자가 추가하는 경우에 발생할 수 있는 피쳐 상호작용을 예상하기는 어렵다는 것이다. 한편, 런-타임 피쳐 상호작용 검출 및 해결 기법은 전형적으로 상세한 모델(detailed model)에 의존하는데, 이 상세한 모델은 분산형 네트워크 환경에서는 유지되기 어렵고 호 수립시 처리할 수 없는 계산 오버헤드를 야기할 수 있다.
본 발명은 다자간 호(즉, 둘 보다 많은 엔드포인트를 포함하는 호) 및 브릿지 어피어런스를 갖는 호에서 피쳐 상호작용을 검출하는 기법을 제공한다. 예시적인 실시예에 따르면, 피쳐들 간의 상호작용을 검출하기 위해 두 피쳐의 세부사항(specification)에 룰 세트가 적용된다. 특히, 룰은 아래에 기재된 것들 중 하나 이상에 대한 조건 또는 그들 사이의 관계를 특정한다.
ㆍ 제 1 피쳐에 대한 최초 접속(original connections)의 세트(즉, 제 1 피 쳐가 적용되기 전의 접속의 세트),
ㆍ 제 1 피쳐에 대한 결과적인 접속(resulting connections)의 세트(즉, 제 1 피쳐가 적용된 이후의 접속의 세트),
ㆍ 제 1 피쳐의 촉발자(triggering party)(즉, 제 1 피쳐의 활성화를 촉발하는 엔드포인트의 아이덴티티),
ㆍ 제 1 피쳐의 최초 접속의 발신자(originating party),
ㆍ 제 1 피쳐의 최초 접속의 착신자(terminating party),
ㆍ 제 1 피쳐의 결과적인 접속의 발신자,
ㆍ 제 1 피쳐의 결과적인 접속의 착신자,
ㆍ 제 2 피쳐에 대한 최초 접속의 세트,
ㆍ 제 2 피쳐에 대한 결과적인 접속의 세트,
ㆍ 제 2 피쳐의 촉발자,
ㆍ 제 2 피쳐의 최초 접속의 발신자,
ㆍ 제 2 피쳐의 최초 접속의 착신자,
ㆍ 제 2 피쳐의 결과적인 접속의 발신자, 및
ㆍ 제 2 피쳐의 결과적인 접속의 착신자.
두 피쳐가 임의의 룰에 일치하는 것으로 밝혀지면, 그 피쳐들 간에는 상호작용이 있다. 호에 대한 최초 및 결과적인 접속들 중 임의의 접속이 룰의 조건에 일치하는 경우 이 룰은 다자간 호에 일치하는 것으로 간주된다. 유사하게, 브릿지 어피어런스의 호를 포함하여, 호에 대한 최초 및 결과적인 접속들 중 임의의 접속 이 룰의 조건에 일치한다면, 이 룰은 하나 이상의 브릿지 어피어런스를 갖는 호에 일치하는 것으로 간주된다.
예시적인 실시예는 둘 보다 많은 엔드포인트를 포함하는 호에 대한 제 1 피쳐와 상기 호에 대한 제 2 피쳐가 상호작용하는지 여부를 결정하는 단계를 포함한다.
본 명세서 및 첨부된 청구항에서 사용되는 용어에 대한 정의가 아래에서 주어진다.
명세서 및 청구항에서, "호(call)"라는 용어는 하나 이상의 원격통신 단말기 사용자를 포함하는 상호 통신으로서 정의된다. 호는 종래의 음성 전화 호, VoIP(Voice over Internet Protocol) 호, 접속 설정 프로토콜(Session Initiation Protocol: SIP) 세션, 인스턴트 메시징(Instant Messaging: IM) 세션, 화상 회의 등일 수 있다.
본 발명의 제 1 예시적인 실시예에 따르면, 피쳐 상호작용을 검출하는데 5개의 기본 룰이 이용되는데, 각 룰은 다자간 호에 대한 하나의 변형(variant)과 브릿지 어피어런스를 갖는 호에 대한 하나의 변형을 갖는다. 이들 룰들 중 일부는 호 동안 소정의 상황(예를 들어, 호가 선별(screen)되거나, 호가 차단되거나 등)을 다 루기 위해 네트워크에 의해 트리거되는 안내(announcement) 또는 톤(tones)인 트리트먼트(treatment)를 취급한다. 잠재적으로, 특정 호에 관련된 트리트먼트는 여러 개 일 수 있다. 예를 들어, 하나의 피쳐는 호 동안 상대방을 통화중 트리트먼트(busy treatment)에 연결시킬 수 있는 한편, 제 2 피쳐는 동일한 호 동안 상대방(동일한 상대방이거나 또는 또 다른 상대방)을 네트워크 이용불가 트리트먼트(network unavailable treatment)에 연결시킨다.
제 1 예시적인 실시예에 따르면, 자동화된 룰 매칭을 용이하게 함으로써 얻어지는 추가의 이점을 갖는 피쳐의 작용을 정확히 설명하도록 표기가 이용된다. 이 표기의 예로서, "호 전달(call forwarding)"이라는 피쳐, 또는 간단히 "CFU"는 이러한 표기를 사용하면 다음과 같이 표현될 수 있다.
CFU : TP:C; A,C → A,B
여기서,
ㆍ "TP:C"는 엔드포인트(C)가 촉발자(즉, 피쳐가 활성화되는 엔드포인트)임을 의미하고,
ㆍ 화살표 왼쪽에 있는 "A,C"는 엔드포인트(A,C) 사이에 최초 접속(즉, 피쳐가 활성화되기 전의 A와 C 사이의 접속)이 존재함을 의미하며,
ㆍ 화살표 오른쪽에 있는 "A,B"는 엔드포인트(A,B) 사이에 결과적인 접속(즉, 피쳐가 활성화된 이후의 A와 B 사이의 접속)이 존재함을 의미한다.
또 다른 예로서, "다자간 호 참여(multi-party call join)"라는 피쳐, 간단히 "ConfJoin"는 이러한 표기를 사용하면 아래와 같다.
Confjoin : TP:A; [A,C],A,B→ A,B,C
여기서,
ㆍ "TP:A"는 엔드포인트(A)가 촉발자임을 의미하고,
ㆍ 화살표 왼쪽에 있는 "[A,C]"는 대기 중으로 있던 엔드포인트(A,C) 사이에 최초 접속이 존재함을 의미하며,
ㆍ 화살표 왼쪽에 있는 "A,B"는 엔드포인트(A,B) 사이에 최초 접속이 존재함을 의미하고,
ㆍ 화살표 오른쪽에 있는 "A,B,C"는 엔드포인트(A,B,C) 사이에 결과적인 접속(즉, A와 B, A와 C 및 B와 C 사이의 결과적인 접속)이 존재함을 의미한다.
다자간 호
다자간 호의 룰 1a
만약(IF)
피쳐1 및 피쳐2가 동일한 촉발자를 가지고
또한(AND)
(피쳐1의 결과적인 접속 = 피쳐2의 결과적인 접속
또는(OR)
피쳐1의 최초 접속 = 피쳐2의 최초 접속)
인 경우(THEN)
피쳐1 및 피쳐2는 상호작용한다.
다자간 호의 룰 2a
만약
피쳐1의 최초 접속 = 피쳐2의 결과적인 접속
또한
피쳐2의 최초 접속 = 피쳐1의 결과적인 접속
인 경우
피쳐1 및 피쳐2는 상호작용한다.
다자간 호의 룰 3a
만약
피쳐2가 트리트먼트에 연결되고
또한
{피쳐1의 결과적인 접속}∩{피쳐2의 최초 접속}≠φ
또한
∃X∈{피쳐1의 최초 접속}
∃Y∈{피쳐1의 결과적인 접속} |
[발신자(X) = 발신자(Y) ∧
착신자(X) ≠ 착신자(Y)]
또는
[발신자(X) = 착신자(Y) ∧
발신자(Y) = 착신자(X)]
인 경우
피쳐1 및 피쳐2는 상호작용한다.
다자간 호의 룰 4a
만약
{피쳐1의 결과적인 접속}∩{피쳐2의 최초 접속}≠φ
또한
[∃X∈{피쳐1의 최초 접속}
∃Y∈{피쳐1의 결과적인 접속} |
[발신자(X) = 착신자(Y) ∧
발신자(Y) = 착신자(X)]]
또는
[∃X∈{피쳐2의 최초 접속}
∃Y∈{피쳐2의 결과적인 접속} |
[발신자(X) = 발신자(Y) ∧
착신자(X) ≠ 착신자(Y)]]
인 경우
피쳐1 및 피쳐2는 상호작용한다.
다자간 호의 룰 5a
만약
피쳐1의 최초 접속 = 피쳐2의 최초 접속
또한
[∃X∈{피쳐1의 최초 접속}
∃Y∈{피쳐1의 결과적인 접속} |
[착신자(Y) = 트리트먼트 ∧
발신자(X) = 촉발자(피쳐1)]]
또는
[∃X∈{피쳐2의 최초 접속}
∃Y∈{피쳐2의 결과적인 접속} |
[착신자(Y) = 트리트먼트 ∧
발신자(X) = 촉발자(피쳐2)]]
인 경우
피쳐1 및 피쳐2는 상호작용한다.
브릿지 어피어런스(BA)
엔드포인트(A)가 엔드포인트(B)를 호출하고 B는 엔드포인트(C)에 대해 이미 브릿지 어피어런스로 존재하는 경우, A는 B에 접속되고, 또한 C에도 접속된다. 유 사하게, 엔드포인트(B)가 A를 호출하고, B는 엔드포인트(C)에 대해 이미 브릿지 어피어런스로 존재하는 경우, 발신자와 착신자는 역전되되 동일한 접속관계가 이루어진다. 표기를 사용하면, 첫 번째 경우는 다음과 같이 표현될 수 있다.
BA : TP:B; A,B → A,B-C
여기서, "B-C"는 B가 C에 대해 브릿지 어피어런스로 존재함을 나타내며, 두 번째 경우는 다음과 같이 표현될 수 있다.
BA : TP:B; B,A → B-C,A
후속하는 룰은 브릿지 어피어런스가 이미 존재하는 호에 대한 두 피쳐의 상호작용을 검출할 수 있다. 다시 말해, 이들 룰은 BA 피쳐의 활성화 이후 적용되는 두 피쳐 간에 상호작용이 존재하는 때를 검출한다.
하나 이상의 BA를 갖는 호에 대한 룰 1b: 룰 1a와 동일함
만약
피쳐1 및 피쳐2가 동일한 촉발자이고
또한
(피쳐1의 결과적인 접속 = 피쳐2의 결과적인 접속
또는
피쳐1의 최초 접속 = 피쳐2의 최초 접속)
인 경우
피쳐1 및 피쳐2는 상호작용한다.
하나 이상의 BA를 갖는 호에 대한 룰 2b: 룰 2a와 동일함
만약
피쳐1의 최초 접속 = 피쳐2의 결과적인 접속
또한
피쳐2의 최초 접속 = 피쳐1의 결과적인 접속
인 경우
피쳐1 및 피쳐2는 상호작용한다.
하나 이상의 BA를 갖는 호에 대한 룰 3b
만약
피쳐2가 트리트먼트에 연결되고
또한
{BA 상의 상대방을 포함한, 피쳐1의 결과적인 접속}∩{BA 상의 상대방을 포함한, 피쳐2의 최초 접속}≠φ
또한
∃X∈{BA 상의 상대방을 포함한, 피쳐1의 최초 접속}
∃Y∈{BA 상의 상대방을 포함한, 피쳐1의 결과적인 접속} |
[발신자(X) = 발신자(Y) ∧
착신자(X) ≠ 착신자(Y)]
또는
[발신자(X) = 착신자(Y) ∧
발신자(Y) = 착신자(X)]
인 경우
피쳐1 및 피쳐2는 상호작용한다.
하나 이상의 BA를 갖는 호에 대한 룰 4b
만약
{BA 상의 상대방을 포함한, 피쳐1의 결과적인 접속}∩{BA 상의 상대방을 포함한, 피쳐2의 최초 접속}≠φ
또한
[∃X∈{BA 상의 상대방을 포함한, 피쳐1의 최초 접속}
∃Y∈{BA 상의 상대방을 포함한, 피쳐1의 결과적인 접속} |
[발신자(X) = 착신자(Y) ∧
발신자(Y) = 착신자(X)]]
또는
[∃X∈{BA 상의 상대방을 포함한, 피쳐2의 최초 접속}
∃Y∈{BA 상의 상대방을 포함한, 피쳐2의 결과적인 접속} |
[발신자(X) = 발신자(Y) ∧
착신자(X) ≠ 착신자(Y)]]
인 경우
피쳐1 및 피쳐2는 상호작용한다.
하나 이상의 BA를 갖는 호에 대한 룰 5b
만약
피쳐1의 최초 접속 = 피쳐2의 최초 접속
또한
[∃X∈{BA 상의 상대방을 포함한, 피쳐1의 최초 접속}
∃Y∈{BA 상의 상대방을 포함한, 피쳐1의 결과적인 접속} |
[착신자(Y) = 트리트먼트 ∧
발신자(X) = 촉발자(피쳐1)]]
또는
[∃X∈{BA 상의 상대방을 포함한, 피쳐2의 최초 접속}
∃Y∈{BA 상의 상대방을 포함한, 피쳐2의 결과적인 접속} |
[착신자(Y) = 트리트먼트 ∧
발신자(X) = 촉발자(피쳐2)]]
인 경우
피쳐1 및 피쳐2는 상호작용한다.
도 1은 본 발명의 제 1 예시적인 실시예에 따른, 다자간 호 및 브릿지 어피 어런스의 호에 대한 피쳐 상호작용을 검출하고 해결하는 방법의 흐름도를 나타낸다. 본 명세서를 읽은 당업자라면 도 1에 기재된 작업들은 동시에 수행될 수도 있고 또는 개시되어 있는 순서와는 다른 순서로 수행될 수 있음을 알 것이다.
작업(110)에서, 둘 보다 많은 엔드포인트를 갖거나, 또는 하나 이상의 브릿지 어피어런스를 갖거나 또는 이들 모두를 갖는 호(C)에 대한 제 1 피쳐에 대해 피쳐(f1)가 초기화된다.
작업(120)에서, 호(C)에 대한 제 2 피쳐에 대해 피쳐(f2)가 초기화된다.
작업(130)은 피쳐(f1,f2)가 룰(1a-5a) 및 룰(1b-5b) 중 임의의 룰에 일치하는지 여부를 결정한다. 당업자라면, 이러한 결정을 수행하는데는 다양한 방식이 알려져 있음을 알 수 있는데, 예를 들어, 전문가 시스템의 룰-매칭 엔진, 로직 프로그램, 제약 만족 시스템, 원시적인 무차별 검색(naive brute-force search) 등이 있으며, 본 명세서를 읽은 당업자라면, 작업(130)을 수행할 수 있는 본 발명의 실시예를 구현 및 사용하는 방법을 알 수 있을 것이다.
피쳐(f1,f2)에 일치하는 룰은 없는 것으로 작업(130)이 결정한다면, 실행은 작업(140)으로 진행하고, 그렇지 않은 경우엔, 실행은 작업(150)으로 계속된다.
작업(140)에서, 피쳐(f1,f2)는 잘 알려져 있는 방식으로 활성화된다. 작업(140) 이후, 도 1의 방법은 종료된다.
작업(150)에서, 피쳐(f1,f2) 중 하나만이 잘 알려져 있는 방식으로 활성화된다. 당업자라면, 작업(150)이 두 피쳐 중 활성화될 하나의 피쳐를 선택할 수 있는 (즉, 작업(150)이 피쳐 상호작용 해결을 수행하는) 방식에는 여러 가지가 있음을 알 수 있을 것이다. 예를 들어, 본 발명의 일부 실시예에서, 작업(150)은 먼저 호출된(invoked) 피쳐를 결정론적으로 선택할 수 있고, 본 발명의 일부 다른 실시예에서는, 작업(150)은 나중에 호출된 피쳐를 결정론적으로 선택할 수 있으며, 일부 다른 실시예에서는, 그 밖의 다른 몇몇 결정 방법- 예를 들어, 이하에서 제 2 예시적인 실시예 및 도 2 내지 도 6를 참조하여 설명되는 방법 -이 수행될 수 있다. 어떤 경우에 있어서도, 본 명세서를 읽은 당업자라면, 작업(150)을 수행할 수 있는 본 발명의 실시예를 구현 및 사용할 수 있는 방법을 알 수 있을 것이다.
작업(150) 이후, 도 1의 방법의 실행은 종료된다.
당업자라면 알 수 있는 바와 같이, 도 1의 방법은 다양한 전화 플랫폼 및 프로토콜(예를 들어, 접속 설정 프로토콜(SIP)에 기반을 둔 VoIP 전화, 공중 전화 교환망(Public Switched Telephone Network: PSTN)을 통한 종래의 회선 교환형 전화 등)과 연계하여 구현될 수 있고, 본 명세서를 읽은 당업자라면, 이러한 플랫폼 및 프로토콜에 대한 이 방법에 기초하여 본 발명의 실시예를 구현 및 사용하는 방법을 알 수 있을 것이다.
중간 호(mid-call) 피쳐 상호작용 검출 및 해결
본 발명의 제 2 예시적인 실시예는 호 동안의 피쳐 상호작용의 검출 및 해결(즉, 중간 호 피쳐 상호작용 검출 및 해결)을 가능하게 한다. 제 2 예시적인 실시예의 기법은 다자간 호 및 브짓지 양상을 갖는 호에 대한 중간 호 피쳐 상호작용 검출 및 해결을 제공하기 위해 제 1 예시적인 실시예의 기법과 결합될 수 있다.
도 2는 본 발명의 제 2 예시적 실시예에 따라, 호 동안 피쳐 상호작용을 검출 및 해결하는 유한 상태 머신(FSM)(200)을 나타낸다. 도 2에 도시되어 있는 바와 같이, 유한 상태 머신(FSM)(200)은 상태(201 내지 206)를 포함하고, 상태(201)는 시작 상태이고 상태(205,206)는 최종 상태이다. 유한 상태 머신(FSM)(200) 내의 각 원호(또는 방향성 에지)는 제 1 상태에서 제 2 상태로의 합법적인 천이(legal transition)를 나타내고, 원호 상의 라벨은 천이의 설명을 제공한다.
시작 상태(201)에서, 피쳐(f1)가 활성화된다. 본 발명의 일부 실시예에서, 시작 상태(201)는 호 설정 전에 진입할 수 있고, 일부 다른 실시예에서, 시작 상태(201)는 호 설정 동안에 진입할 수 있으며, 그 밖의 다른 실시예에서, 시작 상태(201)는 호 동안에 호 설정 이후에 진입할 수 있다.
호 동안에 피쳐(f2)가 호출되는 경우, 유한 상태 머신(FSM)(200)은 시작 상태(201)를 벗어나 상태(202)로 진입한다.
상태(202)에서, 피쳐(f1,f2)에 대한 상호작용 체크가 수행된다. 상호작용이 있는 경우, 유한 상태 머신(FSM)(200)은 상태(202)를 벗어나 상태(203)로 진입한다.
상태(203)는 피쳐(f1) 또는 피쳐(f2)가 보다 높은 우선순위를 갖는지 여부에 따라 상태(204,205,206) 중 하나로 천이된다. (피쳐(f1) 및 피쳐(f2) 중 하나를 선택하는 피쳐 우선순위 및 해결 기법은 이하에서 도 3 내지 도 6을 참조하여 자세히 설명된다.) 피쳐(f1)가 피쳐(f2)보다 높은 우선순위를 갖는 경우, 상태(203)는 상태(206)로 천이된다. 피쳐(f2)가 피쳐(f1)보다 높은 우선순위를 갖고 피쳐(f2) 가 조건부인 경우, 상태(203)는 상태(204)로 천이된다. 피쳐(f2)가 피쳐(f1)보다 높은 우선순위를 갖고 피쳐(f2)가 무조건부인 경우, 상태(203)는 상태(205)로 천이된다.
상태(204)에서, 피쳐(f2)가 사용되는지 여부에 대한 체크가 수행된다. 사용되는 경우, 상태(204)는 상태(205)로 천이되고, 그렇지 않으면 상태(204)는 상태(206)로 천이된다.
최종 상태(205)에서, 호는 피쳐(f1)없이 반복된다.
최종 상태(206)에서, 다음 피쳐가 처리된다.
도 3은 본 발명의 제 2 예시적 실시예에 따라, 유한 상태 머신(FSM)(200)에 대응하는 방법에 대한 흐름도이다. 본 명세서를 읽은 당업자라면, 도 3에 기재되어 있는 작업은 동시에 수행될 수도 있고, 또는 기재되어 있는 것과는 다른 순서로 수행될 수도 있음을 알 것이다.
작업(310)에서, 피쳐(f1)가 활성화됨을 잘 알려져 있는 방식으로 나타내는 제 1 신호가 수신된다. 당업자라면 알 수 있는 바와 같이, 본 발명의 일부 실시예에서, 이 제 1 신호는 스위치에 의해 수신될 수고, 일부 다른 실시예서는 이 제 1 신호는 사설 교환기(private branch exchange: PBX)에 의해 수신될 수 있으며, 그 밖의 다른 실시예에서는, 이 제 1 신호는 몇몇 다른 데이터 처리 시스템으로부터 수신될 수 있다. 당업자라면 또한 알 수 있는 바와 같이, 본 발명의 일부 실시예에서, 피쳐(f1)는 특정 호를 수행하기 전에 작업(310)에서 활성화될 수 있고, 일부 다른 실시예에서, 피쳐(f1)는 특정 호 동안에 활성화될 수 있다. 어떠한 경우에 있어서도, 본 명세서를 읽은 당업자라면, 작업(310)을 수행할 수 있는 본 발명의 실시예를 구현 및 사용할 수 있을 것이다.
작업(320)에서, 호 동안 제 2 신호가 수신되고, 이 제 2 신호는 호 동안 피쳐(f2)가 호출됨을 나타낸다.
작업(330)은 피쳐(f1,f2)가 상호작용하는지 여부를 호 동안 결정한다. 당업자라면 알 수 있는 바와 같이, 피쳐 상호작용을 검출할 수 있는 방식에는 여러 가지가 있다. 예를 들어, 본 발명의 일부 실시예에서, 피쳐 상호작용은 제 1 예시적인 실시예의 룰의 세트를 통해 결정될 수 있고, 일부 다른 실시예에서는, 피쳐 상호작용 검출은 소정의 다른 기법을 통해 수행될 수 있다. 어떠한 경우에 있어서도, 본 명세서를 읽은 당업자라면, 작업(330)을 수행할 수 있는 본 발명의 실시예를 구현 및 사용하는 방법을 알 수 있을 것이다.
작업(340)은 작업(330)의 결정에 기초하여 분기한다. 작업(330)에서 피쳐(f1,f2)가 상호작용하지 않는 것으로 결정되면, 실행은 작업(350)으로 진행하고, 그렇지 않으면, 실행은 작업(360)으로 계속된다.
작업(350)에서, 피쳐(f2)는 잘 알려져 있는 방식으로 활성화된다. 작업(350)에서, 도 3의 방법의 실행은 종료된다.
작업(360)에서, 피쳐 상호작용이 해결된다. 당업자라면 알 수 있는 바와 같이, 피쳐 상호작용이 해결될 수 있는 방식에는 여러 가지가 있다. 예를 들어, 본 발명의 일부 실시예에서, 이하에서 도 4 내지 도 6을 참조하여 설명되는 기법들 중 하나가 피쳐 상호작용을 해결하기 위해 이용될 수 있고, 본 발명의 일부 다른 실시 예에서는, 일부 다른 기법이 사용되어 피쳐 상호작용을 해결할 수 있다. 어떠한 경우에 있어서도, 본 명세서를 읽은 당업자라면 작업(360)을 수행할 수 있는 본 발명의 실시예를 구현 및 사용할 수 있을 것이다.
작업(360) 이후, 도 3의 방법의 실행은 종료된다.
도 4는 본 발명의 제 2 예시적 실시예에 따라, 작업(350)을 수행하는 제 1 기법의 흐름도를 나타낸다. 이 제 1 기법에서, 보다 앞서 활성화된 피쳐(즉, 피쳐(f1))는 임의의 다른 고려사항(예를 들어, 피쳐(f1,f2)의 특성, 피쳐(f1)의 활성화와 피쳐(f2)의 호출 사이에서 경과된 시간 등)없이 항상 우선권이 주어진다.
작업(410)에서, 피쳐(f2)의 활성화는 거절된다. 당업자라면 알 수 있는 바와 같이, 일부 실시에에서, 이러한 거절은 피쳐(f2)가 활성화되지 않은 이유에 대한 소정 유형의 통지 또는 설명이 동반될 수 있고, 그 밖의 다른 일부 실시예에서, 활성화는 임의의 동반되는 동작없이 거절될 수 있다.
작업(410)이 완료된 이후, 도 4의 기법 및 도 3의 방법은 종료된다.
도 5는 본 발명의 제 2 예시적 실시예에 따라, 작업(350)을 수행하는 제 2 기법의 흐름도를 나타낸다. 이 제 2 기법에서, 보다 나중에 활성화된 피쳐(즉, 피쳐(f2))는 임의의 다른 고려사항없이 항상 우선권이 주어진다. 본 명세서를 읽은 당업자라면 도 5에 기재되어 있는 작업은 동시에 수행될 수도 있고, 또는 기재되어 있는 것과는 다른 순서로 수행될 수도 있음을 알 것이다.
작업(510)에서, 피쳐(f1)는 잘 알려져 있는 방식으로 비활성화된다.
작업(520)에서, 피쳐(f2)는 잘 알려져 있는 방식으로 활성화된다.
당업자라면 알 수 있는 바와 같이, 본 발명의 일부 실시예에서, 작업(510,520)은 이들 동작에 대한 소정 유형의 통지 또는 설명이 동반될 수 있고, 일부 다른 실시예에서는, 어떠한 통지 또는 설명도 존재하지 않을 수 있다.
작업(520)이 완료된 이후, 도 5의 기법 및 도 3의 방법은 종료된다.
도 6은 본 발명의 제 2 예시적 실시예에 따라, 작업(350)을 수행하는 제 3 기법의 흐름도를 나타낸다. 이 제 3 기법에서, 피쳐에 할당된 우선순위를 통해 피쳐 선호도가 결정된다. 본 명세서를 읽은 당업자라면, 도 6에 기재되어 있는 작업은 동시에 수행될 수도 있고, 또는 기재되어 있는 것과는 다른 순서로 수행될 수도 있음을 알 것이다.
작업(610)은 피쳐(f2)가 피쳐(f1)보다 높은 우선순위를 갖는지 여부를 체크한다. 높은 우선순위를 갖지 않는 경우, 실행은 작업(620)으로 진행하고, 그렇지 않으면, 실행은 작업(630)에서 계속된다.
작업(620)에서, 피쳐(f2)의 활성화는 거절된다. 당업자라면 알 수 있는 바와 같이, 일부 실시예에서, 이러한 거절은 피쳐(f2)가 활성화되지 않은 이유에 대한 소정 유형의 통지 또는 설명이 동반될 수 있고, 그 밖의 다른 일부 실시예에서, 활성화는 임의의 동반되는 동작없이 거절될 수 있다.
작업(620)이 완료된 이후, 도 6의 기법 및 도 3의 방법은 종료된다.
작업(630)에서, 피쳐(f1)는 잘 알려져 있는 방식으로 비활성화된다.
작업(640)에서, 피쳐(f2)는 잘 알려져 있는 방식으로 활성화된다.
당업자라면 알 수 있는 바와 같이, 본 발명의 일부 실시예에서, 작 업(630,640)은 이들 동작에 대한 소정 유형의 통지 또는 설명이 동반될 수 있고, 일부 다른 실시예에서는, 어떠한 통지 또는 설명도 존재하지 않을 수 있다.
작업(640)이 완료된 이후, 도 6의 기법 및 도 3의 방법은 종료된다.
당업자라면 알 수 있는 바와 같이, 본 발명의 일부 다른 실시예에서, 피쳐(f1,f2) 사이에서 우선순위의 "동률(ties)"은 피쳐(f1)보다 피쳐(f2)에 편들어 깨질 수 있고, 본 명세서를 읽은 당업자라면 이러한 대안적 실시예를 구현 및 사용하는 방법을 알 수 있을 것이다.
당업자라면 알 수 있는 바와 같이, 도 3 내지 도 6의 방법은 다양한 전화 플랫폼 및 프로토콜(예를 들어, 접속 설정 프로토콜(SIP)에 기반을 둔 VoIP 전화, 공중 전화 교환망(Public Switched Telephone Network: PSTN)을 통한 종래의 회선 교환형 전화 등)과 연계하여 구현될 수 있고, 본 명세서를 읽은 당업자라면, 이러한 플랫폼 및 프로토콜에 대해 본 방법에 기초하여 본 발명의 실시예를 구현 및 사용하는 방법을 알 수 있을 것이다.
멀티플-레그(multiple-leg) 시그널링 경로를 갖는 호에 대한 중간 호 검출
본 발명의 제 3 예시적인 실시예는 멀티플-레그 시그널링 경로를 갖는 호에 대한 피쳐 상호작용의 검출 및 해결을 가능하게 한다. 제 3 예시적 실시예의 기법은 둘 보다 많은 엔드포인트 및/또는 브릿지 어피어런스를 갖는 멀티플-레그 호에 대한 중간 호 피쳐 상호작용 검출 및 해결을 제공하기 위해 제 1 및 제 2 예시적 실시예의 기법과 결합될 수 있다.
도 7은 본 발명의 제 3 예시적 실시예에 따라, 멀티플-레그 시그널링 경로를 갖는 호에 대한 피쳐 상호작용을 검출 및 해결하는 제 1 방법의 흐름도이다. 본 명세서를 읽은 당업자라면, 도 7에 기재되어 있는 작업은 동시에 수행될 수도 있고, 또는 기재되어 있는 것과는 다른 순서로 수행될 수도 있음을 알 것이다.
작업(710)에서, 멀티플 레그 시그널링 경로를 갖는 호의 레그(L)에 대해 피쳐가 호출됨을 잘 알려져 있는 방식으로 나타내는 신호가 수신된다.
작업(720)에서, 레그(L)에 대한 피쳐 상태 정보는 그에 따라 업데이트되고 네트워크 내의 적절한 노드(들)에 저장된다. 당업자라면 알 수 있는 바와 같이, 본 발명의 일부 실시예에서, 피쳐 상태 정보는 아래에서 제 4 예시적 실시예를 참조하여 설명하는 바와 같이 하나 이상의 백 투 백 사용자 에이전트(Back-to-Back User Agents: B2BUAs)에 저장될 수 있고, 일부 다른 실시예에서는, 피쳐 상태 정보는 소정의 다른 유형의 노드, 예를 들어, 스위치, 서버, 사설교환기(PBX) 등에 저장될 수 있다. 어떠한 경우에 있어서도, 본 명세서를 읽은 당업자라면, 작업(720)을 수행할 수 있는 본 발명의 실시예를 구현 및 사용하는 방법을 알 수 있을 것이다.
작업(730)에서, 업데이트된 피쳐 상태 정보는 잘 알려져 있는 방식으로 호의 시그널링 경로를 따라 전파된다.
작업(740)에서, 필요에 따라, 시그널링 경로의 레그에 걸쳐 어드레스 매핑이 수행된다. 예를 들어, 시그널링 경로를 따르는 시그널링 요소는 경로의 일부분을 따르는 시그널링 요소의 어드레스를 제거할 수 있지만, 그렇지 않은 경우에 그 어 드레스는 시그널링 정보 내에서 유지될 수 있다. 이러한 시그널링 요소는 다른 시그널링 요소 및 엔드포인트에 대한 어드레스 정보를 변경할 수 있지만, 그렇지 않은 경우 그 어드레스 정보는 시그널링 정보 내에서 유지될 수 있다. 이러한 매핑 및 변형은 외부 시그널링 요소 및 엔드포인트로부터 내부 시그널링 토폴로지의 세부사항을 은직하고 하나 이상의 엔드포인트가 알 수 없는 시그널링 경로에 대한 변경을 허용하는데 사용된다. 작업(740)에서의 어드레스 매핑은 실제로 호 내에 있는 엔드포인트의 일관된 관점을 피쳐 상호작용 검출 룰에 제공한다.
작업(750)은 호출된 피쳐가 (i) 호 시그널링 경로의 다른 경로에 대한 피쳐, 또는 (ii) 레그(L)에 대한 또 다른 피쳐와 상호작용하는지 여부를 체크한다. 상호작용 하는 경우, 실행은 작업(760)으로 진행하고, 그렇지 않으면, 실행은 작업(770)에서 계속된다.
작업(760)에서, 피쳐는 잘 알려져 있는 방식으로 활성화된다. 작업(760) 이후, 도 7의 방법의 실행은 종료된다.
작업(770)에서, 피쳐 상호작용은 해결된다. 당업자라면 알 수 있는 바와 같이, 피쳐 상호작용을 해결할 수 있는 방식에는 여러 가지가 있다. 예를 들어, 본 발명의 몇몇 실시예에서, 위에서 도 4 내지 도 6를 참조하여 설명한 기법이 이용되어 피쳐 상호작용을 해결할 수 있고, 본 발명의 일부 다른 실시예에서는, 소정의 다른 기법이 이용되어 피쳐 상호작용을 해결할 수 있다. 어떠한 경우에 있어서도, 본 명세서를 읽은 당업자라면, 작업(770)을 수행할 수 있는 본 발명의 실시예를 구현 및 사용하는 방법을 알 수 있을 것이다.
작업(770)에서, 도 7의 방법의 실행은 종료된다.
도 8은 본 발명의 제 3 예시적 실시예에 따라, 멀티플-레그 시그널링 경로를 갖는 호에 대한 피쳐 상호작용을 검출 및 해결하는 제 2 방법의 흐름도이다. 본 명세서를 읽은 당업자라면, 도 8에 기재되어 있는 작업은 동시에 수행될 수도 있고, 또는 기재되어 있는 것과는 다른 순서로 수행될 수도 있음을 알 것이다.
작업(810)에서, 새로운 레그가 호에 추가되거나, 또는 새로운 레그가 이미 호에 추가되었음을 나타내는 신호가 수신된다.
작업(820)에서, 새로운 레그에 대한 피쳐 상태 정보가 잘 알려져 있는 방식으로 호의 시그널링 경로를 따라 전파된다.
작업(830)에서, 필요에 따라, 시그널링 경로의 레그에 걸쳐 어드레스 매핑이 수행된다. 예를 들어, 시그널링 경로를 따르는 시그널링 요소는 경로의 일부분을 따르는 시그널링 요소의 어드레스를 제거할 수 있지만, 그렇지 않은 경우 그 어드레스는 시그널링 정보 내에 유지될 수 있다. 이러한 시그널링 요소는 다른 시그널링 요소 및 엔드포인트에 대한 어드레스 정보를 변경할 수 있지만, 그렇지 않은 경우 그 어드레스 정보는 시그널링 정보 내에서 유지될 수 있다. 이러한 매핑 및 변형은 외부 시그널링 요소 및 엔드포인트로부터 내부 시그널링 토폴로지의 세부사항을 삭제하고 하나 이상의 엔드포인트에게 보이지 않는 시그널링 경로로의 변경을 허용하는데 사용된다. 작업(830)에서의 어드레스 매핑은 실제로 호 내에 있는 엔드포인트의 일관된 관점을 피쳐 상호작용 검출 룰에 제공한다.
작업(840)은 새로운 레그의 임의의 피쳐가 호의 임의의 기존 레그의 임의의 피쳐와 상호작용하는지 여부를 체크한다. 상호작용하는 경우, 실행은 작업(850)으로 진행하고, 그렇지 않으면, 실행은 작업(860)에서 계속된다.
작업(850)에서, 피쳐는 잘 알려져 있는 방식으로 활성화된다. 작업(850) 이후, 도 7의 방법의 실행은 종료된다.
작업(860)에서, 피쳐 상호작용이 해결된다. 당업자라면 알 수 있는 바와 같이, 피쳐 상호작용을 해결할 수 있는 방식에는 여러 가지가 있다. 예를 들어, 본 발명의 몇몇 실시예에서, 위에서 도 4 내지 도 6를 참조하여 설명한 기법이 이용되어 피쳐 상호작용을 해결할 수 있고, 본 발명의 일부 다른 실시예에서는, 소정의 다른 기법이 이용되어 피쳐 상호작용을 해결할 수 있다. 어떠한 경우에 있어서도, 본 명세서를 읽은 당업자라면, 작업(860)을 수행할 수 있는 본 발명의 실시예를 구현 및 사용하는 방법을 알 수 있을 것이다.
작업(860)에서, 도 8의 방법의 실행은 종료된다.
당업자라면 알 수 있는 바와 같이, 도 7 및 도 8의 방법은 다양한 전화 플랫폼 및 프로토콜(예를 들어, 접속 설정 프로토콜(SIP)에 기반을 둔 VoIP 전화, 공중 전화 교환망(Public Switched Telephone Network: PSTN)을 통한 종래의 회선 교환형 전화 등)과 연계하여 구현될 수 있고, 본 명세서를 읽은 당업자라면, 이러한 플랫폼 및 프로토콜에 대해 본 방법에 기초하여 본 발명의 실시예를 구현 및 사용하는 방법을 알 수 있을 것이다.
백투백 사용자 에이전트를 사용하는 VoIP의 구현
제 4 예시적 실시예는 전술한 제 1, 제 2 및 제 3 예시적 실시예와 연관된 작업을 수행할 수 있는 VoIP 호의 구현을 제공한다. 따라서, 제 4 예시적 실시예는 중간 호 피쳐 상호작용 검출 및 해결, 멀티플 레그 시그널링 경로를 갖는 호, 다자간 호 및 브릿지 어피어런스를 갖는 호를 취급할 수 있다.
제 4 예시적 실시예의 방식은 특성상 분산형으로서, VoIP 전화 및 접속 설정 프로토콜(SIP)에 대한 그의 애플리케이션을 용이하게 한다. 활성화된 각 피쳐는 그의 촉발자 및 접속 유형을 SIP 메시지 내에 포함한다. 메시지 내에 이미 하나 이상의 엔트리가 존재하는 경우, 현재 피쳐의 설명에서 그 엔트리들이 체크된다. 따라서, 그 필요한 곳이라면 어디에서든지 그 알고리즘이 실행되고, 중앙 피쳐 관리자는 필요없다. 이에 따라, 상기 방식은 확장성이 높다.
접속 설정 프로토콜(SIP)에 있어서, 표준 SIP 헤더는 충분한 세부사항을 제공하지 않으며, 따라서, 필요한 정보를 운반하는 추가의 헤더가 정의되었고 SIP 메시지와 함께 포함될 수 있다. 본 방식에 대해 필요한 정보를 운반하기 위해 두 개의 사설 헤더(priviate header), 즉 P-ConType 및 P-Forwarded-To가 정의되었다. P-ConType 헤더는 현재 세션 상에서 활성화되어 있는 피쳐의 설명을 포함하고, P-Forwared-To 헤더는 INVITE 요청이 다른 상대방으로 다시 방향 설정된 경우 초대된 상대방에 대한 ID를 포함한다.
피쳐 시퀀싱 동안, 현재의 SIP 메시지에 P-ConType 헤더가 있는지 확인된다. 이러한 헤더가 발견되지 않은 경우, 미리 활성화되어 있는 그 밖의 다른 피쳐는 존 재하지 않으며, 따라서 피쳐 상호작용은 발생하지 않았다. 이러한 경우, 새로운 P-ConType 헤더는 현재의 피쳐를 설명하는 메시지 내로 삽입된다. 예를 들어, 포워딩 피쳐의 경우, 헤더는 다음과 같다.
Figure 112009060453001-PAT00001
헤더는 ID 필드, 촉발자 및 접속 유형을 포함한다. ID는 헤더 내에서 기술되는 피쳐를 식별한다. TP는 촉발자을 포함하고 나머지 네 개의 필드는 접속 유형의 네 개의 필드에 대응한다.
제 4 예시적인 실시예에 따르면, 백투백 사용자 에이전트(B2BUAs)는 호 레그에 대한 피쳐 상태 및 시그널링 정보를 저장 및 유지하고 이 정보를 시그널링 경로를 따라 전파한다. 당업계에 잘 알려져 있는 바와 같이, 백투백 사용자 에이전트(B2BUA)는 접속 설정 프로토콜(SIP) 호의 종단 모두에 대한 사용자 에이전트로서 동작하고, 호 수립에서 종료까지 호의 양 종단 사이의 모든 SIP 시그널링을 처리하는 역할을 한다. SIP 클라이언트에 대해, 백투백 사용자 에이전트(B2BUA)는 한측에서는 사용자 에이전트 서버로서 동작하고 다른 한측(백투백)에서는 사용자 에이전트 클라이언트로서 동작한다. 백투백 사용자 에이전트(B2BUA)는 호 관리(예를 들어, 빌링, 자동 호 연결해제, 호 전달 등), 네트워크 상호작용(프로토콜 적응이 이루지기도 함), 네트워크 내부(예를 들어, 개인 어드레스, 네트워크 토폴로지 등)의 은닉, 두 개의 호 레그 간의 코덱 변환 등과 같은 추가의 기능을 제공할 수 있다. 당업계에 또한 잘 알려져 있는 바와 같이, 백투백 사용자 에이전트(B2BUA)는 투명 B2BUA(transparent B2BUA), 또는 모니터링 B2BUA(mornitoring B2BUA)일 수 있거나, 또는 세션 경계 제어(session border controller)(SBC)로서 기능할 수 있다.
투명 B2BUAs
투명 B2BUAs에 대해 두 가지 경우가 존재하는데, 제 1 경우에, 투명 B2BUA는 지정되어 있는 바와 같이 P-ConType 헤더 포워드를 운반할 수 있고 상호작용으로 인해 피쳐의 디스에이블링을 역전송할 수 있다. 이것은 헤드 내의 어떠한 정보도 변경되지 않으면서 이루어진다.
제 2 경우, 투명 B2BUA는 일부 헤더 내의 정보를 수정하는데, 이는 피쳐 상호작용 방식에 영향을 미칠 수 있다. 예를 들어, From/To/RequestURI 내의 변경을 통해 엔드포인트의 아이덴티티를 변경함으로써, 헤더와 P-ConType 헤더 내에 포함된 정보 간의 매핑은 깨지게 된다. 더 나아가, P-ConType 헤더는 상대방의 '이전' 아이덴티티를 알려줄 수 있다. 따라서, B2BUA는 변경된 SIP 헤더 내에서와 같이 P-ConType 헤더 내에서 값에 대한 동일한 어드레스 매핑을 수행할 필요가 있다. 이러한 매핑은 업스트림 및 다운스트림 메시지 모두에 대해 이루어진다.
도 9는 본 발명의 제 4 예시적 실시예에 따라, 제 2 경우에 대한 예시적인 접속 설정 프로토콜(SIP) 시그널링 경로(900)를 나타낸다. 도 9에 도시되어 있는 바와 같이, 시그널링 경로(900)는 도시되어 있는 바와 같이 상호접속되어 있는 사용자 에이전트(901-1, 901-2), 서버(902-1,902-2) 및 투명 백투백 사용자 에이전트(B2BUA)(903)를 포함하고, 두 개의 호 레그(904-1,904-2)를 포함한다.
사용자 에이전트(901-1,901-2)는 당업계에 잘 알려져 있는 접속 설정 프로토콜(SIP) 엔드포인트이다.
서버(902-1,902-2)는 당업계에 잘 알려져 있는 접속 설정 프로토콜(SIP) 서버이다.
전술한 바와 같이, 투명 백투백 사용자 에이전트(B2BUA)(103)는 P-ConType 헤더 및 그 밖의 다른 접속 설정 프로토콜(SIP) 헤더에 대해 어드레스 매핑을 수행한다. 사용자 에이전트(101-1,101-2), 서버(102-1,102-2) 및 투명 백투백 사용자 에이전트(B2BUA)(103) 간의 접속 설절 프로토콜(SIP) 메시지는 잘 알려져 있는 방식으로 시그널링 경로(900) 아래에 도시되어 있다. 두 개 이상의 투명 B2BUAs(즉, 체인형 B2BUAs)를 포함하는 시그널링 경로의 경우에 있어서, 매핑은 각 B2BUA에서 수행된다. 따라서, 당업자라면 알 수 있는 바와 같이, 체인형 B2BUA의 동작은 단일-B2BUA 경우의 시퀀스로서 관찰될 수 있다.
모니터링 B2BUAs
세션의 모니터링은 비가시적이거나(예를 들어, 합법적 인터셉트(Lawful Intercept) 등과 같은 피쳐를 통한 경우) 또는 가시적(예를 들어, 세션 기록(session recording) 등과 같은 피쳐를 통한 경우)일 수 있다. 비가시적 모니터링은 호 내의 다른 엔드포인트에 의해 검출되어서는 안되며, 따라서, 모니터링 엔드포인트로부터의 시그널링은 다른 엔드포인트에게 은닉될 필요가 있다. 이러한 기능을 제공하기 위해 B2BUA가 이용될 수 있지만, P-ConType 헤더에 의해 침해될 수 있는 프라이버시 이슈가 있다.
모니터링되는 호보다 높은 우선순위에 대해 모니터링이 비가시적인 경우, 합법적 인터셉트 또는 슈퍼바이저 모니터링과 같은 피쳐가 임의의 피쳐 상호작용 이슈보다 우선순위를 가져야 한다. 다시 말해, 모니터링으로 인한 일부 상호작용이 처리되지 않을 지라도 모니터링은 비가시적으로 유지되어야 한다. 이러한 시나리오의 예는 모니터링 상대방이 모니터링된 호의 상대방들 중 하나의 선별 리스트 상에 있는 경우이다. 이러한 시나리오에서, 모니터링 상대방에 대한 피쳐로부너의 P-ConType 헤더는 호의 다른 상대방에게 전송되지 않고, 호 설정은 피쳐 상호작용(피쳐들 중 하나를 디스에이블링함)으로 인해 결코 반복되어서는 안되는데, 그 이유는 이것은 다른 엔드포인트에서 검출될 수 있고 모니터링을 드러낼 수 있기 때문이다. 대신, 이러한 상호작용은 모니터링 상대방의 피쳐에 우선순위를 부여함으로써 해결된다.
모니터링되는 호와 동일한 또는 그보다 낮은 우선순위에 대해 모니터링이 비가시적인 경우, 모니터링은 디스에이블링되어야 한다. 이러한 시나리오의 예는 모니터링이 호에 대해 활성상태에 있고, 호의 모니터링을 허용하지 않는 피쳐를 갖는 상대방(예를 들어, 최고 경영 책임자 등)이 호에 참여하는 경우이다.
모니터링이 가시적인 경우, 프라이버시 이슈는 발생하지 않고, 따라서, P-ConType 헤더는 통상적인 방식으로 메시지 내에 포함될 수 있다. 또한, 피쳐 상호작용 해결은 이전의 예시적인 실시예에서 기술한 바와 수행될 수 있으나, 단, 발신 또는 착신 지점으로서 B2BUA를 갖는 호 레그에 대해, 호 레그 내의 피쳐 상호작용 은 B2BUA에서 해결된다.
일관되게 구성될 수 없는 다자간 호의 호 레그에 걸쳐 피쳐 상호작용이 있을 수 있다. 이러한 경우, 피쳐 상호작용은 상이한 레그에 대해 비대칭적으로 분석되어야 한다.
세션 경계 제어기(SBCs)
세션 경계 제어기(SBC)의 주요 기능은 외부 엔드포인트 및 시그널링 요소로부터 도메인 라우팅 및 엔드포인트 아이덴티티를 은닉시키는 것이다. 자연적으로, 이 기능은 제 4 예시적 실시예의 피쳐 상호작용 검출 방식과 대립하는데, 특히, 세션 경계 제어기(SBC)는 P-ConType 헤더 내의 정보를 전송하지 않을 것인데, 그 이유는 만일 그렇게 하는 경우 아이덴티티 및 이들 아이덴티티에 의해 사용되는 피쳐를 폭로할 수도 있기 때문이다.
그러나, 일 도메인 내의 피쳐 상호작용 분석은 각 도메인 내의 피쳐 상호작용 로직을 격리시킴으로써 여전히 가능하다. 이것은 일 도메인 내에서 사용되는 서비스들 간의 상호작용을 해결할 것이지만, 상이한 도메인으로부터의 서비스를 포함하는 상호작용을 포착하지는 못할 것이다.
이와 달리, 세션 경계 제어기(SBC)는 내부 토폴로지 또는 시그널링을 드러내지 않는 방식으로 피쳐 상호작용 피드백을 매핑할 수 있다. 예를 들어, 도메인 밖에서의 가시성을 방지하기 위해 P-ConType 헤더로부터 필터링되는 은닉 피쳐의 리스트가 존재할 수 있다. 다른 예로서, 도메인 밖에서는 공공 엔드포인트만이 가시 적일 수 있다. 자연적으로, 트레이드오프가 존재하는데, 임의의 이러한 방식은 프라이버시를 증가시키는 이점과 맞바꾸어 일부 상호작용을 처리하는 능력에 대해 소정의 영향을 가질 것이다. 당업자라면 알 수 있는 바와 같이, 이용되고 있는 특정 정책(예를 들어, 모든 P-ConType 헤더의 제거, 소정의 P-ConType 헤더만의 제거, 로컬 도메인 내에서만의 피쳐 상호작용의 처리 등)은 특정 도메인의 프라이버시 요건에 의존하는 구현 결정이고, 따라서 이러한 정책을 구성가능하도록 하는 것이 유리하다.
당업자라면 알 수 있는 바와 같이, 제 4 예시적 실시예의 두드러진 작업(예를 들어, 피쳐 상태 정보의 유지 및 전파, 어드레스 매핑 등)은 하나 이상의 백투백 사용자 에이전트(B2BUAs)에 의해 수행되지만, 일부 다른 실시예에서, 이들 작업들 중 일부 또는 전부는 하나 이상의 다른 데이터 처리 시스템(예를 들어, 스위치, 서버, 사설 교환기(PBX) 등)에 의해 수행될 수 있으며, 본 명세서를 읽은 당업자라면 본 발명의 이러한 실시예를 구현 및 사용하는 방법을 알 것이다. 당업자라면 또한 알 수 있는 바와 같이, 제 4 예시적 실시예는 VoIP 전화 및 접속 설정 프로토콜(SIP)과 관련하여 기술되었지만, 제 4 예시적 실시예의 기법은 다른 유형의 전화 플랫폼 및 프로토콜에 적응될 수 있고, 본 명세서를 읽은 당업자라면 본 발명의 이러한 대안적 실시예를 구현 및 사용하는 방법을 알 것이다.
본 명세서는 예시적인 실시예들 중 단지 일 예를 나타내고 있고 본 명세서를 읽은 당업자에 의해 본 발명의 다수의 변형이 쉽게 안출될 수 있으며, 본 발명의 범주는 후속하는 청구항에 의해 결정됨을 이해해야 한다.
도 1은 본 발명의 제 1 실시예에 따라 다자간 및 브릿지 어피어런스 호에 대한 피쳐 상호작용을 검출 및 해결하는 방법에 대응하는 흐름도,
도 2는 본 발명의 제 2 실시예에 따라 호 동안 피쳐 상호작용을 검출 및 해결하는 유한 상태 머신을 나타내는 도면,
도 3은 본 발명의 제 2 실시예에 따라, 도 2에 도시되어 있는 유한 상태 머신(200)에 대응하는 방법의 흐름도,
도 4는 본 발명의 제 2 실시예에 따라 도 3에 도시되어 있는 작업(350)을 수행하는 제 1 기법의 흐름도,
도 5는 본 발명의 제 2 실시예에 따라, 작업(350)을 수행하는 제 2 기법의 흐름도,
도 6은 본 발명의 제 2 실시예에 따라, 작업(350)을 수행하는 제 3 기법의 흐름도,
도 7은 본 발명의 제 3 실시예에 따라, 멀티플-레그(multiple-leg) 시그널링 경로를 갖는 호에 대해 피쳐 상호작용을 검출 및 해결하는 제 1 방법의 흐름도,
도 8은 본 발명의 제 3 실시예에 따라, 멀티플-레그 시그널링 경로를 갖는 호에 대해 피쳐 상호작용을 검출 및 해결하는 제 2 방법의 흐름도,
도 9는 본 발명의 제 4 실시예에 따라, 투명한 백투백 사용자 에이전트(transparent Back to Back User Agent: B2BUA)를 포함하는 예시적인 시그널링 경로를 나타내는 도면.

Claims (10)

  1. 둘 보다 많은 엔드포인트를 포함하는 호(call)에 대한 제 1 피쳐와 상기 호에 대한 제 2 피쳐가 상호작용하는지 여부를 결정하는 단계를 포함하는 방법.
  2. 제 1 항에 있어서,
    상기 제 1 피쳐 및 상기 제 2 피쳐가 상호작용하지 않는 것으로 결정된 경우 또한 그러한 경우에만, 상기 제 1 피쳐 및 상기 제 2 피쳐 모두를 활성화시키는 단계를 더 포함하는 방법.
  3. 제 2 항에 있어서,
    상기 제 1 피쳐 및 상기 제 2 피쳐가 상호작용하는 것으로 결정된 경우에는 상기 제 1 피쳐와 상기 제 2 피쳐 중 정확히 하나만을 활성화시키는 단계를 더 포함하는 방법.
  4. 제 1 항에 있어서,
    검출은,
    상기 제 1 피쳐에 대한 둘 이상의 최초 접속(original connection),
    상기 제 1 피쳐에 대한 둘 이상의 결과적인 접속(resulting connection),
    상기 제 2 피쳐에 대한 둘 이상의 최초 접속,
    상기 제 2 피쳐에 대한 둘 이상의 결과적인 접속
    중 적어도 하나에 대한 조건을 포함하는 룰에 일치시키려 시도하는 단계를 포함하는
    방법.
  5. 제 1 항에 있어서,
    검출은,
    상기 제 1 피쳐 및 상기 제 2 피쳐가 상기 호의 동일한 엔드포인트에 의해 트리거되는지 여부를 결정하는 단계와,
    (i) 상기 제 1 피쳐의 결과적인 접속의 세트가 상기 제 2 피쳐의 결과적인 접속의 세트와 동일한지 여부와,
    (ii) 상기 제 1 피쳐의 최초 접속의 세트가 상기 제 2 피쳐의 최초 접속의 세트와 동일한지 여부
    중 적어도 하나를 결정하는 단계를 포함하는
    방법.
  6. 제 1 항에 있어서,
    검출은,
    상기 제 1 피쳐의 최초 접속의 세트가 상기 제 2 피쳐의 결과적인 접속의 세트와 동일한지 여부를 결정하는 단계와,
    상기 제 2 피쳐의 최초 접속의 세트가 상기 제 1 피쳐의 결과적인 접속의 세트와 동일한지 여부를 결정하는 단계를 포함하는
    방법.
  7. 제 1 항에 있어서,
    상기 제 2 피쳐는 트리트먼트(treatment)에 접속되고,
    검출은,
    상기 제 1 피쳐의 결과적인 접속의 세트와 상기 제 2 피쳐의 최초 접속의 세트가 공통 원소를 갖고 있는지(non-disjoint) 여부를 결정하는 단계와,
    상기 제 1 피쳐의 최초 접속이 상기 제 1 피쳐의 결과적인 접속과 동일한 발신자(originating party)를 가지나 상이한 착신자(terminating party)를 갖는지 여부를 결정하는 단계를 포함하는
    방법.
  8. 제 1 항에 있어서,
    상기 제 2 피쳐는 트리트먼트에 접속되고,
    검출은,
    상기 제 1 피쳐의 결과적인 접속의 세트와 상기 제 2 피쳐의 최초 접속의 세트가 공통 원소를 갖고 있는지 여부를 결정하는 단계와,
    상기 제 1 피쳐가 최초 접속(X) 및 결과적인 접속(Y)을 가지되 상기 최초 접속(X)의 발신자는 상기 결과적인 접속(Y)의 착신자와 동일하고 상기 최초 접속(X)의 착신자는 상기 결과적인 접속(Y)의 발신자와 동일한지 여부를 결정하는 단계를 포함하는
    방법.
  9. 제 1 항에 있어서,
    검출은,
    상기 제 1 피쳐의 결과적인 접속의 세트와 상기 제 2 피쳐의 최초 접속의 세트가 공통 원소를 갖고 있는지 여부를 결정하는 단계와,
    (i) 상기 제 1 피쳐가 최초 접속(X) 및 결과적인 접속(Y)을 가지되 상기 최초 접속(X)의 발신자는 상기 결과적인 접속(Y)의 착신자와 동일하고 상기 최초 접속(X)의 착신자는 상기 결과적인 접속(Y)의 발신자와 동일한지 여부를 결정하 는 단계, 및
    (ii) 상기 제 2 피쳐의 최초 접속이 상기 제 2 피쳐의 결과적인 접속과 동일한 발신자를 가지나 상이한 착신자를 갖는지 여부를 결정하는 단계
    중 적어도 하나를
    를 포함하는 방법.
  10. 제 1 항에 있어서,
    검출은,
    상기 제 1 피쳐의 최초 접속의 세트가 상기 제 2 피쳐의 최초 접속의 세트와 동일한지 여부를 결정하는 단계와,
    (i) 상기 제 1 피쳐가
    (a) 착신자가 트리트먼트인 결과적인 접속과,
    (b) 발신자가 상기 제 1 피쳐의 촉발자와 동일한 최초 접속을
    갖는지 여부를 결정하는 단계, 및
    (ii) 상기 제 2 피쳐가
    (a) 착신자가 트리트먼트인 결과적인 접속과,
    (b) 발신자가 상기 제 2 피쳐의 촉발자와 동일한 최초 접속을
    갖는지 여부를 결정하는 단계
    중 적어도 하나를
    포함하는 방법.
KR1020090093437A 2009-01-19 2009-09-30 피쳐 상호작용 검출 방법 KR101464774B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US14570009P 2009-01-19 2009-01-19
US61/145,700 2009-01-19
US12/392,429 US8300558B2 (en) 2009-01-19 2009-02-25 Feature interaction detection in multi-party calls and calls with bridged appearances
US12/392,429 2009-02-25

Publications (2)

Publication Number Publication Date
KR20100084962A true KR20100084962A (ko) 2010-07-28
KR101464774B1 KR101464774B1 (ko) 2014-11-24

Family

ID=42199574

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090093437A KR101464774B1 (ko) 2009-01-19 2009-09-30 피쳐 상호작용 검출 방법

Country Status (5)

Country Link
US (1) US8300558B2 (ko)
EP (1) EP2219356A1 (ko)
JP (1) JP5559523B2 (ko)
KR (1) KR101464774B1 (ko)
CN (1) CN101783837B (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8934342B2 (en) * 2012-08-17 2015-01-13 Avaya Inc. System and method for obviating a meet-me conference hub
US20200128050A1 (en) * 2018-10-18 2020-04-23 Avaya Inc. Context based communication session bridging
US10764431B1 (en) 2019-09-17 2020-09-01 Capital One Services, Llc Method for conversion and classification of data based on context
KR20220069675A (ko) 2020-11-20 2022-05-27 엘지디스플레이 주식회사 데이터 구동 회로, 컨트롤러 및 디스플레이 장치

Family Cites Families (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US52400A (en) * 1866-02-06 Improvement in shoulder-braces
US93115A (en) * 1869-07-27 Peiebs
US153875A (en) * 1874-08-04 Improvement in fire-kindlers
US5337351A (en) * 1992-02-28 1994-08-09 Nec America, Inc. Feature interaction arbitrator
EP0578964B1 (en) * 1992-06-30 2003-01-15 Siemens Information and Communication Networks, Inc. A call processing system
US20080220775A1 (en) * 1997-07-30 2008-09-11 Steven Tischer Apparatus, method, and computer-readable medium for securely providing communications between devices and networks
US6556670B1 (en) * 1998-08-21 2003-04-29 Lucent Technologies Inc. Method for solving the music-on-hold problem in an audio conference
US6549613B1 (en) * 1998-11-05 2003-04-15 Ulysses Holding Llc Method and apparatus for intercept of wireline communications
GB2353916B (en) 1999-08-23 2003-12-24 Mitel Corp Adaptive rule-based mechanism and method for feature interaction resolution
CA2299639C (en) * 1999-03-05 2005-11-01 Mitel Corporation Adaptive rule-based mechanism and method for feature interaction resolution
US6714634B1 (en) * 2000-08-03 2004-03-30 Motorola, Inc. Method and apparatus for selecting disabling music on hold in a telecommunication system
US20030059015A1 (en) * 2001-09-21 2003-03-27 Mello Eber Call server allowing calls with multiple participants and multiple services independently of the number of participants
JP4349766B2 (ja) * 2001-12-07 2009-10-21 株式会社日立製作所 アドレス変換装置
US8126722B2 (en) * 2001-12-20 2012-02-28 Verizon Business Global Llc Application infrastructure platform (AIP)
US7050563B2 (en) * 2002-02-27 2006-05-23 Dammrose J Mark Call path reduction via correlation of call legs in a hairpin loop scenario
US7076766B2 (en) * 2002-06-03 2006-07-11 Steve Wirts Software application development methods and framework
GB0224187D0 (en) * 2002-10-17 2002-11-27 Mitel Knowledge Corp Interactive conflict resolution for personalised policy-based services
US6888808B2 (en) * 2003-09-15 2005-05-03 Cisco Technology, Inc. System and method for providing transparency in delivering private network features
EP1749387B1 (en) 2004-05-28 2012-08-29 TELEFONAKTIEBOLAGET LM ERICSSON (publ) Communications method and apparatus, database information retrieval method and apparatus
US7411975B1 (en) * 2004-08-26 2008-08-12 Juniper Networks, Inc. Multimedia over internet protocol border controller for network-based virtual private networks
US7949115B2 (en) 2004-11-04 2011-05-24 Cisco Technology, Inc. Providing a service framework at an endpoint
US7907712B2 (en) * 2005-03-22 2011-03-15 At&T Intellectual Property Ii, L.P. Method and apparatus for providing personal mobility features in a telecommunications environment
US20060218268A1 (en) * 2005-03-28 2006-09-28 Andre Beck Method and apparatus for extending service mediation to intelligent voice-over-IP endpoint terminals
US7889636B2 (en) * 2005-05-24 2011-02-15 Cisco Technology, Inc. System and method for implementing a mid-call policy in a RSVP environment
US8391460B2 (en) * 2005-06-23 2013-03-05 Alcatel Lucent Mid-call hand-offs in telecommunication networks
US7870265B2 (en) * 2005-06-30 2011-01-11 Oracle International Corporation System and method for managing communications sessions in a network
US7804818B1 (en) * 2005-09-30 2010-09-28 At&T Intellectual Property Ii, L.P. Method for maintaining signaling history in a Voice-over-Internet-Protocol (VoIP) network
US20070117508A1 (en) * 2005-11-07 2007-05-24 Jack Jachner Conference presence based music-on-hold suppression system and method
US7542768B2 (en) * 2006-03-23 2009-06-02 Alcatel-Lucent Usa Inc. Dynamic ring start delay based on multiple factors
JP2009159249A (ja) * 2007-12-26 2009-07-16 Fujitsu Ltd 通信端末機
US8134956B2 (en) * 2008-01-24 2012-03-13 At&T Intellectual Property I, L.P. System and method of providing registration alert in an IMS system
US7720976B2 (en) * 2008-03-31 2010-05-18 Alcatel-Lucent Usa Inc. Peer-to-peer communication between different types of internet hosts
US8179802B2 (en) * 2008-07-09 2012-05-15 At&T Intellectual Property I, L.P. Method and apparatus for managing audio contention in networks

Also Published As

Publication number Publication date
US8300558B2 (en) 2012-10-30
CN101783837A (zh) 2010-07-21
US20100182938A1 (en) 2010-07-22
JP2010166556A (ja) 2010-07-29
EP2219356A1 (en) 2010-08-18
CN101783837B (zh) 2014-05-07
KR101464774B1 (ko) 2014-11-24
JP5559523B2 (ja) 2014-07-23

Similar Documents

Publication Publication Date Title
US7792275B2 (en) Application service invocation
US8385326B2 (en) Handling early media in VoIP communication with multiple endpoints
EP2629477A1 (en) Global session identifier
US9049290B2 (en) Interaction detection between web-enabled and call-related features
Bond et al. An open architecture for next-generation telecommunication services
KR101464774B1 (ko) 피쳐 상호작용 검출 방법
KR20090046724A (ko) 호출 관리 방법
KR101464775B1 (ko) 피쳐 상호작용 검출 방법
KR101511796B1 (ko) 기능 상호간섭 검출 방법
Kolberg et al. Managing feature interactions between distributed SIP call control services
US20030059015A1 (en) Call server allowing calls with multiple participants and multiple services independently of the number of participants
US7769156B2 (en) System and method for providing a reverse camp-on feature in a communications environment
US20140223021A1 (en) System and Method for Implementing a Session Initiation Protocol Feature
US9467570B2 (en) Call transfer with network spanning back-to-back user agents
WO2006083621A2 (en) System and method for providing rsvp reservations in a shared line environment
Kolberg et al. Managing distributed feature interactions in enterprise SIP application servers
Kolberg et al. Detecting Feature Interactions between SIP Call Control Services.
KR20160023760A (ko) 동적 파라미터에 기초하여 시퀀스된 애플리케이션들의 호출
Wang et al. Online Detection of Feature Interactions of CPL Services.
Chentouf et al. Multi-agents SIP architecture for online Feature Interaction detection and resolution
El Ouahidi et al. The Internet is challenging the intelligent network
Neumann et al. Information leakage in ubiquitous Voice-over-IP communications

Legal Events

Date Code Title Description
A201 Request for examination
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: 20171109

Year of fee payment: 4