KR101403525B1 - 복수의 이종 통신망을 통해 ip주소 기반의 통화를 수행하기 위한 방법 및 장치 - Google Patents
복수의 이종 통신망을 통해 ip주소 기반의 통화를 수행하기 위한 방법 및 장치 Download PDFInfo
- Publication number
- KR101403525B1 KR101403525B1 KR1020120157012A KR20120157012A KR101403525B1 KR 101403525 B1 KR101403525 B1 KR 101403525B1 KR 1020120157012 A KR1020120157012 A KR 1020120157012A KR 20120157012 A KR20120157012 A KR 20120157012A KR 101403525 B1 KR101403525 B1 KR 101403525B1
- Authority
- KR
- South Korea
- Prior art keywords
- call
- quality
- voip
- voice
- communication
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/66—Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/64—Hybrid switching systems
- H04L12/6418—Hybrid transport
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Telephonic Communication Services (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
본 발명에 따른 장치는, 복수의 통신망을 이용하여 IP주소 기반의 통화, 즉 VoIP 통화를 할 수 있게 한다. 본 장치는, 요구된 VoIP 통화를 위해 제 1무선 통신망상에 제 1통화로를 개설하고, 그 제 1통화로가 개설된 상태에서 상기 VoIP 통화를 위해 제 2무선 통신망상에 제 2통화로를 추가적으로 개설한다. 그리고, 상기 제 1통화로와 상기 제 2통화로의 양 통화로가 개설된 상태에서, 상기 양 통화로에서 선정한 어느 하나의 통화로만으로 음성 패킷들을 전송하면서 통화로에 대한 통화 품질을 확인하고, 그 확인되는 통화 품질에 근거하여, 상기 양 통화로의 다른 하나로, 상기 어느 하나의 통화로로 전송하는 음성 패킷에 실린 음성 데이터와 동일한 음성 데이터 를 음성 패킷을 통해 전송한다.
Description
본 발명은, 통신망, 특히 무선 통신망을 통해 VoIP (Voice over Internet Protocol) 통화를 행하는 단말기와 그 통화(通話)를 지원하는 서버, 그리고 그 단말기와 서버에서 수행되는 방법에 관한 것이다.
이동 통신망의 기술이 발전하고 그 안정성이 진일보함으로써 종단간( end-to-end )의 IP주소( IP address ) 기반의 통화( 이하, “VoIP 통화”로도 약칭한다. )도 양호한 품질을 제공할 수 있게 되었다.
VoIP 통화를 위해서는 도 1a에 예시된 바와 같이, 그러한 통화를 지원하는 범용의 VoIP 서버(10)가 개입하여 양 단말기(1a,1b)간에 통화로를 이동 통신망(11a)을 통해 개설한다. 도 1b는, 통화로의 개설을 위해 양 단말기(1a,1b)간에 이루어지는 호설정 과정의 일 예를 간략히 도시한 것으로서, 통상, 발신측 단말기(1a)가 호 설정을 요청하면(S11), 상기 범용 VoIP 서버(10)는, 그 요청에 포함되어 있는 착신측 단말기(1b)를 특정하기 위한 정보( 예를 들어, 이메일 주소 )로부터 해당 단말기에 할당되어 있는 IP주소를 확인하고, 그 확인된 IP주소에 호 설정을 요청하게 된다(S12). 물론, 이 호 설정 요청(S12)은, 상기 범용 VoIP 서버(10)가 다른 서버에 초대(INVITE) 메시지를 송신함으로써 그 초대된 서버가 상기 착신측 단말기(1b)에 대해 행할 수도 있다. 그리고, 이 후 호 설정 요청에 대해 연결요청, 그리고 그 연결요청에 대한 응신(acknowledge)이 있은 후에, 양 단말기(1a,1b)간에 양방향 통화로가 개설된다. 즉, 상호간에 음성 메시지를 전달할 패킷의 IP주소가 착신측과 송신측에 대해 각기 할당된다. 이후 할당된 IP주소가 부가된 패킷들을 상기 범용 VoIP 서버(10)가 상호간에 중계함으로써 양 단말기(1a,1b)간에 VoIP 방식의 통화(S15)가 진행된다.
상기와 같이 이루어지는 VoIP 통화는, 이동 통신망(11a)에서 통화를 지원하는 방식과는 달리, 무선신호상에서 통화로를 위한 채널을 독점적으로 할당하지 않는다( 독점 채널을 할당하는 방식을 “회선기반(circuit-based) 방식”이라고도 한다. ). 대신, 통화를 위한 데이터가 생성될 때에만, 타 이동통신 단말기들과 데이터 서비스를 위해 공유하는 채널을 이용하여 전송하게 된다. 따라서, 통화를 위해 사용할 수 있는 대역폭이 항상 충분한 것은 아니다. 무선신호의 가용 대역폭이 충분하지 않으면, 음성 메시지를 수송하는 패킷의 전송 지연시간이 커지게 되고 패킷 손실률도 높아지게 되어 통화 품질이 떨어지게 된다.
그런데, 회선기반 방식의 통화를 이용하는 것에 비해서, VoIP 통화를 이용하는 것이 비용적 측면에서 더 유리한 것이 일반적이므로, 이동통신 단말기를 사용해 VoIP 통화를 이용하는 이동통신 가입자는, 어느 정도의 통화품질 저하는 감수하고 이용하는 편이다. 이용자에게 비용적으로 더 유리한 이유는, 이동통신 사업자의 통신요금 정책상, 데이터 서비스에 대해서는 회선기반 방식의 통화에 비해서 상대적으로 낮은 요금체계를 채택하고 있으며, 또한 확정된 요금으로 데이터 서비스를 무제한으로 사용할 수 있는 요금제도 운용하고 있기 때문이다.
따라서, 이용자들이 VoIP 통화를 선호하게 되고, 이는 자연적으로 회선기반 방식의 통화에 의한 사용시간을 점진적으로 감소시키게 될 것이다. 그런데, 통화에 대한 이용방식의 변화가 두드러지게 되면, 이동통신 사업자의 입장에서는, 수익에 도움이 되지 않는 데이터량이 운영 통신망에 가하는 부하가 점차 커지게 되는 것이다. 이러한 측면을 고려하면, VoIP 통화에 의한 망부하 증가는 이동통신 사업자가 그대로 용인하지 않을 가능성이 매우 높다. 그리고, 이동 통신망이 진화하여 그 물리적인 서비스 속도가 높아지더라도, 이용자에게 부과하는 현재의 서비스 요금체계가 지속되는 한, VoIP 통화에 대해서는 현재 이동 통신망에서 지원되는 통화품질 수준 이상으로 지원되지 않을 것이다. 물론, 지금 현 상태에서도, VoIP 통화에 따른 데이터량이 증가하게 되면 이러한 통화에 의한 전체 부하량은 이동통신 사업자에 의해 억제될 수 있으므로 개별적인 통화품질은 더 떨어질 가능성도 있다.
그럼에도 불구하고, 데이터 서비스를 이용한 VoIP 통화는, 비용적 측면에서 이용자에게 매우 매력적이므로, 이러한 방식의 통화를, 보다 향상된 품질로써 이용할 수 있게 한다면 이용자에게 유익할 것이다. 그리고, 이동 통신망에 대한 부하는 전체적으로 증가시키지 않으면서( 통화품질에 요구되는 데이터량을 전적으로 이동 통신망이 부담하지 않도록 하면서 ) VoIP 통화에서의 통화품질을 향상시킬 수 있다면, 이동통신 사업자나 이용자 모두에게 유익할 것이다.
본 발명은, 이동 통신망외에 무선 데이터망을 선택적으로 이용함으로써 향상된 품질의 VoIP 통화를 가능하게 하는 방법 및 장치를 제공하는 데 일 목적이 있다.
본 발명의 다른 목적은, 안정된 품질로써 VoIP 통화를 지원하기 위해, 비용적 측면에서 이용자에게 유리하도록 복수의 무선 통신망을 선택적으로 사용하는 방법 및 장치를 제공하는 것이다.
본 발명의 또 다른 목적은, VoIP 통화의 품질을 저하시키지 않는 범위에서 데이터 서비스의 이용에 따른 비용 부담을 억제할 수 있는 VoIP 통화를 가능하게 하는 방법 및 장치를 제공하는 것이다.
본 발명의 또 다른 목적은, 이용자의 이동통신 서비스의 이용 조건을 고려하여, 선택적으로 VoIP 통화를 보다 향상된 품질로 제공할 수 있게 하는 방법 및 장치를 제공하는 것이다.
본 발명의 목적은, 상기 명시적으로 서술된 목적에 국한되는 것은 아니며, 본 발명에 대한 구체적이고 예시적인 하기의 설명에서 도출될 수 있는 효과를 달성하는 것을 그 목적에 당연히 포함한다.
본 발명의 일 측면에 따른, 복수의 통신망을 이용하여 IP주소 기반의 통화를 할 수 있게 하는 장치는, 요구된 IP주소 기반 통화를 위해 제 1무선 통신망상에 제 1통화로를 개설하고, 그 제 1통화로가 개설된 상태에서 상기 IP주소 기반 통화를 위해 제 2무선 통신망상에 제 2통화로를 추가적으로 개설하도록 구성된 제어부와, 상기 제 1통화로와 상기 제 2통화로의 양 통화로가 개설된 상태에서, 상기 양 통화로에서 선정한 어느 하나의 통화로만으로 음성 패킷들을 전송하면서 통화로에 대한 통화 품질을 확인하고, 그 확인되는 통화 품질에 근거하여, 상기 양 통화로의 다른 하나로, 상기 어느 하나의 통화로로 전송하는 음성 패킷에 실린 음성 데이터와 동일한 음성 데이터를 음성 패킷을 통해 전송하도록 구성된 통화부를 포함하여 구성된다.
본 발명의 실시예에 따라, 상기 장치는, IP주소 기반의 통화를 위해 단말기로부터 발신된 호(call)를 처리하여 착신측과 통화가 이루어지도록 하는 서버에 구현되거나, 또는 IP주소 기반의 통화를 위한 호를 발신하거나 또는 착신할 수 있는 단말기에 구현된다.
상기 장치가 단말기에 구현된 실시예에서는, 상기 통화부는, 상기 제 2통화로가 추가 개설되면, 그 제 2통화로로 상기 제 1통화로로 전송하는 음성 패킷과 동일한 데이터 블록과 블록의 순서번호를 갖는 음성 패킷을 전송하도록 더 구성된다. 그리고, 상기 제 2무선 통신망은, 서비스 영역이 산포되어 있고 각 서비스 영역에서의 서비스 가능 거리도 상기 제 1무선 통신망에 비해서 짧은 무선 통신망, 예를 들어 Wi-Fi 무선랜 망이다. 또한, 본 실시예에서는, 상기 제 2통화로는, 상기 단말기가 상기 IP주소 기반 통화의 착신측인 조건하에, 상기 제 2무선 통신망이 이용가능짐에 따라 상기 제어부가 외부 서버에 새로운 통화로를 연결 요청함으로써 추가적으로 개설된 것일 수도 있다.
본 발명에 따른 일 실시예에서는, 상기 선정된 어느 하나의 통화로는, 상기 양 통화로를 통해 각기 수신되는 일련의 음성 패킷들의 통화 품질을 나타내는 통신특성의 값에 대한 상기 양 통화로간의 상호 비교를 통해 상대적으로 더 나은 통신특성의 값을 보인 통화로이다. 본 실시예에서는, 통화 품질을 나타내는 통신특성의 상기 값은, 상기 통화부의 측정에 의해 획득된 것이거나, 상기 제 1통화로 또는 상기 제 2통화로를 통해 음성 패킷을 상기 통화부와 송수신하고 있는 상대측에서의 측정에 의해 획득되어 상기 통화부에 보고된 것일 수 있다. 또한, 본 실시예에서, 상기 통신특성의 값은 전송지연 시간일 수 있으며, 이 경우, 더 나은 통신특성의 값을 보인 상기 통화로는, 상기 양 통화로의 각각으로 중복하여 수신한 동일 순서번호의 데이터 블록 쌍간의 수신시점에서 평균적으로 더 앞서는 통화로이다.
본 발명의 다양한 실시예들에 따라, 통화로에 대한 통화 품질에 대한 상기 확인은, 상기 제 1통화로 또는 상기 제 2통화로를 통해 송신한 테스트 블록의 패킷에 대한 전송지연 시간 또는 패킷 손실률에 대한 확인이거나, 상기 어느 하나의 통화로를 통해 수신되는 음성 패킷들에 대한 패킷 손실률에 대한 확인이거나, 상기 IP주소 기반 통화가 발신된 또는 착신된 단말기에서 측정하여 얻은, 통화 품질을 나타내는 통신특성 정보의 확인이거나, 또는 상기 요구된 IP주소 기반 통화의 발신측 또는 착신측의 단말기가 현재 위치하는 서비스 영역에 대한 정보를 외부 서버에 제공함으로써, 그 외부 서버로부터 상기 서비스 영역에 대해 획득된 정보로부터 통화 품질을 확인하는 것일 수 있다.
본 발명의 일 실시예에 따라, 상기 통화부는, 상기 확인되는 통화 품질이 기 지정된 요건을 만족하는 경우에는, 동일한 음성 데이터가 상기 양 통화로로 중복되어 전송되지 않도록, 음성 데이터를 실은 음성 패킷들을 상기 양 통화로로 나누어서 전송하도록 더 구성된다. 본 실시예에서, 상기 기 지정된 요건은, 상기 양 통화로의 통화 품질이 모두 기 지정된 제 1기준치 이상이어야 하는 제 1요건을 포함한다. 그리고, 상기 기 지정된 요건은, IP주소 기반의 통화에 대해 사용자에 의해 특정의 모드가 지정되어야 하는 제 2요건을 더 포함할 수 있다. 상기 기 지정된 요건이 상기 제 1요건과 제 2요건을 모두 포함하는 경우, 상기 양 통화로의 어느 하나라도 통화 품질이 그 이하가 되면 상기 통화부가 상기 양 통화로로 음성 데이터를 중복하여 전송하게 되는 제 2기준치보다, 상기 제 1기준치는 더 높은 품질을 지정하는 값이다. 만약, 상기 기 지정된 요건이 상기 제 1요건만을 포함하는 경우에는, 상기 통화부는, 상기 양 통화로의 어느 하나라도 상기 제 1기준치 이하가 되면 상기 양 통화로로 음성 데이터를 중복하여 전송하도록 더 구성될 수 있다. 또한, 본 실시예에서는, 상기 기 지정된 요건은, 상기 양 통화로의 통화 품질에서의 변동폭이 모두 기 지정된 제한폭이내이어야 하는 요건과, 상기 양 통화로의 어느 하나라도 그 통화 품질에 있어 기 지정된 기준치 이하가 되어야 하는 요건을 포함한다. 그리고, 상기 통화부는, 상기 변동폭의 기준이 되는 품질 값을 시간의 경과에 따라 동적으로 변경하고, 그 동적으로 변경하는 품질 값을 기준으로 통화 품질이 상기 제한폭이내인 지를 판별하도록 더 구성될 수도 있다.
본 발명에 따른 일 실시예에서는, 상기 통화부는, 상기 양 통화로의 어느 하나라도 통화 품질에 있어 기 지정된 기준치 이상이 되면 그 기준치 이상이 된 통화로로만 음성 패킷을 전송하도록 더 구성된다.
본 발명에 따른 일 실시예에서는, 상기 통화부는, 상기 제 1무선 통신망과 상기 제 2무선 통신망에 대해서 그 이용에 차등이 있는 것으로 지정된 경우에는, 상기 양 통화로의 모두가 그 통화 품질에 있어 기 지정된 기준치 이상이면, 데이터 서비스의 이후의 이용에 있어서 비용적으로 사용자에게 더 유리한 무선 통신망상에 개설된 통화로로만 음성 패킷을 전송하도록 구성된다.
본 발명의 다른 일 측면에 따른, 복수의 통신망을 이용하여 IP주소 기반의 통화를 할 수 있게 하는 일 방법은, 요구된 IP주소 기반 통화를 위해 제 1무선 통신망상에 제 1통화로를 개설하여 음성 패킷을 송수신하는 단계와, 상기 제 1통화로가 개설된 상태에서, 상기 IP주소 기반 통화를 위해 제 2무선 통신망상에 제 2통화로를 개설하는 단계와, 상기 제 1통화로와 상기 제 2통화로의 양 통화로 중 어느 하나로 음성 패킷들을 전송하면서 적어도 상기 어느 하나의 통화로에 대한 통화 품질을 확인하는 단계와, 상기 확인되는 통화 품질에 근거하여, 상기 양 통화로의 다른 하나로, 상기 어느 하나의 통화로로 전송하는 음성 패킷에 실린 음성 데이터와 동일한 음성 데이터를 음성 패킷을 통해 전송하는 단계를 포함하여 이루어진다.
본 발명에 따른 일 실시예에서는, 상기 제 2통화로를 개설하는 상기 단계는, 상기 요구된 IP주소 기반 통화의 발신측 또는 착신측의 단말기가 상기 제 2무선 통신망과의 신호를 송수신할 수 있는 상태로 진입함에 따라 진행된다.
본 발명의 또 다른 일 측면에 따른 프로그램 공급장치는, 통신을 통해 외부와 데이터를 송수신할 수 있는 통신수단과, 상기 통신수단을 통해 송신되는, 통신 단말기에서 실행되는 어플리케이션이 수록되어 있는 저장수단을 포함하여 구성된다. 그리고, 상기 어플리케이션은, 상기 통신 단말기에서 실행되는 경우, 요구된 IP주소 기반 통화를 위해 제 1무선 통신망상에 제 1통화로를 개설하는 기능과, 상기 제 1통화로가 개설된 상태에서, 제 2무선 통신망이 이용가능해 지면 상기 IP주소 기반 통화를 위해 그 제 2무선 통신망상에 제 2통화로를 추가적으로 개설하는 기능과, 상기 제 1통화로와 상기 제 2통화로의 양 통화로가 개설된 상태에서, 상기 양 통화로에서 선정한 어느 하나의 통화로만으로 음성 패킷들을 외부로 전송하면서, 통화로에 대한 통화 품질을 확인하고, 그 확인되는 통화 품질에 근거하여 상기 양 통화로의 다른 하나로, 상기 어느 하나의 통화로로 전송하는 음성 패킷에 실린 음성 데이터와 동일한 음성 데이터를 음성 패킷을 통해 외부로 전송하는 기능을 수행하기 위한 프로그램 코드들을 포함하여 구성된다.
전술한 장치와 방법, 그리고 프로그램 공급장치에 있어서, 상기 양 통화로의 각각은, 상기 음성 패킷을 주고 받는 양 단(端)의 논리적 통신 개체의 물리적 통신자원의 점유를 위해 통신규약에 따라 개설된 세션(session)에 해당한다.
전술한 본 발명 또는, 하기에서 첨부된 도면과 함께 상세히 설명되는 본 발명의 적어도 일 실시예는, 복수의 무선 통신망을 상호 보완적으로 이용하여 보다 안정된 품질 또는 보다 향상된 품질로 VoIP 통화를 할 수 있게 한다. 이로써, 본 발명에 따른 VoIP 통화 이용자로 하여금, 통화에 있어서의 만족도를 높일 수 있다.
또한, 이용자에게 상대적으로 비용적 부담이 적은 또는 비용 부담이 없는 무선 통신망, 예를 들어 Wi-Fi 망이 적정한 품질을 지원하는 경우에는, 해당 무선 통신망을 위주로 하여 VoIP 통화가 이루어지도록 함으로써, VoIP 통화에 있어서 이용자가 비용상의 잇점을 취할 수 있도록 한다. 이와 함께, 이동통신 사업자의 입장에서는, 회선기반 방식의 통화에 비해 수익에 도움이 되지 않는 VoIP 통화에 의한 셀룰러 망에의 부하를 타 통신망으로 전환시킴으로써 망 자원의 효율적인 배분이 가능해지게 된다.
도 1a 및 1b는, 이동 통신망을 통해 VoIP 통화가 이루어지는 단순한 서비스 환경과, VoIP 통화가 이루어지기 위한 신호교환 절차의 간단한 예를 도시한 것이고,
도 2는, 본 발명의 일 실시예에 따른, 복수의 이종 통신망을 통해 VoIP 통화를 수행할 수 있는 단말기의 구성을 예시한 것이고,
도 3은, 본 발명의 일 실시예에 따른, 복수의 이종 통신망을 통한 VoIP 통화를 지원할 수 있는 서버의 구성을 예시한 것이고,
도 4는, 본 발명의 일 실시예에 따라, 복수의 이종 통신망을 이용하여 VoIP 통화를 수행할 수 있는 단말기가 발신측(calling part)으로서 VoIP 통화가 이루어질 때에 수반되는 신호교환 절차에 대한 일 예를 도시한 것이고,
도 5는, 도 3의 서버에 있어서, 하나의 VoIP 통화에 대해 그 처리를 담당하도록 지정되는 VoIP 통화부의 구성요소와 각 구성요소에 통화처리를 위한 필요정보가 설정되는 것을 예시적으로 보여주는 도면이고,
도 6a 및 6b는, VoIP 통화를 위한 오디오 프레임을 전달하는 음성 패킷의 구조를 간략하게 예시한 것이고,
도 7은, 본 발명의 일 실시예에 따라, 단일 무선 통신망을 이용한 VoIP 통화 중에 타 무선 통신망이 이용가능해 지면, 복수 무선 통신망으로 동일 음성 패킷을 이중으로 송신하게 되는 과정을 도식적으로 예시한 것이고,
도 8은, 본 발명의 일 실시예에 따라, 복수의 무선 통신망에 대해 통화 품질에 있어서의 비교우위를 판단하기 위해, 각 통신망에서의 음성 패킷의 전송지연 시간을 상대적으로 측정하는 과정을 설명하기 위한 도면이고,
도 9는, VoIP 통화에 개입하는 개체(entity)간의 음성 패킷 전달에 소요되는 절대적 전송지연 시간을 파악하기 위해 송신한 테스트 블록이 수신단에서 루프백(loopback)됨으로써 테스트 블록에 송신과 수신의 각 시점정보가 기재된 예를 도시한 것이고,
도 10은, 본 발명의 일 실시예에 따라, VoIP 통화로를 위해 현재 이용하는 무선 통신망의 통화 품질이 낮아지면, 통화 품질의 안정성을 보장하기 위해 타 무선 통신망으로 음성 패킷을 이중으로 송신하는 것을 도식적으로 보여주는 도면이고,
도 11은, 본 발명의 일 실시예에 따라, 현재 VoIP 통화로로 이용중인 무선 통신망과의 접속이 해제되는 과도기에 타 무선 통신망으로 음성 패킷이 이중으로 송신되면서 타 무선 통신망으로 VoIP 통화로가 전환되는 것을 도식적으로 보여주는 도면이고,
도 12는, 본 발명의 일 실시예에 따라, 복수의 무선 통신망이 지원하는 현재의 각 통화 품질이 안정된 경우에는, 음성 패킷들을 각 무선 통신망으로 나누어서 송신하는 것을 도식적으로 보여주는 도면이고,
도 13은, 본 발명의 일 실시예에 따라, 각 무선 통신망의 통화 품질에 근거하여, 음성 패킷들이 이중으로 또는 각 통신망으로 나뉘어서 송신되는 것을 도식적으로 보여주는 도면이고,
도 14는, 본 발명의 일 실시예에 따라, 복수의 이종 통신망을 이용한 VoIP 통화를 수행할 수 있는 단말기가 착신측(called part)으로서 VoIP 통화가 이루어질 때에 수반되는 신호교환 절차에 대한 일 예를 도시한 것이다.
도 2는, 본 발명의 일 실시예에 따른, 복수의 이종 통신망을 통해 VoIP 통화를 수행할 수 있는 단말기의 구성을 예시한 것이고,
도 3은, 본 발명의 일 실시예에 따른, 복수의 이종 통신망을 통한 VoIP 통화를 지원할 수 있는 서버의 구성을 예시한 것이고,
도 4는, 본 발명의 일 실시예에 따라, 복수의 이종 통신망을 이용하여 VoIP 통화를 수행할 수 있는 단말기가 발신측(calling part)으로서 VoIP 통화가 이루어질 때에 수반되는 신호교환 절차에 대한 일 예를 도시한 것이고,
도 5는, 도 3의 서버에 있어서, 하나의 VoIP 통화에 대해 그 처리를 담당하도록 지정되는 VoIP 통화부의 구성요소와 각 구성요소에 통화처리를 위한 필요정보가 설정되는 것을 예시적으로 보여주는 도면이고,
도 6a 및 6b는, VoIP 통화를 위한 오디오 프레임을 전달하는 음성 패킷의 구조를 간략하게 예시한 것이고,
도 7은, 본 발명의 일 실시예에 따라, 단일 무선 통신망을 이용한 VoIP 통화 중에 타 무선 통신망이 이용가능해 지면, 복수 무선 통신망으로 동일 음성 패킷을 이중으로 송신하게 되는 과정을 도식적으로 예시한 것이고,
도 8은, 본 발명의 일 실시예에 따라, 복수의 무선 통신망에 대해 통화 품질에 있어서의 비교우위를 판단하기 위해, 각 통신망에서의 음성 패킷의 전송지연 시간을 상대적으로 측정하는 과정을 설명하기 위한 도면이고,
도 9는, VoIP 통화에 개입하는 개체(entity)간의 음성 패킷 전달에 소요되는 절대적 전송지연 시간을 파악하기 위해 송신한 테스트 블록이 수신단에서 루프백(loopback)됨으로써 테스트 블록에 송신과 수신의 각 시점정보가 기재된 예를 도시한 것이고,
도 10은, 본 발명의 일 실시예에 따라, VoIP 통화로를 위해 현재 이용하는 무선 통신망의 통화 품질이 낮아지면, 통화 품질의 안정성을 보장하기 위해 타 무선 통신망으로 음성 패킷을 이중으로 송신하는 것을 도식적으로 보여주는 도면이고,
도 11은, 본 발명의 일 실시예에 따라, 현재 VoIP 통화로로 이용중인 무선 통신망과의 접속이 해제되는 과도기에 타 무선 통신망으로 음성 패킷이 이중으로 송신되면서 타 무선 통신망으로 VoIP 통화로가 전환되는 것을 도식적으로 보여주는 도면이고,
도 12는, 본 발명의 일 실시예에 따라, 복수의 무선 통신망이 지원하는 현재의 각 통화 품질이 안정된 경우에는, 음성 패킷들을 각 무선 통신망으로 나누어서 송신하는 것을 도식적으로 보여주는 도면이고,
도 13은, 본 발명의 일 실시예에 따라, 각 무선 통신망의 통화 품질에 근거하여, 음성 패킷들이 이중으로 또는 각 통신망으로 나뉘어서 송신되는 것을 도식적으로 보여주는 도면이고,
도 14는, 본 발명의 일 실시예에 따라, 복수의 이종 통신망을 이용한 VoIP 통화를 수행할 수 있는 단말기가 착신측(called part)으로서 VoIP 통화가 이루어질 때에 수반되는 신호교환 절차에 대한 일 예를 도시한 것이다.
이하, 본 발명에 따른 실시예들에 대해 첨부된 도면을 참조하여 상세히 설명한다.
도 2는, 본 발명의 일 실시예에 따른, IP주소 기반의 통화를 복수의 무선 통신망을 통해 이용할 수 있는 장치의 구성을 예시한 것이다. 상기 장치(100)의 구성을 살펴보면, 아날로그 신호를 적절히 증폭하고 아날로그 신호와 디지털 신호간의 변환을 수행하는 신호 처리부(21)와, 디지털 음성 데이터를 압축하여 오디오 프레임들로 구성하고 오디오 프레임에서 압축 음성 데이터를 추출하여 그 압축을 해제하는 보코더(22)와, VoIP 통화를 위한 호(call) 처리와 복수 통화로의 선택적 사용을 위해 필요한 제어 동작 또는 정보 획득 등을 수행하는 주 제어부(20)와, 분배부(23)와 배열부(24)로써 구성되는 VoIP 통화부를 포함한다. 상기 분배부(23)는, 압축된 음성 데이터를 포함하는 오디오 프레임들을 VoIP 통화를 위한 패킷( 이하, "음성 패킷"으로 칭한다. )으로 구성하여, 개설된 통화로에 분배하는 기능을 수행하며, 상기 배열부(24)는, 개설된 통화로로부터 수신되는 음성 패킷들을 정렬하는 기능을 수행한다. 여기서, “통화로”는 음성 패킷을 상호 주고 받는 양 단의 논리적 통신 개체에 각기 할당된 IP주소와 포트번호에 의해 특정되는, 상기 양 통신 개체간의 물리적 통신자원의 점유를 위해 통신규약에 따라 상기 양 통신 개체에 대해 개설된 세션(session)에 대응된다.
또한, 상기 장치(100)는, 통신망의 물리적 자원을 이용한 데이터 통신을 위해 준수해야 하는 규약(protocol)들에 따른 기능을 수행하는 데이터 통신부(25)와, 셀룰러(cellular) 방식의 공중의 이동 통신망(11a), 예를 들어 3G 또는 4G 통신망( 이하, “셀룰러 망”으로 통칭한다. )이 규정하는 방식에 따라 데이터를 부호화하여 변조하고 또한 무선신호를 복조하여 부호화된 데이터를 복호하는 셀룰러 인터페이스부(26a)와, 고속의 무선 데이터망, 예를 들어 Wi-Fi 방식의 무선랜 망( 이하, “Wi-Fi 망”으로 칭한다. )이 규정하는 방식에 따라 데이터를 부호화하여 변조하고 또한 무선신호를 복조하여 부호화된 데이터를 복호하는 Wi-Fi 인터페이스부(26b)를 포함한다.
상기 장치(100)의 구성에서 예시된 각 구성요소는, 하드웨어로 구현될 수도 있고, 또는 소프트웨어로 구현될 수도 있으며, 당연히 하드웨어와 소프트웨어가 결합되어 구현될 수도 있다. 이하에서 설명하는, 복수의 무선 통신망을 선택적으로 이용하는 VoIP 통화방법을 위한 상기 장치(100)의 구성요소에서 소프트웨어로 구현되는 부분, 예를 들어 어플리케이션은, 특정의 서버에 구비된 대용량 저장수단에 수록되어 있다가, 그 특정의 서버에 또한 구비된 통신수단에 의해 통신망를 통해 상호 연결된 통신 단말기가 행하는 통상의 온라인(on-line) 구매과정 등에 따라 그 통신 단말기에 다운로드되어 설치된 후에 실행될 수 있다. 이러한 경우, 상기 통신 단말기는 소프트웨어의 프로그램 코드들을 실행할 수 있는 통상의 하드웨어 자원과 운영시스템 등을 구비하고 있어야 한다. 그리고, 설치된 소프트웨어 부분이 실행되면, 그 통신 단말기는, 기 구비된 하드웨어 자원과 함께 도 2에 예시된 장치(100)를 그 구성요소로서 포함하게 된다.
또한, 상기 장치(100)의 구성은, 본 발명에 따른, IP주소 기반의 통화를 복수의 이종 통신망을 통해 이용하는 방법을 구현하기 위한 하나의 예일 뿐, VoIP 통화를 수행하기 위한 장치가 반드시 도 2와 같이 구성될 필요는 없다. 예를 들어, 도 2의 각 구성요소가 수행하는 기능을 통합적으로 또는 분리하여 실행하는 하드웨어, 펌웨어 및/또는 소프트웨어를 포함하고 있는 무선통신 단말기, 예를 들어, 셀룰러 망과 Wi-Fi 망을 액세스할 수 있는 스마트폰(smart phone), 패드형 컴퓨터, 또는 노트형 컴퓨터일 수가 있다. 따라서, 본 발명에 따른, IP주소 기반의 통화를 복수의 이종 통신망을 통해 이용하는 방법이 구현된 장치는, 도 2에 예시된 구성요소들 외에 다른 구성요소들( 예를 들어, 키패드, 디스플레이 패널, GPS 모듈 등 )을 더 포함하고 있을 수도 있다. 이하에서는, 설명의 편의를 위해, 도 2의 장치(100), 또는 도 2에 예시된 구성요소들을 포함하는 임의 유형 또는 임의 명칭의 무선통신 단말기를, 포괄하는 의미로서 "VoIP 단말기"의 용어를 사용한다.
상기 VoIP 단말기(100)가 요청하는 VoIP 통화 호를, 본 발명에 따라 처리하는 통신망 측의 서버는 도 3과 같이 구성된다. 도 3은, 본 발명에 따른, IP주소 기반의 통화를 복수의 무선 통신망을 통해 지원할 수 있는 서버(300)로서, 이하에서는 "이원(dual)-VoIP 서버"로 칭한다. 상기 이원-VoIP 서버(300)는, 상기 VoIP 단말기(100)가 접속할 수 있는 무선 통신망, 예를 들어 셀룰러 망 및 Wi-Fi 망의 통신 노드(node)와 게이트웨이(gateway) 등을 통해 연결되어, 상기 무선 통신망에 무선으로 통신하는 단말기와 데이터 교환을 수행할 수 있다. 물론, 상기 이원-VoIP 서버(300)는 상기 게이트웨이가 포함된 국부망(local network)에 연결되어 있을 수도 있다.
상기 이원-VoIP 서버(300)는, 통신망 또는 통신선로와의 물리적인 접속과 그 접속을 통한 데이터 교환을 그 접속방식에 맞게 각기 수행하는 망 접속부(31a,31b)와, 단말기로부터의 VoIP 통화 요청을 처리하기 위한 호 제어부(30)와, VoIP 통화로를 개설하고 또한 관리하는 데 필요한 가입자 정보( 예를 들어, 가입자에 대한 식별정보, 가입자가 선호하는 VoIP 이용모드, 셀룰러 망에 대한 요금제 정보, 그리고 그 가입자에 대해 동적으로 할당되는 IP 주소 등 )가 수록되는 가입자 db(30a)를 포함하여 구성된다. 상기 망 접속부(31a,31b)는, VoIP 통화를 위한 신호의 흐름을 명확히 하고 또한 동작의 이해를 돕기 위해, 도면상에서 제 1및 제 2 망 접속부로 논리적으로 구별되어 도시되어 있지만, 실제 구현에 있어서는 동일한 하드웨어상에 일체화로 구성될 수 있다. 경우에 따라서는, VoIP 단말기와 데이터를 교환하기 위한 망 접속부와, VoIP 통화를 위한 통신망상의 중계 장치와 데이터를 교환하기 위한 망 접속부가 별개로 장치로서 구비될 수도 있다. 본 발명의 설명에서는, 상기 제 1 망 접속부(31a)는 전자를 위해, 상기 제 2 망 접속부(31b)는 후자를 위해 구비된 것으로 가정하여 설명한다.
한편, 상기 호 제어부(30)는 하드웨어적 요소를 포함할 수도 있고, 소프트웨어로써만 구현될 수도 있다. 후자의 경우에는, 당연히 그를 실행하기 위한 하드웨어 자원인 처리기(processor)가 상기 이원-VoIP 서버(300)에 포함된다. 여기서, 상기 처리기는, 주어진 명령코드들을 실행하기 위한 CPU, 메모리 자원, 그리고 필요한 주변기기 등을 포함하는 유형(有形)의 개체(entity)를 의미한다. 그리고, 상기 호 제어부(30)는, 양 단말기간의 VoIP 통화를 지원하기 위해, 필요한 시점에 VoIP 통화부(3k, k=1,2,3,..)( 즉, 해당 통화부(3k)에 속하는 구성요소들 )를 활성화시킨다. 상기 VoIP 통화부(3k)는, 상기 처리부에 의해 실행되는 소프트웨어일 수 있으며 이 때의 상기 "활성화" 용어는 그 소프트웨어를 "실행"시키거나 또는 해당 실행코드 블록을 호출하여 실행시킨다는 것을 의미한다. 만약, 상기 VoIP 통화부(3k)가 하드웨어로만 구성되어 있는 경우라면, 상기 "활성화"의 용어는, VoIP 통화를 위한 패킷들을 처리하도록 필요한 변수 또는 파라미터 등에 대하여 그 하드웨어에 "설정하는 것"을 의미한다. 이러한 "활성화" 용어의 의미는 각 VoIP 통화부(3k)의 내부 구성요소에 대해서도 동일하게 적용된다. 도 3에 그 구성된 예시된 상기 이원-VoIP 서버(300)에서, VoIP 통화 호의 처리와 그 통화의 품질관리를 수행하는 기능과, VoIP 통화를 위한 음성 패킷들을 복수의 무선 통신망을 선택적으로 사용하면서 교환하는 기능 등을 위한 구성요소들이 반드시 하나의 자원 형태, 즉, 소프트웨어 또는 하드웨어로써 구성되는 것이 전제되는 것은 아니며, 그 구현하는 형태 또는 사용된 자원의 유형 등은 얼마든지 본 발명의 설명을 위해 예시된 것과 다를 수 있다. 따라서, 구성 형태나 자원의 유형이 다르다는 이유로 본 발명의 청구범위에 의해 해석적으로 미치는 범위가 배척되어서는 안된다.
상기 VoIP 통화부(3k, k=1,2,3,…)는, 단말기와의 VoIP 통화로를 위한 각 세션에 해당하는 음성 패킷들의 송수신을 담당하는 송신부와 수신부의 조합( 이하에서는, '송신부'와 '수신부'를 통칭하기 위해 "송수신부"라는 용어를 사용하며, 그 표기에 있어서도 '송신'과 '수신'을 구분하기 위해 부기한 's' 또는 'r'을 제거하여 표기한다. 예를 들어 "3sck"과 "3rck"로 부기된 송신부와 수신부를 통칭하는 송수신부에는 "3ck"의 표기가 부가된다. )의 한 쌍{(3sck,3rck),(3swk,3rwk)}, 그리고, 상기 수신부(3rck 또는 3rwk)가 수신하여 전달하는 음성 패킷들을 선택적으로 정렬하는 배열부(3dpsk)와, 타 장치( VoIP 패킷의 중계장치 또는 타 이원-VoIP 서버 등 )로부터 수신되는 음성 패킷들을 상기 송신부(3sck 또는 3swk)로 선택적으로 분배하는 분배부(3dtbk)를 포함한다. 전술한 상기 VoIP 통화부(3k)의 활성화는, 그 VoIP 통화부(3k)에 포함된 송수신부 쌍(3ck,3wk)과, 상기 배열부(3dpsk), 그리고 상기 분배부(3dtbk)의 활성화를 의미한다.
이하에서는, 도 2 및 도 3에 그 구성된 각기 예시된 상기 VoIP 단말기(100)와 상기 이원-VoIP 서버(300)간의 상호간 동작에 의해, 상기 VoIP 단말기(100)의 발신측과 착신측의 단말기간에, 본 발명에 따른 VoIP 통화가 이루어지는 과정에 대해 상세히 설명한다.
도 4는, 상기 VoIP 단말기(100)가 착신을 원하는 단말기(110)( 이하, "착신측 단말기"로 칭한다. )를 지정하여 VoIP 통화로를 개설하고 그 개설된 통화로를 통해 VoIP 통화를 진행하게 되는 과정에 대한 신호교환 흐름을 예시적으로 나타낸 것이다. 도 4의 예시에서, 상기 착신측 단말기(110)는, 도 2와 같은 구성을 포함하는 VoIP 단말기일 수도 있고, 그렇지 않을 수도 있다. 만약, 전자의 경우라면, VoIP 통화로 개설을 위한 동작이 완료되면, 상기 착신측 단말기(110)에 대해서도, 도 3에 예시된 구성의 VoIP 통화부(3j, j≠i, 3i가 발신측 단말기에 대해 활성화된 VoIP 통화부인 경우 )가 할당되어 사용된다.
먼저, 상기 VoIP 단말기(100)의 상기 주 제어부(20)는, 구비된 적절한 입력장치를 통한 사용자로부터의 VoIP 통화 요구에 따라, 착신 상대방을 지정하여 VoIP 연결 요청 메시지를 구성하여, 상기 데이터 통신부(25)에 그 전송을 요청한다. 이 요청 메시지를 수송하는 패킷은 당연히 상기 이원-VoIP 서버(300)로 목적지가 지정된 것이며( 보다 구체적으로는, 그 요청 메시지를 수송하는 패킷, 예를 들어 TCP 패킷의 IP주소 필드에 상기 이원-VoIP 서버(300)의 IP주소가 기재됨으로써 그 목적지가 지정된다. ), 도 4에 예시된 바와 같이, 요구하는 VoIP 통화에 대한 식별자(call_ID0)( 이하, "통화 식별자"로 약칭한다. )와, 발신측 식별정보인 IP주소(IP11)와, 착신측 식별정보(dst_ID2), 그리고 개설코자하는 통화로에 대해서 자신이 할당한 로컬 포트번호(Lpn11)를 포함한다. 상기 데이터 통신부(25)는, 현재 접속되어 있는 무선 통신망, 즉 접속 IP주소를 할당받은 무선 통신망( 본 발명에 대한 설명의 편의를 위해, 최초 VoIP 통화를 요구하는 무선 통신망은 셀룰러 망으로 가정한다. )의 인터페이스, 예를 들어 상기 셀룰러 인터페이스(26a)를 통해 상기 VoIP 연결 요청 메시지를 송신함으로써, 그 요청 메시지는 통신망을 구축하는 노드들에 의한 라우팅(routing)으로 상기 이원-VoIP 서버(300)에 도달된다(S401).
본 발명에 따른 일 실시예에서는, 상기 VoIP 연결 요청 메시지에, VoIP 통화로를 개설하고자 하는 무선 통신망의 종류( 예를 들어, 3G 또는 4G의 셀룰러 망, 또는 Wi-Fi 망 등 )에 대한 정보가 포함된다. 이러한 통화로 망의 정보를 포함시키기 위해서는, 상기 주 제어부(20)는, 상기 데이터 통신부(25)에 현재 접속되어 있는 무선 통신망의 정보를 VoIP 연결 요청 메시지를 구성하기 전에 획득하게 된다. 만약, 복수의 무선 통신망, 예를 들어 셀룰러 망과 Wi-Fi 망이 모두 접속되어 있어서 복수 통신망에 대한 정보가 수신되면, 그 중 하나의 통신망을 선택하여 그 통신망을 지시하는 정보를 VoIP 연결 요청 메시지에 포함시키고, 상기 데이터 통신부(25)에 VoIP 연결 요청 메시지의 전송을 요청할 때, 송신할 통신망으로서 자신이 선택한 통신망을 지정하게 된다. 이러한 지정이 있게 되면, 상기 데이터 통신부(25)는 그 지정된 무선 통신망으로 VoIP 연결 요청 메시지를 송신하게 된다. 그리고, 앞서 언급한 발신측 IP주소(IP11)도, 현재 접속되어 있는 무선 통신망으로부터 할당받은, 또는 복수의 무선 통신망들에서 선택된 통신망으로부터 할당받은 IP주소를 상기 데이터 통신부(25)로부터 확인하여 상기 VoIP 연결 요청 메시지에 사용된다.
한편, 상기 이원-VoIP 서버(300)에 도달한 상기 VoIP 연결 요청 메시지는 상기 제 1망 접속부(31a)를 통해 상기 호 제어부(30)에 의해 전달된다. 그러면, 상기 호 제어부(30)는, 수신한 VoIP 연결 요청 메시지에 포함되어 있는 정보의 전부 또는 일부를 추출하여, 자신이 관리하는 VoIP 통화관리 목록에 하나의 통화 엔트리(entry)로서 등재한다. 상기 VoIP 통화관리 목록에 등재되는 엔트리에는 전술한 통화 식별자가 반드시 포함된다. 그리고, 상기 호 제어부(30)는 상기 VoIP 연결 요청 메시지에 포함되어 있는 착신측 식별정보(dst_ID2)를 확인하고, 그 식별정보가 IP주소이면, 즉 dst_ID2 = IP2이면, 그 IP주소를 목적지로 하는 VoIP 연결 요청 메시지를 전술한 바와 같은 방식으로 구성하여, 그 IP주소로의 데이터 전송을 위한 망 접속부, 예를 들어 상기 제 2 망 접속부(31b)를 통해 송신한다(S402). 물론, 상기 연결 요청 메시지에는 상기 호 제어부(30)가 통화로에 대해 할당한 로컬 포트번호(Lpn31)가 포함된다. 만약, 상기 수신한 VoIP 연결 요청 메시지의 상대측 식별정보(dst_ID2)가 IP주소가 아니면, 예를 들어 이메일 주소와 같은 다른 유형의 식별정보이면, 자신이 구비하고 있는 가입자 db(30a)에서 해당 식별정보를 검색하여 그 식별정보에 연계하여 등재되어 있는 IP주소를 찾아서 그 IP주소를 사용하게 된다. 상기 제 2 망 접속부(31b)를 통해 송신된 VoIP 연결 요청 메시지는 타 중계 장치 등을 경유하여 상기 착신측 단말기(110)로 전송된다.
상기 착신측 단말기(110)는 그 VoIP 연결 요청 메시지의 수신에 따라 착신응답에 필요한 정보를 적절한 방식으로 사용자에게 표시하고, 사용자가 착신 호를 수용하면, 앞서 수신한 VoIP 연결 요청 메시지에 대해 "승낙"(OK) 메시지를, 그 연결 요청 메시지의 송신자, 즉 상기 이원-VoIP 서버(300)에 전송한다(S403). 상기 착신측 단말기(110)에 의해 구성된 VoIP 호에 대한 승낙 메시지는, 그 호에 대한 통화 식별자(call_ID0)를 포함하고, 또한 착신측이 할당한 포트번호(Rpn21)를 원격지 포트번호로서 포함한다. 상기 착신측 단말기(110)로부터의 승낙 메시지는 상기 이원-VoIP 서버(300)에 도달하여 상기 제 2 망 접속부(31b)에 의해 상기 호 제어부(30)에 전달된다.
상기 호 제어부(30)는, 상기 수신된 승낙 메시지의 통화 식별자(call_ID0)에 근거하여, 자신이 수신하여, VoIP 통화관리 목록에 하나의 엔트리로서 저장하고 있던 VoIP 연결 요청 메시지의 정보를 파악하고, 그 파악된 정보로부터 연결 요청에 대한 승낙 메시지를 구성하여, VoIP 통화를 요구한 발신측 단말기, 즉 상기 VoIP 단말기(100)로 연결 요청에 대한 응답으로서 송신함으로써(S404) VoIP 통화로가 셀룰러 망상에 개설되도록 한다. 이 때의 승낙 메시지에는, 상기 호 제어부(30)가 할당한 포트번호(Rpn32)가 원격지 포트번호로서 포함되며, 이 승낙 메시지는 상기 제 1망 접속부(31a)를 통해 전송되어 셀룰러 망을 경유하여 상기 VoIP 단말기(100)에 전달된다. 그리고, 상기 호 제어부(30)는, 상기 승낙 메시지의 전송과 함께, VoIP 통화를 담당하여 처리할 하나의 VoIP 통화부(3L)를 활성화시키고 그 활성화시킨 VoIP 통화부를 특정할 수 있는 정보를, 현재 종단간 연결이 진행 중인 VoIP 통화에 대해 상기 VoIP 통화관리 목록에 등재시킨 엔트리의 해당 정보필드에 기록한다. 그리고, 그 활성화시킨 VoIP 통화부(3L)에, 승낙된 VoIP 호에 관련된 발신측과 착신측의 IP주소들, 그리고 그 VoIP 호의 연결에 대해 할당된 포트번호들을 해당 구성요소별로 통지하여, 도 5에 예시된 바와 같이 각 구성요소에 설정(51)되게 한다. 포트번호 등이 설정되면, 음성 패킷을 외부로부터 수신하도록 의도된 상기 수신부(3rcL)와 상기 분배부(3dtbL)는 대응되는 각 망 접속부(31a,31b)에 자신에게 설정된 포트번호(Lpn11, Rpn21)로써 수신소켓의 생성을 요청하게 된다. 그리고, 송신부(3srL)도 상기 제 1망 접속부(31a)에 요청하여 패킷 송신을 위한 송신소켓을 생성요청하고, 송신소켓이 생성되면 상기 분배부(3dtbL)에 “송신가능 상태”임을 통지한다.
본 발명의 일 실시예에 따라, 단말기로부터 수신된 VoIP 연결 요청에 통화로 망의 정보가 포함되어 있는 경우에는, 하나의 VoIP 통화부를 활성화시킴에 있어서, 상기 호 제어부(30)는, 그 통화로 망의 정보에 해당하는 통신망을 경유하는 데이터의 송수신을 처리하도록 지정된 송수신부를 특정하여 IP주소와 포트번호를 설정하게 된다. 앞서, 상기 VoIP 단말기(100)가 VoIP 통화의 최초 연결 요청을 셀룰러 망을 통해 요청한 것으로 가정하였으므로, 도 5는, 셀룰러 망을 경유하는 데이터의 송수신을 처리하도록 지정된 송수신부(3cL)의 각각에 포트번호가 설정된 것을 보여주고 있다. 물론, 각 VoIP 통화부(3k,k=1,2,3,..)의 송수신부의 쌍(3ck,3wk)의 각각에 대해 대응되는 무선 통신망을 고정시키지 않고, 동적으로 할당시킬 수도 있다. 이 경우에는, 현재 IP주소와 포트번호를 설정시킨 송수신부가 어떤 무선 통신망을 경유하는 데이터의 처리를 위한 것인 지를 해당 VoIP 통화부(3k)의 배열부(3dpsk)와 분배부(3dtbk)에 통지하게 된다.
한편, 상기 VoIP 단말기(100)로 전송된 연결 요청의 승낙 메시지는, 앞서의 사용 통신망의 가정에 따라 셀룰러 망을 거쳐 상기 셀룰러 인터페이스(26a)에 의해 수신되고, 상기 셀룰러 인터페이스(26a)는, 수신된 신호로부터 그 승낙 메시지를 추출하여 상기 데이터 통신부(25)에 전달한다. 상기 승낙 메시지를 상기 데이터 통신부(25)로부터 전달받은 상기 주 제어부(20)는, 자신이 송신한 VoIP 연결 요청 메시지의 로컬 포트번호(Lpn11)와 그 메시지의 목적지의 IP주소(IP3)를 상기 분배부(23)에 통지하여 설정하고, 상기 수신한 승낙 메시지에 포함되어 있는 원격지 포트번호(Rpn32)는 상기 배열부(24)에 통지하여 설정하게 된다. 또한, 사용할 무선 통신망에 대한 정보도 상기 분배부(23)와 상기 배열부(24)에 각기 통지한다. 물론, 사용할 무선 통신망은, VoIP 연결 요청 메시지를 전송하였던 통신망( 앞서 이 통신망을 셀룰러 망으로 가정하였었다. )이 된다. 그리고, 상기 주 제어부(20)는, 현재 승낙된 VoIP 연결에 대해, 그 통화모드와 통화 식별자를 포함하는 정보를 VoIP 통화 정보로서 기록해 둔다. 여기서 통화모드는 단일 통신망을 사용하는 "단일경로"와 복수 통신망을 사용하는 "다중경로"로서 구분된다. 그리고, 단일경로인 경우에는 그 경로로서 사용되는 통신망의 종류도 함께 기록된다. 또한, 상기 주 제어부(20)는, VoIP 연결 요청에 대해 승낙되었음을, 상기 VoIP 단말기(100)에 구비된 출력장치, 예를 들어 디스플레이어( 도면 미도시 )에 표시하여 사용자로 하여금 VoIP 통화로가 개설되었음을 알리게 된다. 외부로부터 음성 패킷을 수신하도록 의도된 상기 배열부(24)는, 상기 주 제어부(20)로부터 사용할 통신망의 통지와 함께 원격지 포트번호가 설정되면, 그 설정된 원격지 포트번호(Rpn32)로써 상기 데이터 통신부(25)에, 셀룰러 망용(用)의 수신소켓의 생성을 요청한다.
디스플레이어에 표시된 정보로부터 VoIP 통화로 개설을 인지한 사용자는, 마이크를 통해 자신의 음성을 입력시키게 되고, 이 입력된 음성 신호는 상기 신호 처리부(21)를 거쳐 상기 보코더(22)에 의해 오디오 프레임 시퀀스(sequence)로 변환된다. 각 오디오 프레임은 일정 시간길이, 예를 들어 수십 msec의 압축된 음성 데이터로써 구성되며, 오디오의 압축에 대한 정보를 프레임 헤더에 포함하게 된다. 오디오 프레임 시퀀스는 상기 분배부(23)에 인가되고, 상기 분배부(23)는, 각 오디오 프레임의 전체를 또는 분할한 프레임의 각 조각을 음성 패킷으로 구성하게 되는 데, 패킷은 UDP (User Datagram Protocol)에 따른 형식으로 구성한다. 그리고, 도 6a에 예시된 바와 같이, 각 음성 패킷의 헤더에는, 상기 주 제어부(20)가 통지하여 설정한 목적지의 IP주소(IP3)와 로컬 포트번호(Lpn11)를 기입하고(601), 패킷의 데이터 필드(payload)에는 그 패킷으로 수송하는 오디오 프레임 부분에 대한 순서번호(61)를 기입한다. 상기 순서번호는 상기 보코더(22)로부터 입력된 순서에 따라 해당 오디오 프레임 부분에 할당하는 값이다. 본 발명에 따른 일 실시예에서는, 도 6b에 예시된 바와 같이, 현재 개설된 VoIP 통화로에 대해 최초 부여한 통화 식별자(62)가 데이터 필드(payload)에 삽입될 수도 있다. 본 실시예에서는, 통화 식별자를 상기 주 제어부(20)로부터 통지받게 된다. 도 6a 및 6b에 예시된 패킷의 구조는, 본 발명의 설명과 그 이해에 필요한 패킷 또는 데이터 필드의 정보요소만을 취하여 단순화하여 나타낸 것으로서, 통상의 패킷과 데이터 필드의 구성을 위한 정보요소들이 당연히 포함되어 구성된다.
한편, 상기 분배부(23)는 자신이 구성하는 음성 패킷들을 전송하기 위한, 앞서 사용을 위해 통지받은 무선 통신망, 즉 셀룰러 망에 대해 상기 데이터 통신부(25)에 요청하여 송신소켓을 생성한다. 그리고, 전술한 바와 같이 음성 패킷들이 구성되면, 그 음성 패킷들을 상기 생성한 셀룰러 망용의 송신소켓을 통해 상기 데이터 통신부(25)에 전달하면서 그 전송을 요청하게 된다. 본 발명에 따른 다른 실시예에서는, 상기 송신소켓을 생성할 때, 목적지의 IP주소와 포트번호를 제공함으로써, 상기 분배부(23)는 데이터 필드만을 구성하여( 실시예에 따라서는 통화 식별자가 포함된 ) 상기 데이터 통신부(25)에 전달하고, 상기 데이터 통신부(25)가 그 송신소켓을 통해 수신한 데이터 블록에 그 송신소켓과 연계된 IP주소와 포트번호를 부가한 음성 패킷을 완성하여 상기 셀룰러 인터페이스(26a)를 통해 상향(upward) 송신하게 된다.
본 발명에 따른 다른 일 실시예에서는, 음성 패킷을 UDP가 아닌 TCP (Transfer Control Protocol)에 따른 형식으로 구성할 수도 있다. 물론, 이 경우에는 그 형식에 준하여 음성 패킷을 송신하는 측의 IP주소와 포트번호가 삽입될 것이다. 그리고, TCP 형식의 패킷을 송수신하기 위해, 상기 데이터 통신부(25)와 상기 분배부(23)/상기 배열부(24)간에 생성하는 소켓도, 그 형식에 부합하는 소켓이 생성된다.
상기 셀룰러 인터페이스(26a)를 통해 상향 송신되는 음성 패킷들은 셀룰러 망을 경유하여 상기 이원-VoIP 서버(300)에 도달하게 되고, 상기 제 1망 접속부(31a)에 의해서, 그 음성 패킷들의 헤더에 있는 포트번호(Lpn11)에 대해서 생성된 수신소켓에 임시 저장되고, 그 수신소켓에 쌓이는 음성 패킷들은 상기 수신부(3rcL)에 의해 읽혀져, 각 패킷의 데이터 블록( 즉, 데이터 필드에 실린 데이터 )이 추출되어 상기 배열부(3dpsL)에 전달된다. 상기 배열부(3dpsL)는 수신한 각 데이터 블록에 대해, 자신에게 설정된 IP주소와 포트번호를 패킷 헤더로 하는 음성 패킷을 구성하여 앞서 생성한 송신소켓을 통해 상기 제 2망 접속부(31b)에 전달하고, 상기 제 2망 접속부(31b)는 수신된 음성 패킷을 연결된 통상의 유선 통신망으로 송신한다. 따라서, 상기 이원-VoIP 서버(300)에 의해, 수신한 패킷의 헤더정보(601)가 도 6a에 예시된 바와 같이 VoIP 통화의 착신측을 향하는 정보(602)로 변경되어 통신망을 경유하여 종국적으로 상기 착신측 단말기(110)에 전달된다. 본 발명의 일 실시예에 따라, 데이터 필드에 통화 식별자가 포함되어 있는 경우에는, 도 6b에 예시된 바와 같이, 그 통화 식별자(62)는 제거되어 상기 착신측 단말기(110)로 향하는 패킷(610)으로 변환될 수도 있다.
상기 착신측 단말기(110)에 전달된 음성 패킷들은 그 단말기에서의 적절한 처리를 거쳐 음성으로 출력되고, 그 음성에 대한 응답으로 그 단말기의 사용자가 말하는 내용은, 상기 착신측 단말기(110)의 처리수단을 통해 음성 패킷들로 변환되어 통신망으로 송신된다. 상기 착신측 단말기(110)가 음성 패킷을 수신하여 처리하고, 입력된 음성을 음성 패킷으로 구성하는 동작은 통상의 방식에 따라 이루어지거나, 상기 착신측 단말기(110)가 도 2에 예시된 구성요소들을 포함하는 경우에는, 앞서 설명한 과정과 이후에 설명하는 과정에 따라 음성 패킷의 송신과 수신의 처리가 이루어지므로, 상기 착신측 단말기(110)에서의 그러한 동작에 대한 상세한 설명은 여기서는 생략한다. 상기 착신측 단말기(110)에 의해 통신망으로 송신되는 음성 패킷들은, 상기 착신측 단말기(110)에 의해 그 헤더에, 상기 이원-VoIP 서버(300)의 IP주소(IP3)와 연결 요청의 승낙(S403)시에 상대측에 전달한 원격지 포트번호(Rpn21)가 기재되어 있다. 따라서, 상기 착신측 단말기(110)로부터 송신된 음성 패킷들은 상기 이원-VoIP 서버(300)에 도달하게 되고, 이들은 상기 제 2망 접속부(31b)에 의해, 그 패킷 헤더의 포트번호(Rpn21)에 대해 생성되어 있는 수신소켓에 임시 저장된 후 그 수신소켓을 모니터하고 있는 상기 분배부(3dtbL)에 의해 읽혀지게 된다. 상기 분배부(3dtbL)는 상기 수신소켓으로부터 읽어내는 각 음성 패킷에서 데이터 블록( 즉, 데이터 필드의 데이터 )을 추출하여 현재 자신에게 “송신가능 상태”임을 통지한 상기 송신부(3scL)에 전달한다. 현재 활성화된 상기 VoIP 통화부(3L)에서, 양 송신부(3scL,3swL)가 모두 “송신가능 상태”임을 통지한 경우일 수도 있는 데, 이 때는, 상기 분배부(3dtbL)가 송신부의 어느 한쪽을 또는 양 송신부 모두를 선택적으로 사용하게 된다. 이러한 선택적 사용방법에 대해서는 이후에 상세히 설명한다.
한편, 전술한 바의 과정에 따라 상기 분배부(3dtbL)로부터 패킷내의 데이터 블록들이 수신되면, 상기 송신부(3scL)는, 수신된 각 데이터 블록에 대해, 자신에게 설정된 IP주소(IP11)와 포트번호(Rpn32)를 포함하는 패킷 헤더를 부가하여 완전한 음성 패킷을 구성한 후, 앞서 활성화시에 생성해 둔 송신소켓을 통해 상기 제 1망 접속부(31a)에 전달하여 그 전송을 요청한다. 본 발명의 일 실시예에 따라, 상기 VoIP 단말기(100)가 전송하는 음성 패킷의 데이터 필드에 통화 식별자가 포함되어 있는 경우에는, 상기 송신부(3scL)도 자신이 구성하는 음성 패킷에 통화 식별자를 삽입하게 된다. 물론, 이 통화 식별자는 상기 호 제어부(30)로부터 통지받는다. 상기와 같은 패킷 헤더에 대한 구성은 상기 제 1망 접속부(31a)가 수행할 수도 있다. 이를 위해서는, 상기 송신부(3scL)는 상기 제 1망 접속부(31a)에 송신소켓의 생성을 요청할 때, 그 소켓을 통해 전송되는 데이터 블록에 부가할 IP주소와 포트번호를 알리게 된다. 상기 제 1망 접속부(31a)에 전달된 음성 패킷들은, 셀룰러 망을 경유하여 상기 VoIP 단말기(100)로 하향(downward) 송신됨으로써 상기 셀룰러 인터페이스(26a)에 의해 수신된 후 음성 패킷의 형태로 상기 데이터 통신부(25)에 인가된다.
상기 데이터 통신부(25)는, 그 인가된 음성 패킷들의 각 헤더에 포함되어 있는 포트번호에 의거하여 그 포트번호에 대해 생성된 수신버퍼에 음성 패킷들을 임시 저장한다. 그러면 상기 배열부(24)는 그 수신버퍼로부터 음성 패킷들을 읽어내어 데이터 블록들로 임시 저장한 후, 그 수신순서와는 무관하게 각 데이터 블록에 기재되어 있는 순서번호에 따라 차례대로 해당 데이터 블록의 오디오 프레임 부분을 상기 보코더(22)에 인가하게 된다. 만약, 오디오 프레임 부분이 하나의 완전한 오디오 프레임에 대한 것이 아니면, 상기 보코더(22)에 인가한 오디오 프레임에 의한 버퍼링량이 소진될 때까지, 다음 순서번호의 데이터 블록을 대기하게 된다. 그리고, 상기 임시 저장한 데이터 블록에, 앞서 상기 보코더(22)에 이미 전달한 데이터 블록의 순서번호보다 앞서는 순서번호가 있다면 그 데이터 블록은 무시하고 상기 보코더(22)에 전달하지 않는다. 상기 보코더(22)는 자신에게 인가되는 각각의 오디오 프레임 부분을 디코딩하여 압축해제된 디지털 음성 데이터를 상기 신호 처리부(21)에 인가하게 되고, 상기 신호 처리부(21)는 그 인가되는 디지털 음성 데이터를 아날로그 신호로 변환하여 적절히 증폭한 뒤 스피커 또는 헤드폰 등으로 출력하여 사용자가 음성을 청취할 수 있도록 한다.
전술한 방식에 의해, 발신측의 상기 VoIP 단말기(100)와 상기 착신측 단말기(110)간에 음성 신호에 따른 음성 데이터가 패킷을 통해 수송되어 상대측에 전달됨으로써 양 당사자간에 VoIP 통화가 이루어지게 된다(S405). 물론, 이 때의 VoIP 통화는 앞서의 가정에 따라 셀룰러 망에 기반한 통화로에 의해 이루어지는 것이다.
VoIP 통화가 이루어지는 동안, 상기 VoIP 단말기(100)가 이동 등에 의해 타 무선 통신망, 예를 들어 Wi-Fi 망의 서비스 가능 지역에 진입하게 되면, 그 상태를 상기 Wi-Fi 인터페이스부(26b)가 물리적으로 감지하게 된다. 예를 들어, Wi-Fi 망의 접속점(AP: Access Point)으로부터의 무선신호를 수신할 수 있게 되고, 그 상태는 상기 데이터 통신부(25)를 통해 상기 주 제어부(20)에 통지된다. 그러면, 상기 주 제어부(20)는, 현재 타 통신망, 예를 들어 셀룰러 망을 통해 이루어지고 있는 VoIP 통화가 있는 지를 기록된 VoIP 통화 정보로부터 확인한 후, VoIP 통화가 있으면, 상기 데이터 통신부(25)에 요청하여 Wi-Fi 망의 접속점에 연결되도록 요청한다(S411). 그리고, 기록된 VoIP 통화 정보의 통화모드가 "단일경로"이면서 사용 통신망이 Wi-Fi 망이 아니면, 보완 연결 요청 메시지를 구성하게 된다. 상기 주 제어부(20)에 의해 구성되는 보완 연결 요청 메시지에는, 상기 VoIP 통화 정보에 있는 통화 식별자(call_ID0)와, 새로이 접속된 Wi-Fi 망으로부터 할당된 IP주소(IP12), 그리고 보완 통화로( "보완 통화로"의 용어는, 현재 VoIP 통화를 위한 통화로에 대해서 추가적으로 개설되는 의미로서 사용하는 것일 뿐, Wi-Fi 망에 대해 생성되는 것에 한정하는 의미로서 사용하는 것은 아니다. )에 대해 할당한 로컬 포트번호(Lpn12)가 포함된다. 최초 연결 요청 메시지에서와 같이 착신측의 식별정보(dst_ID2)가 더 포함될 수도 있다. 또한, 보완 통화로를 위해 사용되는 통신망의 종류에 대한 정보도 포함될 수 있다. 상기 주 제어부(20)는, 이와 같이 구성된 보완 연결 요청 메시지를 상기 데이터 통신부(25)에 전송할 통신망을 지정하면서 그 송신을 요청하고, 그 요청에 따라 상기 데이터 통신부(25)는 보완 연결 요청 메시지를 상기 Wi-Fi 인터페이스부(26b)를 통해 무선 송출되게 한다. 무선신호로 송출된 상기 보완 연결 요청 메시지는, Wi-Fi 망을 경유하여 상기 이원-VoIP 서버(300)에 도달하게 된다(S412).
상기 이원-VoIP 서버(300)에 도달한 보완 연결 요청 메시지는 상기 제 1망 접속부(31a)에 의해 상기 호 제어부(30)에 전달된다. 상기 호 제어부(30)는, 그 메시지에 포함되어 있는 통화 식별자(call_ID0)를 확인하고, 그 통화 식별자를 포함하는 엔트리가 자신이 관리하고 있는 VoIP 통화관리 목록에 등재되어 있는 지를 확인한다. 등재되어 있으면, 새로이 포트번호(Rpn33)를 할당하고, 그 엔트리에 포함되어 있는 식별정보에 의해 지시되는 상기 VoIP 통화부(3L)의, 상기 보완 연결 요청에 의해 통화로로 사용할 통신망과의 송수신을 처리하도록 지정된 송수신부(3wL)에, 상기 할당한 포트번호(Rpn33), 그리고 보완 연결 요청 메시지에 포함되어 있는 발신측 IP주소(IP12)와 포트번호(Lpn12)를 통지하여 도 5에서와 같이 설정시킨다(52). IP주소와 포트번호를 설정시키는 다른 방법으로서는, 상기 VoIP 통화부(3L)에서 유효한 IP주소와 포트번호가 현재 설정되어 있지 않은 송수신부에 통지하여 설정시키면서, 그 송수신부가 어떤 통신망을 경유하는 데이터의 처리를 위한 것인 지를 그 VoIP 통화부(3L)의 배열부(3dpsL)와 분배부(3dtbL)에 통지하게 된다. 새로이 IP주소와 포트번호가 설정된 상기 송신부(3swL)가 수신부(3rwL)는, 앞서 IP주소 등이 설정된 상기 송신부(3scL)와 수신부(3rcL)가 행했던 것과 동일한 방식으로, 상기 제 1망 접속부(31a)에 송신소켓과 수신소켓을 각기 생성하게 되고, 상기 송신부(3swL)는 “송신가능 상태"임을 상기 분배부(3dtbL)에 통지하게 된다.
상기 송수신부 쌍(3cL,3wL)에서 Wi-Fi 망과의 데이터 송수신을 위해 지정되는 송수신부는 IP주소와 포트번호가 현재 설정되어 있는 상태에서 새로운 IP주소와 포트번호가 상기 호 제어부(30)로부터 통지될 수도 있다. 이는, 이후에 상세히 설명되겠지만, 상기 VoIP 단말기(100)가 VoIP 통화 중에 Wi-Fi 망과의 접속이 이루어졌다가 해지된 후 동일 접속점 또는 타 접속점을 통해 다시 보완 연결 요청이 있을 때 발생될 수 있다. 이와 같이 현재 설정된 IP주소와 포트번호가 설정되어 있는 상태에서 새로운 IP주소와 포트번호가 상기 호 제어부(30)로부터 통지되면, 해당 송수신부는 상기 제 1망 접속부(31a)에 대해 앞서 생성해 둔 소켓들은 폐쇄(close)하고, 통지된 새로운 IP주소와 포트번호로써 송신과 수신을 위한 소켓들을 생성하게 된다.
상기 호 제어부(30)가 상기 보완 연결 요청 메시지가 어떤 통신망을 통화로로 이용하기 위한 것인 지를 파악하는 방식에는 여러가지가 있을 수 있다. 보완 연결 요청 메시지에 통화로 망의 정보가 있으면 그 정보를 이용할 수도 있고, VoIP 통화로를 위해 사용할 수 있는 통신망 종류가 2개인 경우에는, 상기 VoIP 통화관리 목록에 등재된 동일 통화 식별자에 대해 지정되어 있는 통신망 정보로부터 파악할 수도 있다. 즉, 엔트리에 기록된 통신망이 아닌 나머지 통신망을 보완 연결에 의해 사용될 통신망으로 간주한다. 또 다르게는, VoIP 통화를 위해 사용할 통신망의 종류에 따라 연결 요청 메시지가 각기 구분되도록 함으로써 그 연결 요청 메시지의 유형으로부터 파악할 수도 있다. 물론, 연결 요청 메시지의 유형은 동일한 연결 요청 메시지에 별도로 지정된 속성필드에 기재하는 값, 또는 플래그에 의해 구분될 수도 있다.
상기 주 제어부(30)는, 전술한 바와 같은 송수신부에 IP주소 등의 설정 후에, 상기 수신된 보완 연결 요청에 대한 승낙 메시지를 구성하여 상기 제 1망 접속부(31a)를 통해 송신한다. 최초의 VoIP 연결 요청에서와는 달리, 보완 연결 요청에 대해서는, 상기 착신측 단말기(110)와의 호 처리를 위한 과정(S402,S403)이 수행되지 않는다. 상기 승낙 메시지는, 보완 연결 요청 메시지에 포함되어 있던 통화 식별자(call_ID0)와, 보완 연결에 대해 새로이 할당한 상기 포트번호(Rpn33)가 포함되어 구성된다.
상기 송신된 승낙 메시지는 Wi-Fi 망을 경유하여 상기 VoIP 단말기(100)에 도달하고(S413), 상기 Wi-Fi 인터페이스부(26b)를 통해 상기 데이터 통신부(25)에 의해 수신된다. 상기 데이터 통신부(25)는 수신된 승낙 메시지를 상기 주 제어부(20)에 전달하고, 그 승낙 메시지를 수신한 상기 주 제어부(20)는, 자신이 송신한 보완 연결 요청 메시지의 로컬 포트번호(Lpn12)와 그 요청 메시지의 목적지의 IP주소(IP3)를 상기 분배부(23)에 통지하여 설정하고, 상기 수신한 승낙 메시지에 포함되어 있는 원격지 포트번호(Rpn33)는 상기 배열부(24)에 통지하여 설정하며, 보완 통화로에 사용할 무선 통신망, 즉 Wi-Fi 망의 지정정보도 상기 분배부(23)와 상기 배열부(24)에 각기 통지한다. 그 통지에 따라, 상기 분배부(23)와 상기 배열부(24)는, 상기 데이터 통신부(25)에 Wi-Fi 망용의 송신소켓과 수신소켓의 생성을 요청한다. 물론, 수신소켓의 생성요청에는 자신에게 설정된 원격지 포트번호(Rpn33)가 사용된다. 그리고, 상기 주 제어부(20)는, 현재의 VoIP 통화 정보에, 그 통화모드를 "다중경로"로 변경 기록해 둔다.
상기 분배부(23)는 Wi-Fi 망에 대한 송신소켓의 생성 후에는, 상기 보코더(22)로부터 입력되는 오디오 프레임 시퀀스에 대해서 구성한 음성 패킷들을, 도 7에 예시된 바와 같이, 양 송신소켓을 통해 이중으로 상향 송신하게 된다. 즉, 셀룰러 망과 Wi-Fi 망을 통해 동일한 음성 데이터를 중복하여 상향 송신하게 된다(71). 물론, 이중으로 송신되는 음성 데이터를 실은 각 음성 패킷의 포트번호는 서로 상이하다. 본 설명의 예에서, 이전부터 통화로로 사용하고 있던 셀룰러 망을 경유하게 되는 음성 패킷에는 포트번호 Rpn32가 패킷의 헤더에, 새로이 통화로로 사용되는 Wi-Fi 망을 경유하게 되는 음성 패킷에는 포트번호 Rpn33이 패킷의 헤더에 기록된다. 음성 패킷은 앞서 언급한 바와 같이 UDP 유형으로 송신되는 데, 이 유형의 패킷은 TCP 유형과는 달리 통신망 상에서 그 전송이 보장되지 않고 손실될 수도 있다. 따라서, 서로 상이한 경로를 통해 이중으로 송신되면, 일 경로상에서의 손실 패킷이 타 경로에서는 보전될 수 있으므로 전체적으로는 패킷 손실률이 감소된다.
이와 같이 복수 통신망을 통하여 이중으로 상향 송신하는 음성 패킷들은, 상기 이원-VoIP 서버(300)의 상기 제 1망 접속부(31a)에 의해, 각 패킷의 헤더에 기록된 포트번호로써 각기 특정되는 서로 다른 수신버퍼에 분류되어 임시 저장되고, 그 각 수신버퍼를 생성 요청하였던 양 수신부(3rcL,3rwL)는 해당 수신버퍼로부터 음성 패킷들을 읽어내어 그 데이터 블록들을 상기 배열부(3dpsL)에 각기 전달한다. 그러면, 상기 배열부(3dpsL)는 양 수신부(3rcL,3rwL)로부터 각기 수신되는 데이터 블록들에서 먼저 도달한 것에 대해서만 음성 패킷으로 구성하여, 상기 제 2망 접속부(31b)에 생성한 송신소켓을 통해 상기 착신측 단말기(110)로 송신한다. 다시 말하면, 중복 수신되는 데이터 블록이 중복하여 착신측으로 전달되지 않도록, 이미 상기 착신측 단말기(110)로 송신한 순서번호와 동일한 순서번호의 데이터 블록이 수신되면, 그 데이터 블록은 이하에서 설명하는 통신망의 품질 파악을 위해 이용한 후 버리게 된다.
한편, 상기 배열부(3dpsL)는 양 수신부(3rcL,3rwL)로부터 데이터 블록이 수신될 때는, 어느 쪽 경로, 즉 어느 무선 통신망을 경유하는 패킷이 음성 품질에 있어서 더 나은 지를 주기적으로 판단한다. 이러한 상대적 비교우위에 대한 판단을 위해서, 상기 배열부(3dpsL)는, 도 8에 예시된 바와 같이, 일정 시간(TQchkInt)마다, 그 시간안에 양 수신부(3rcL,3rwL)로부터 각기 수신된 동일 순서번호의 데이터 블록의 도달 시점의 차(Tjit_k)를 파악한다. 그리고, 그 파악된 시간차(Tjit_k)의 합으로부터 어느 수신부로부터 수신되는 데이터 블록이 평균적으로 더 빨리 도착한 것인 지를 판단한다. 그리고, 상기 배열부(3dpsL)는 상기 양 수신부(3rcL,3rwL)가 각기 어느 통신망에 대한 것임을 파악하고 있으므로, 평균적으로 더 빨리 도착하는 데이터 블록을 전달하는 수신부가 수신처리하도록 지정된 무선 통신망이 현재 더 좋은 통화 품질을 나타내는 것으로 판단하게 된다. 도 8의 예에서, 파악된 시간차(Tjit_k)의 합은 음수(minus)가 될 것이므로, 상기 수신부(3rwL)에 대해 지정된 무선 통신망, 예를 들어 Wi-Fi 망이, 현 시점에 더 우수한 통화 품질을 보이고 있다고 판단하게 된다.
본 발명에 따른 다른 일 실시예에서는, 각 무선 통신망에 대한 상대적 통화 품질을 다른 수신특성, 예를 들어 패킷 손실률로부터 파악할 수도 있다. 상기 배열부(3dpsL)는, 상기 일정 시간(TQchkInt)마다, 상기 양 수신부(3rcL,3rwL)로부터 수신되는 데이터 블록들의 순서번호에서 결손된 순서번호의 수의 비율을 파악하게 된다. 그리고 그 비율이 더 작은 쪽의 수신부가 데이터를 처리하는 통신경로, 즉 무선 통신망이 VoIP 통화에 있어서 상대적으로 더 우수한 품질을 제공하는 것으로 판단하게 된다.
본 발명에 따른 일 실시예에서는, 전송지연 시간에 따른 평가와 패킷 손실률에 의한 평가를 결합하여 어느 쪽 무선 통신망이 VoIP 통화에 있어 상대적으로 더 나은 품질을 보이는 것인 지를 판단할 수도 있다.
상기 배열부(3dpsL)가, 전술한 방법들 중 어느 하나의 방법으로, 통화 품질에 있어서 현재 비교 우위에 있는 무선 통신망을 판단하게 되면 그 망정보를 상기 분배부(3dtbL)에 통지한다. 다르게는, 각 무선 통신망에 대해 확인된 상대적 품질판단을 위한 정보와 해당 망정보를 상기 분배부(3dtbL)에 제공함으로써 상기 분배부(3dtbL)가 다양한 조건과 변수들을 고려하여 VoIP 통화에 있어 이용자에게 더 유리한 무선 통신망이 어떤 망인지를 판단할 수도 있다. 이하에서 설명하는 무선 통신망에 대한 절대적 품질 확인의 경우에도 마찬가지이다.
한편, 상기 분배부(3dtbL)는, 상대적 비교우위의 판단에 따른 망정보의 통지가 있게 되면, 또는 일정 횟수 이상의 망정보 통지가 있게 되면, 그 통지된 무선 통신망, 또는 일정횟수 이상의 통지에서 상대적으로 더 많이 통지된 무선 통신망으로, 상기 착신측 단말기(110)로부터 수신되는 음성 패킷들이 하향 송신되도록 한다. 다시 말하면, 자신이 상기 제 2망 접속부(31b)를 통해 수신하는 음성 패킷들로부터 추출한 각 데이터 블록을 해당 무선 통신망에 대한 송신처리가 지정된 송신부로 전달하게 된다. 만약, 복수의 VoIP 통화로가 상기 VoIP 단말기(100)와 상기 이원-VoIP 서버(300)간에 개설된 상태에서, Wi-Fi 망이 셀룰러 망에 비해 통화 품질이 평균적으로 더 나은 상태이면, 상기 착신측 단말기(110)로부터 수신되는 음성 패킷들의 데이터 블록들은 Wi-Fi 망을 경유하도록 상기 분배부(3dtbL)에 의해서 그 전달지가 상기 송신부(3swL)로 전환된다. 이렇게 되면, 상기 송신부(3swL)에 설정된 IP주소(IP12)와 포트번호(Rpn33)가 각 데이터 블록에 헤더로서 부가되어 음성 패킷의 형태로 Wi-Fi 망을 경유하여 상기 VoIP 단말기(100)에 하향 전송된다. 만약, 현재 시점까지는 여전히 셀룰러 망이 통화 품질에 있어서 더 나은 상태이면, 전달지가 전환되지 않고 상기 송신부(3scL)에의 전달이 지속된다. 물론, 이후의 반복되는 통화품질 평가를 통해서 어느 시점에 전달지가 전환되어 Wi-Fi망이 사용될 수 있다.
전술한 바와 같은, 각 무선 통신망에서의 통화 품질을 수신되는 음성 패킷을 통해 상대적으로 평가하고, 그 평가에 따라 무선 통신망을 선택적으로 사용하여 음성 패킷들을 하향 송신하는 동작은, 복수의 VoIP 통화로가 개설된 상태에서는 지속적으로 이루어진다. 그리고, 이 상태에서는, 도 3에 예시된 바와 같이, 상기 이원-VoIP 서버(300)와 상기 VoIP 단말기(100)간에는 셀룰러 망상의 통화로(414a)와 Wi-Fi 망상의 통화로(414b)가 택일되어 또는 양 통화로가 병용되어 음성 패킷들이 발신측과 착신측간에 전달된다(S414).
본 발명에 따른 다른 일 실시예에서는, 상기 VoIP 통화부(3L)에서 각 무선 통신망의 통화경로에 대한 품질을 측정하는 대신, 상기 VoIP 단말기(100)가 직접 측정하여 제공하는, 현재 통화로가 형성된 무선 통신망에 대한 품질변수 정보를 이용할 수도 있다. 상기 품질변수는, 앞서 언급한 전송지연 시간 및 패킷 손실률외에, 단말기가 측정할 수 있는 데이터 수신속도, 수신신호의 세기 등을 포함한다. 단말기가 상기 품질변수들에 대한 값을 측정하거나 확인하는 방법에 대해서는 후술한다.
본 발명에 따른 또 다른 일 실시예에서는, 품질변수 정보를 기 지정된 특정의 외부 서버로부터 획득할 수도 있다. 본 실시예에서는, 상기 VoIP 단말기(100)가 보완 연결 요청을 할 때, 그 요청 메시지내의 특정 정보 필드에, 현재 위치를 알 수 있게 하는 정보 예를 들어, 셀룰러 망 또는 Wi-Fi 망의 서비스 영역 식별정보( 기지국 ID 또는 접속점의 MAC 주소 등 ) 또는 경위도 좌표( 위성신호로부터 경위도 좌표를 구하는 GPS 모듈이 구비된 경우 ) 등을 기입하여 송신하게 되고, 그 보완 연결 요청을 수신한 상기 이원-VoIP 서버(300)의 호 제어부(30)는, 보완 연결 요청에 대해 승낙 메시지를 상기 VoIP 단말기(100)에 송신하면서 그 서비스 영역 식별정보를, 해당 VoIP 통화를 처리하고 있는 상기 VoIP 통화부(3L)의 상기 분배부(3dtbL)에 통지하게 된다. 그러면, 상기 분배부(3dtbL)는 그 서비스 영역 식별정보를 상기 데이터 통신부(25)를 통해 기 지정된 외부 서버에 제공하면서 각 무선 통신망의 해당 서비스 영역에 대한 통화 품질에 대한 정보를 획득하여 이용하게 된다. 물론, 이 때는, 음성 패킷들의 송수신을 위한 소켓외의 별도의 소켓, 예를 들어 TCP 유형의 소켓을 상기 데이터 통신부(25)와의 사이에 생성하여 그 소켓을 이용하게 된다. 본 실시예에서는, 상기 VoIP 단말기(100)는, 이동통신이 가능한( 즉, 서비스 권역간의 핸드오버(handover)가 가능한 ) 무선 통신망인 셀룰러 망에 대해서 그 서비스 권역이 변경되는 경우, 그 변경된 서비스 영역 식별정보를 상기 이원-VoIP 서버(300)에 제공하게 된다. 서비스 권역의 변경은 상기 셀룰러 인터페이스부(26a)가 감지하게 되고, 그 사실을 상기 데이터 통신부(25)를 통해 확인한 상기 주 제어부(20)가 변경된 서비스 영역 식별정보를 상기 셀룰러 인터페이스부(26a)로부터 확인한 후, 그 서비스 영역 식별정보를, 현재 연결된 VoIP 통화의 통화 식별자(call_ID0)를 부가하여 VoIP 통화 환경정보 메시지를 구성하여 상기 이원-VoIP 서버(300)로 송신하게 된다. 이 환경정보 메시지는 VoIP 호 처리 메시지들과 마찬가지로 상기 호 제어부(30)에 전달되며, 상기 호 제어부(30)는, 수신된 환경정보 메시지에서 서비스 영역 식별정보를 추출하고, 또한 그 메시지의 통화 식별자(call_ID0)에 근거하여 해당되는 VoIP 통화부(3L)를 특정하여 그 VoIP 통화부(3L)의 상기 분배부(3dtbL)에 통지하게 된다. 그러면, 상기 분배부(3dtbL)는 그 변경 통지된 서비스 영역 식별정보를 사용하여 그 영역에 관련된 품질변수 정보를 주기적으로 획득하게 된다. 상기 분배부(3dtbL)가 품질변수 정보를 획득하지 않고 상기 호 제어부(30)가 해당 정보를 주기적으로 획득하여 상기 분배부(3dtbL)에 제공할 수도 있다. 본 실시예에서, 상기 외부 서버는, 수많은 무선통신 단말기들로부터 각 서비스 영역에서 데이터 서비스 이용도중 파악한 통신품질( 예를 들어, 데이터 수신속도, 전송지연 시간, 패킷 손실률 등의 통신 특성치 )을 보고받아 이를 데이터베이스에 등재하고, 상기와 같은 품질변수 정보의 요청이 있을 때, 해당 서비스 영역에 대해 통계적으로 확인되는 품질정보( 상기 예를 든 각 통신 특성치, 또는 그들에 대해 각각의 가중치를 부여하여 결합한 품질점수 )를 제공하게 된다.
복수의 VoIP 통화로가 개설된 상태에서, 상기 착신측 단말기(110)로부터 수신된 음성 패킷들에 대해, 상기 VoIP 단말기(100)로의 전달 경로를 Wi-Fi 망 하나만을 사용하고 있는 동안에는, 상기 분배부(3dtbL)는, 그 경로의 VoIP 통화에 대한 절대적 전송품질을 확인하기 위하여 일련의 테스트 블록들을 구성하여, Wi-Fi 망으로의 송신처리가 지정된 상기 송신부(3swL)에 제공하는 동작을 주기적으로 수행한다. 이렇게 제공된 일련의 테스트 블록들은, 상기 송신부(3swL)에 의해, 음성 패킷과 동일 형식( 예를 들어 UDP에 따른 형식 )의 테스트 패킷으로 각기 구성되어 Wi-Fi 망을 통해 상기 VoIP 단말기(100)로 전송된다. 상기 테스트 패킷에 의해 수송되는 테스트 블록에는, 그 블록이 테스트용 블록임을 지시하는 유형정보와 송신하는 시점의 시간정보가 포함된다. 단일의 테스트 블록이 아니고 복수의 테스트 블록들을 전송하는 경우에는 그 순서를 나타내는 번호가 각 블록에 포함될 수도 있다.
상기와 같이 구성되어 전송된 일련의 테스트 패킷( 하나일 수도 있고 다수일 수도 있다. )은 상기 VoIP 단말기(100)의 Wi-Fi 인터페이스부(26b)에 의해 수신되어 상기 데이터 통신부(25)와의 사이에 생성된 Wi-Fi 망용 수신소켓을 통해 상기 배열부(24)에 전달된다. 패킷에 의해 수송된 데이터 블록이 그 유형정보로부터 테스트 블록인 것으로 판별되면, 상기 배열부(24)는, 그 테스트 블록에 기재된 송신 시간정보에 이어서 현재 시각을 수신 시간정보로 기록한 후 상기 분배부(23)에 전달하면서 수신한 무선 통신망, 즉 Wi-Fi 망으로의 전송을 지정한다. 이 전송 지정에 따라, 상기 분배부(23)는 송신이 가능한 시점이 되면, 그 수신된 테스트 블록에 수신 시간정보에 이어서 현재 시각을 송신 시간정보로 부기한 후 패킷의 형식으로 구성하여, 상기 데이터 통신부(25)에 Wi-Fi 용 송신소켓을 통해 전달한다. 이렇게 구성된 테스트 패킷은 다시 상기 이원-VoIP 서버(300)에 도달하여 상기 제 1망 접속부(31a)를 거쳐, Wi-Fi 망을 경유한 패킷을 수신하도록 지정된 상기 수신부(3rwL)에 의해 수신되어, 그 테스트 블록이 상기 배열부(3dpsL)에 전달된다. 상기 배열부(3dpsL)에 의해 수신된 데이터 블록의 유형정보로부터 테스트 블록임을 식별하고, 그 테스트 블록에 자신이 수신한 시점에 대한 시간정보를 부기하게 된다. 이와 같이 통화로를 순환한 테스트 블록의 최종 정보의 포맷은 도 9에 예시된 바와 같을 수 있다.
상기 배열부(3dpsL)는 도 9에 예시된 바와 같은 정보 포맷을 갖는 테스트 블록을 상기 분배부(3dtbL)에 전달하고, 상기 분배부(3dtbL)는 수신된 테스트 블록에 기재된 각 시간정보로부터 전송 지연시간을 구한다. 예를 들어, 각 송신/수신 시간정보 쌍(911,912)에서 구한 각 소요시간(Ttravers1=tr1-ts1, Ttravers2=tr2-ts2)의 평균 소요시간{=(Ttravers1+ Ttravers2)/2}으로부터 VoIP 통화에 대한 절대적 품질을 확인하게 된다. 본 발명에 따른 일 실시예에서는, 상기 이원-VoIP 서버(300)로부터 상기 VoIP 단말기(100)까지의 하향 경로상의 소요시간(Ttravers1=tr1-ts1)에만 근거해서 VoIP 통화에 대한 절대적 품질을 확인할 수도 있다. 상기 분배부(3dtbL)는, 상기와 같은 방식으로 확인되는 절대적 품질이, 또는 수회에 걸쳐 위와 같은 방식으로 확인한 절대적 품질의 평균치가 기 지정된 어느 하위 기준치보다 더 낮으면, 상기 착신측 단말기(110)로부터 수신된 음성 패킷들을 Wi-Fi 망으로만 하향 전송되게 하지 않고, 현재 통화로가 개설된 양 무선 통신망 모두를 통해 하향 전송되게 한다. 즉, 상기 착신측 단말기(110)로 수신된 임의의 음성 패킷에 의해 수송된 데이터 블록을 양 송신부(3swL,3scL)에 중복하여 제공함으로써 동일 음성 데이터의 음성 패킷들이 양 무선 통신망을 통해 전송되게 한다. 이 과정에서, 양 무선 통신망을 통해 중복 전송되는 각 음성 패킷은 서로 동일한 포맷으로 오디오 프레임 또는 해당 부분을 수송하지 않을 수도 있다. 예를 들어, Wi-Fi 망으로 전송되는 N개의 음성 패킷들에 실린 오디오 프레임들이, 셀룰러 망으로는 M( ≠N )개의 음성 패킷들에 실려서 전송될 수도 있다. 즉, 상기 분배부(3dtbL)가 Wi-Fi 망으로 전송할 N개의 데이터 블록들에 대해서, 적절히 분할 및/또는 조합하여 M개의 데이터 블록들로 구성하여 셀룰러 망용 상기 송신부(3scL)에 제공할 수도 있다. 이는 이하의 설명에서도 마찬가지이다.
본 발명에 따른 다른 일 실시예에서는, 테스트 블록을 통해 능동적으로 각 통화로의 절대적 품질을 확인하는 대신, 상대측에서 송신하여 수신하게 된 음성 패킷들로부터 해당 통화로의 절대적 품질, 예를 들어 패킷 손실률 등을 수동적으로 측정할 수도 있다. 이러한 수동적 방식의 품질 측정은, 상대측에서 해당 통화로의 음성 패킷 전송이 전제되어야 하므로, 어느 하나의 통화로에 대해서만 행해질 수도 있고, 경우에 따라서는 복수의 통화로에 대해서 모두 행해질 수도 있다. 상기와 같은 수동적 방식으로 상기 배열부(3dpsL)가 측정한 통화로 품질에 대한 정보를 수신한 상기 분배부(3dtbL)는, 그 정보가, 현재 상기 착신측 단말기(110)로부터 수신된 음성 패킷들을 하향 전송하기 위해 단독 사용하고 있는 통화로의 품질이 기 지정된 하위 기준치보다 더 낮은 것임을 보여주면, 전술한 바와 같이 동일 음성 데이터가 양 무선 통신망을 통해 전송되게 한다. 이러한 수동적 품질 측정방식은, 상기 VoIP 단말기(100)의 상기 배열부(24)에서도 수행될 수 있으며, 그 수동적 방식에 의해 측정된 통화로 품질에 근거하여, 상기 분배부(23)가, 단일 통화로를 통한 음성 패킷들의 상향 전송에서 복수 통화로를 통한 음성 데이터의 이중의 상향 전송으로 전환할 수도 있다.
양 무선 통신망을 통해 동일 음성 데이터의 음성 패킷들을 이중으로 하향 송신하고 있는 중에도, 전술한 바와 같은 테스트 블록을 통한 Wi-Fi 망에 대한 통화 품질을 측정하여( 본 발명의 실시예에 따라서는, 셀룰러 망에 대해서도 동일한 방식으로 테스트 블록을 통한 통화 품질이 간헐적으로 측정될 수 있다. ) 그 품질이 상기 하위 기준치 이상이 되면 다시 단일 통신망, 즉 Wi-Fi 망만으로 음성 패킷들을 하향 전송하게 된다. 도 10은, 이러한 방식에 따라, Wi-Fi 망의 절대적 품질, 예를 들어 전송 지연시간에 의거하여 양 통신망이 적절히 하향 통화경로로 사용됨으로써 음성 패킷들이 상기 VoIP 단말기(100)로 전달되는 것을 도식적으로 보여주는 것이다. 여기서 하위 기준치(1002)는, 셀룰러 망, 특히 3G 셀룰러 망이 평균적인 부하상태에서 서버와 단말기간에 패킷을 전달하는 데 소요되는 명목(nominal) 시간으로 정해질 수 있다. 또는 셀룰러 망이 과부하상태에서 평균적으로 보여주는 서버와 단말기간의 패킷 전달시간으로 상기 하위 기준치(1002)가 설정될 수도 있다.
도 10에 예시된 바와 같이, 상기와 같이 파악되는 Wi-Fi 망의 통화 품질(1001)이 기 지정된 하위 기준치(1002) 이하가 되는( 예를 들어, 전송 지연시간이 그 하위 기준치보다 커지는 ) 시구간(Tworse1,Tworse2)에서는, 셀룰러 망을 통해 동일 음성 패킷들( 도면의 예시에서, 순서번호가, p,p+1,p+2,q+3,q+4,q+5의 패킷들 )을 이중으로 전송함으로써 셀룰러 망을 보완적으로 이용하게 된다. 즉, 현재 통화품질이 낮은 Wi-Fi 망에 의한 전송 지연이나 패킷 손실 부분이 셀룰러 망을 통해 이중 전송되는 패킷들에 의해 단축되거나 보충됨으로써 통화품질이 더 나아질 수 있다.
Wi-Fi 망은, 그 특성에 있어서 서비스 지역이 산포되어 있고 이용거리도 매우 짧은 등 이용상의 제한적 요소들로 인해, 이동통신 사업자의 운영정책상 Wi-Fi 망에 대해서는 데이터 서비스를 이용자가 무료로 이용할 수 있도록 하고 있다. 또한, 소규모 사업자들이 영업상 Wi-Fi 망을 설치하여 무료로 이용자에게 제공하고 있기도 하고, 개인이 댁내나 사무실에 Wi-Fi 망을 설치하여 무료로 또는 고정된 비용으로 이용하고 있기도 하다. 따라서, Wi-Fi망을 포함하여 복수의 무선 통신망상에 복수의 통화로( 즉, 세션 )가 개설된 상태에서 Wi-Fi 망만을 사용함으로써 이용자에게 추가적인 비용적 부담이 발생하지 않도록 하되, 그 Wi-Fi 망을 통한 통화 품질이, 이용자가 수용하기가 곤란한 정도, 또는 셀룰러 망을 통한 통상의 음질 수준이하가 되는 것으로 추정되는 구간에서는, 비용적 부담을 감수하고 셀룰러 망을 보완적으로 이용하도록 함으로써, 통화 품질이, 보다 광역의 서비스 영역으로 상대적으로 매우 안정된 서비스 특성을 보이고 있는 셀룰러 망에 의해 결정되는 것 이상이 되도록 한다. 결론적으로, Wi-Fi 망의 현재의 품질이 적정한 수준이면 비용부담없이 통화를 즐길 수 있도록 하되, 그렇지 못한 경우에는 다소의 비용을 이용자가 부담하더라도 통화 품질의 저하가 발생되지 않도록 하게 된다. VoIP 통화에 있어서 이와 같은 무선 통신망의 선택적 사용은, 통화로로 이용할 수 있는 복수의 통신망이 데이터 서비스의 이용에 있어서 비용적 차이가 있기 때문이다. 이러한 복수의 무선 통신망상의 통화로에 대한 선택적 이용은 이후에 설명하는 "차등 모드"에 따른 동작에 해당한다. 이와 같이, 복수의 통신망의 이용에 있어서 차등이 있는 것으로 지정된 경우에, Wi-Fi 망과 셀룰러 망 모두가 상기 하위 기준치(1002)이상의 품질을 보이게 되더라도, 전술한 바와 같이, VoIP 이용자에게 비용적으로 더 유리한 Wi-Fi 망에 대해 개설된 통화로만을 사용하여 음성패킷들을 하향 송신하게 된다. 만약, 차등이 없는 것으로 지정된 경우에는, 보다 나은 품질을 보이는 무선 통신망에 개설된 통화로만을 사용할 수도 있다.
전술한 바와 같이, Wi-Fi 망의 통화 품질이 기 지정된 하위 기준치이하가 되어서 상기 VoIP 통화부(3L)가 셀룰러 망을 통해서 이중으로 음성 패킷들을 상기 VoIP 단말기(100)로 하향 송신하고 있는 중에, 상기 VoIP 단말기(100)도 양 통신망을 통하여 이중으로 음성 패킷들을 상향 전송하고 있으면, 상기 VoIP 통화부(3L)는, 전술한 바와 같이, 양 통신망의 경로에 대해 상대적으로 더 우수한 품질을 나타내고 있는 지를 판단하고, 그 결과 Wi-Fi 망이 상대적으로 더 나은 것으로 판단되면 셀룰러 망을 통한 음성 패킷들의 보완적 전송은 중단할 수도 있다.
전술한 실시예에서는, Wi-Fi 망을 통한 VoIP 통화에서의 절대적 품질을 전송 지연시간을 예로 하여 설명하였지만, 상대적 품질 비교에서와 마찬가지로 패킷 손실률을 사용할 수도 있다. 이 경우에는, 상기 분배부(3dtbL)가 테스트 블록을 별도로 생성하지 않고, 상기 VoIP 단말기(100)의 분배부(23)가 Wi-Fi 망을 통해 상향 송신하는 음성 패킷들의 손실률( 즉, 데이터 블록의 순서번호의 결손률 )을 실시간으로 파악함으로써 그 손실률로부터 셀룰러 망의 보완적 사용여부를 결정할 수도 있다.
한편, 상기 VoIP 단말기(100)의 분배부(23)가, Wi-Fi 망이 새로이 연결되어 도 7에서와 같이 양 통신망을 사용하여 음성 패킷들을 상기 이원-VoIP 서버(300)로 상향 송신하고 있는 중(71)에, 상기 이원-VoIP 서버(300)가 양 통신망을 사용하여 상기 착신측 단말기(110)에서 생성된 음성 패킷들을 이중으로 하향 송신하고 있다면, 상기 배열부(24)는, 상기 이원-VoIP 서버(300)에 대해 설명하였던 바와 같이, 양 통신망에 대하여 상대적 통화 품질의 우위를 판단하여 이를 상기 분배부(23)에 통지하고, 상기 분배부(23)는 그 통지가 Wi-Fi 망이 상대적으로 더 나은 품질을 보이고 있으면 양 통신망을 통한 이중 송신은 중단하고 Wi-Fi 망만을 사용하여 음성 패킷들을 상향 송신하게 된다. 물론, 상기 이원-VoIP 서버(300)가 Wi-Fi 망만을 사용하여 음성 패킷들을 하향 송신하고 있다면, 상기 분배부(23)는, 상기 이원-VoIP 서버(300)에 대해 설명하였던 바와 같은 방식으로, 테스트 블록을 이용한 Wi-Fi 망의 절대적 전송 지연시간 측정과, 또는 상기 배열부(24)가 측정하는 수신 패킷들의 손실률의 주기적 확인을 통하여 얻은 통화 품질을 기 설정된 하위 기준치와 비교하고, Wi-Fi 망의 통화 품질이 그 하위 기준치이상인 경우에 셀룰러 망을 통한 이중의 전송을 중단하게 된다. 이와 같은 과정에 의해서, 상기 VoIP 단말기(100)가 셀룰러 망을 이용한 VoIP 통화중 Wi-Fi 망이 추가로 이용가능해 짐으로써 그 통신망으로 VoIP 통화를 전환하는 경우에, 통화 단절은 물론 발생하지 않으며, 새로이 접속된 Wi-Fi 망을 경유하는 VoIP 통화가 적정한 품질에 도달하거나 또는 셀룰러 망을 경유하는 VoIP 통화보다 더 나은 품질을 보이는 시점에 Wi-Fi 망의 단독사용으로 전환하게 된다. 이로써, 이용자는 별도의 단말기 조작이나 노력을 기울어지 않아도, VoIP 통화에 따른 비용발생을 억제하게 되고, 더 나은 통화품질을 경험할 수 있게 된다.
상기와 같이 Wi-Fi 망의 단독 사용으로 전환한 경우에도, 상기 분배부(23)는, Wi-Fi 망을 통한 통화 품질을 지속적으로 확인하고 그 품질이 기 지정된 하위 기준치 이하가 되는 시구간에서는, 도 10에 예시된 바와 같은 방식( 도 10의 예시는, 상기 이원-VoIP 서버(300)와 상기 VoIP 단말기(100)간의 하향 통화 경로에 대한 것이다. )으로 상향 통화 경로로서 양 통신망을 이용하게 된다.
한편, 셀룰러 망 또는 Wi-Fi 망에 개설된 임의 통화로에 있어서, 그 송신로와 수신로가 품질에 대해 상호 연관되지 않고 독립적인 특성을 가질 수도 있다. 즉, 수신로의 품질이 좋은 경우에도 송신로는 그와 무관하게 열악한 품질을 가질 수도 있다. 이와 같이 송신로와 수신로가 상호 독립적인 품질 특성을 가지는 경우에도, 전술한 바의 테스트 패킷을 통한 통화로의 품질 확인은 그대로 적용될 수 있다. 예를 들어, 상기 이원-VoIP 서버(300) 또는 상기 VoIP 단말기(100)가 전송하여 상대측으로부터 수신한 테스트 블록에 기재된 각 수신/송신의 시점정보로부터 자신이 패킷을 전송하는 송신로의 품질을 확인할 수 있다. 이와 같이 확인되는 송신로의 품질에 따라, 개설된 양 통화로에서 하나의 통화로를 사용하여 음성 패킷을 전송하거나, 또는 양 통화로를 사용하여 음성 패킷을 중복하여 또는 양 통화로로 나누어서 전송하게 된다.
전술하였던 바와 같이, Wi-Fi 망을 통환 통화품질이 기 지정된 하위 기준치 이하가 되면 셀룰러 망을 보완적으로 사용하는 방식에 의해, 도 11에 예시된 바와 같이, 상기 VoIP 단말기(100)가 이용자의 이동에 따라 현재 Wi-Fi 망을 액세스할 수 있는 지역에서 점차 멀어지는 경우에(111), 그로 인해 측정되는 통화 품질(1101)이 점차 낮아지므로( 예를 들어, 전송 지연시간이 점차 길어지므로 ), 음성 패킷들의 상향 송신이 자연스럽게 셀룰러 망으로 전환되고, 또한 상기 이원-VoIP 서버(300)에서도 마찬가지로 통화로의 품질 확인에 따라 하향 송신에 대해서 셀룰러 망으로 전환되므로, Wi-Fi 망을 통해 이루어지던 VoIP 통화가, 통화단절이나 음성의 결손없이 자연스럽게 셀룰러 망을 통한 VoIP 통화로 전환된다(1102). Wi-Fi 망의 신호수신 가능 임계영역을 벗어나게 되면(1103), 상기 VoIP 단말기(100)의 Wi-Fi 인터페이스부(26b)는 신호수신 불능 상태를 감지하게 되고, 그 상태를 상기 데이터 통신부(25)에 알리게 된다. 그러면, 상기 데이터 통신부(25)는 현재 Wi-Fi 망에 대해 생성된 송신소켓과 수신소켓 모두를 해지(release)하고, 상기 주 제어부(20)에도 Wi-Fi 망 접속 해지를 통지한다. 송신소켓이 해지되면 상기 분배부(23)는 그 시점부터 해당 송신소켓을 통한 음성 패킷 송신은 중단한다(1104)( 즉, Wi-Fi 망을 통한 전송은 중단된다. ). 이로 인해 당연히 Wi-Fi 망에 대한 통화품질 확인도 중단된다(1105). 한편, Wi-Fi 망 접속 해지를 통지받은 상기 주 제어부(20)는, 현재의 통화에 대한 VoIP 통화 정보를 수정한다. 즉, 통화모드는 “단일경로”로 그리고 사용 통신망은 셀룰러 망으로 기록하게 된다.
본 발명에 따른 일 실시예에서는, 상기 VoIP 단말기(100)의 상기 분배부(23)는 앞서 언급한 바의 품질변수들에 대한 값을 주기적으로 확인하여 품질변수 정보를 구성하여 상기 이원-VoIP 서버(300)의 대응 VoIP 통화부(3L)에 제공한다. 상기 품질변수에 속하는 전송지연 시간 및 패킷 손실률에 대한 측정 또는 확인방법은 앞서 설명한 바와 같이 이루어지고, 그 외의 변수, 예를 들어 수신신호 세기에 대한 값은 상기 데이터 통신부(25)에 요청하여 획득하게 된다. 이러한 요청은 현재 VoIP 통화로가 개설된 무선 통신망에 대해 이루어지며, 상기 데이터 통신부(25)는, 그 요청이 있으면 해당되는 무선 통신망에 대한 인터페이스부( 상기 셀룰러 인터페이스부(26a) 또는 상기 Wi-Fi 인터페이스부(26b) )에서 지원하는 접근방식을 통해 신호세기 측정값을 읽어서 상기 분배부(23)에 제공하게 된다. 데이터 수신속도의 측정은, 상기 VoIP 단말기(100)에 다른 기능을 위한 구성요소 또는 실행개체( 물리적 프로세서(processor)에 의해 실행되는 어플리케이션 또는 프로세스 등 )가 구비되어 있는 경우, 그러한 구성요소 또는 실행개체가 상기 데이터 통신부(25)를 통해 상기 셀룰러 인터페이스부(26a) 또는 상기 Wi-Fi 인터페이스부(26b)를 통해 원격지로부터 데이터를 수신할 때, 임의 시간당 수신되는 데이터량 또는 일정량의 데이터를 수신하는 데 소요되는 시간으로부터 해당 통신망의 데이터 수신속도를 측정할 수 있다. 상기 분배부(23)는 이와 같이 타 구성요소 또는 실행개체가 측정한 데이터 수신속도를 기 약속된 상호간 정보교환 방식에 따라 요청하여 파악하게 된다. 다르게는, 상기 분배부(23)가 기 지정된 특정 서버에 대해 특정 크기의 파일을 전송요청함으로써 수신되는 파일 데이터로부터 그 수신속도를 측정할 수도 있다.
상기 분배부(23)는 상기 품질변수 정보로써 데이터 블록을 구성할 때, 그 블록에 대해 특정 유형으로 지정한다. 이는, 상기 VoIP 통화부(3L)의 배열부(3dpsL)가 그 특정 유형에 근거하여 해당 데이터 블록을 상기 착신측 단말기(110)로 중계하지 않고, 그 데이터 블록의 정보를 상기 분배부(3dtbL)에 제공하도록 하기 위함이다. 물론, 상기 배열부(3dpsL)는, 품질변수 정보에 해당 통신망의 종류를 지시하는 정보가 포함되어 있지 않는 경우에는, 그 수신된 경로에 대한 정보, 즉 통신망의 종류를 그 제공하는 품질변수 정보와 함께 상기 분배부(3dtbL)에 제공하게 된다.
전술한 실시예들에서는, VoIP 통화로가 복수 무선 통신망을 통해 개설된 상태에서, 현재 상기 VoIP 단말기(100)와의 VoIP 통화를 처리하는 상기 VoIP 통화부(3L)가, 상기 VoIP 단말기(100)에 음성 패킷들을 양 통화로( 즉, 양 무선 통신망 )로 하향 송신할 때, 동일 음성 데이터를 중복하여, 즉 이중으로 송신하였다. 본 발명에 따른 다른 실시예들에서는, 음성 패킷들을 각 통화로로 나누어서 하향 송신할 수도 있다. 이하에서는 이러한 실시예들에 대해서 설명한다.
본 발명에 따른 일 실시예에서는, 상기 VoIP 통화부(3L)의 상기 분배부(3dtbL)는, 상기 VoIP 통화부(3L)에 의해 측정 또는 확인되는, 또는 상기 VoIP 단말기(100)가 보고하는 품질변수 정보로부터 파악되는 각 통화로( 즉, 각 무선 통신망 )의 통화품질의 변동성이 일정 제한폭이내이면 음성 패킷들을 각 통화로로 나누어서 하향 전송한다. 도 12는 이를 도식적으로 설명하기 위한 도면으로서, 상기 분배부(3dtbL)가 지속적으로 파악하는 무선 통신망, 예를 들어 Wi-Fi 망에서의 통화품질(1201)이 기 지정된 하위 기준치(VoQref)이하가 되면 그 시점(tdrop)이후부터 양 통화로로 중복하여 음성 패킷들을 하향 송신하고(1211), 그러한 송신과정 중에도 지속적으로 통화품질을 파악하여 그 변동폭이 일정시간(TIntTh)이상 기 지정된 제한폭(VoQBWRef)이내이면, 그 때(1202)부터는 음성 패킷들을 양 통화로로 나누어서 송신하게 된다(1212). 이 때는, 타 무선 통신망, 즉 셀룰러 망의 통화품질 또한 그 변동폭이 일정 제한폭이내인 경우로 판단된 경우이다. 물론, 타 통신망인 셀룰러 망은 상대적으로 통신 서비스가 안정적이므로, 통화품질을 Wi-Fi 망에 대해서만큼 지속적으로 파악하지 않고, 특정 조건( 예를 들어, 서비스 권역의 변경 등 )일 때 또는 간헐적으로 파악되는 임의 시점에서의 통화품질이 양호한 상태이면 그 변동성은 낮은 것으로 간주할 수도 있다. 그리고, 상기와 같은 방식으로 파악하는 Wi-Fi 망에 대한 통화품질이, 변동폭의 기준이 되었던 기준품질(12011)로부터 상기 제한폭(VoQBWRef)이상 벗어나게 되면(1203), 그 때의 품질값에 따라 음성 패킷들을 복수 통화로로 이중 송신하거나 현재의 단일 통화로, 즉 Wi-Fi 망으로만 송신하게 된다. 본 발명에 따른 일 실시예에서는, 복수 통신망으로 나누어서 음성 패킷들을 송신시작한 뒤에, 변동폭의 기준이 되는 기준품질을, 반복적으로 파악되는 품질 값들에서 N의 배수번 째의 것들(1201k, k=2,3,4,…)로 동적으로 갱신하여 설정하면서, 파악된 품질이 그 기준품질로부터 제한폭(VoQBWRef)이상 벗어났는 지를 확인할 수도 있다.
전술한 실시예들에서는, 상기 이원-VoIP 서버(300)는, 이용자의 데이터 서비스를 이용하는 비용적 측면을 고려하여, Wi-Fi 망의 통화품질이 만족스럽지 못할 때에 한하여 셀룰러 망을 보조적으로 사용하여 음성 패킷들을 하향 송신하였다. 하지만, 이용자가 셀룰러 망 이용에 따른 비용적 부담을 고려하지 않는 경우이거나, 또는 그 이용에 있어서 추가적인 비용부담이 발생하지 않는 경우에는, 상기 이원-VoIP 서버(300)는, 셀룰러 망을 특별히 구분하지 않고 양 통신망을 동등하게 다루게 된다. 예를 들어, Wi-Fi 망의 통화품질이 기 지정된 하위 기준치이하일 때 셀룰러 망을 보조적으로 이용하는 것과 대칭적으로, 셀룰러 망을 위주로 음성 패킷들을 하향 송신하면서 그 통화품질이 기 지정된 하위 기준치이하일 때 Wi-Fi 망을 보조적으로 이용할 수도 있다. 이와 같은 셀룰러 망에 대한 제한없는 이용은, 사용자가 상기 이원-VoIP 서버(300)에 별도의 클라이언트 장치, 예를 들어 PC 또는 스마트 폰 등을 통해 접속하여 상기 가입자 db(30a)에 등록하는 정보, 예를 들어 앞서 언급한 VoIP 이용모드 또는 셀룰러 망에 대한 요금제 정보 등에 근거해 결정할 수 있다. 사용자가 설정한 VoIP 이용모드가 "절약 모드"인 경우에는, 상기 이원-VoIP 서버(300)의 VoIP 통화부(3k)들은, 셀룰러 망의 이용에 비용이 발생하는 것을 전제로 앞서 설명하였던 실시예들에서와 같이, 셀룰러 망을 특별히 구분시켜, 즉 통신망을 차등화하여 동작하고, "고품질 모드"인 경우에는, 셀룰러 망과 Wi-Fi 망을 비용관점에서 상호 동등한 망으로 간주하여, 즉 망을 비차등화하여 음성 패킷들을 송신하는 데 이용하게 된다. 후자는, 사용자가 상기 가입자 db(30a)에 등록한 요금제 정보가, 확정된 이용금액이상 추가적인 비용발생이 없은 요금제인 경우, 일명 "무제한 요금제"인 경우에도 마찬가지로 적용될 수 있다.
한편, 상기 이원-VoIP 서버(300)는, 상기와 같이 사용자로부터 가입자 정보를 수신하여 상기 가입자 db(30a)에의 등록을 처리하기 위한 구성요소로서, 예를 들어 웹 처리부를 포함한다. 상기 웹 처리부는 상기 이원-VoIP 서버(300)에 접속된 클라이언트에 웹 페이지 등을 적절히 제공함으로써 그 페이지에 입력하는 가입자 정보를 수신하여 상기 가입자 db(30a)에 등재하게 된다. 상기 호 제어부(30)는, 상기 VoIP 단말기(100)로부터 VoIP 호가 최초 요청되었을 때, 그 VoIP 연결 요청 메시지내의 정보, 예를 들어 세션 설명정보( session descriptor )에 포함된 단말기에 할당된 전화번호, 가입자의 이메일 주소 등의 가입자 식별정보로부터 발신자를 유일 식별함으로써 상기 가입자 db(30a)에서 해당 발신자에 대해 등재된 VoIP 이용모드 또는 요금제 정보를 확인하고, 그 확인된 정보로부터 차등화 또는 비차등화의 모드를 결정한다. 그리고, 이후, 요청된 VoIP 호에 대한 VoIP 통화부(3k)를 활성화시킬 때 그 VoIP 통화부(3k)에 그 결정된 모드를 통지하여 설정하게 된다. 그러면, 그 활성화된 VoIP 통화부(3k)는 그 설정된 차등 모드 또는 비차등 모드에 따라 음성 패킷을 송신하는 데 셀룰러 망을 이용하게 된다. 본 발명에 따른 다른 일 실시예에서는, 해당 가입자의 요금제 정보를 타 서버에 요청하여 제공받을 수도 있다. 이를 위해, 상기 호 제어부(30)는, 상기 제 1망 접속부(31a) 또는 상기 제 2망 접속부(31b)를 통해 가입자 식별정보를 상기 타 서버에 제공하면서 요금제 정보를 요청하고, 그 요청에 대한 응답으로 해당 가입자에 대한 요금제 정보를 수신하여 차등 또는 비차등 모드이 결정에 이용하게 된다.
현재의 VoIP 통화를 처리하는 상기 VoIP 통화부(3L)의 상기 분배부(3dtbL)는, 자신에게 설정된 모드가 비차등 모드이면, 도 13에 예시된 바와 같이, 상기 VoIP 단말기(100)와 복수 통화로가 개설된 상태에서, 양 통화로의 통화품질이 기 지정된 하위 기준치(VoQRef)이상인 경우에는, 상기 착신측 단말기(110)로부터 수신한 음성 패킷들을 양 통화로로 나누어서 하향 송신하고(1311), 어느 한쪽이라도 통화품질이 하위 기준치(VoQRef)이하인 경우에는 음성 패킷들을 양 통화로로 중복하여 하향 송신하게 된다(1312). 음성 패킷들을 양 통화로로 나누어서 송신하는 경우에, 도면에 예시된 것처럼 양 통화로로 균등하게 음성 패킷들을 나누는 대신, 양 통화로의 통화품질의 차이에 따라 그 양을 차별적으로 나누어서 송신할 수도 있다. 예를 들어, N개의 음성 패킷들에 대해서, 상대적으로 더 나은 품질을 보이는 통화로로는 N1( 1<N1<N )개, 그리고 다른 통화로로는 N2( =N-N1, N2<N1 )개로 나뉘어서 음성 패킷들이 하향 송신되도록 할 수 있다. 본 발명에 따른 일 실시예에서는, 상기 비차등 모드가 VoIP 이용모드에서 “고품질 모드”로 지정된 것에 의한 것일 때는, 양 통화로로 음성 패킷들을 나누어서 하향 송신하기 위한 기준치를 상기 하위 기준치(VoQRef)보다는 높은 양호 기준치(VoQBetterRef)를 적용할 수도 있다. 본 실시예에서는, 양 통화로가 상기 양호 기준치(VoQBetterRef)이상의 품질을 보이면, 음성 패킷들을 나누어서 전송하고, 어느 하나라도 상기 하위 기준치(VoQRef)이하의 품질을 보이면 음성 패킷들을 양 통화로로 중복하여 전송하며, 그외의 경우에 해당하면, 현재 상대적으로 더 나은 품질을 보이는 통화로만을 사용하여 음성 패킷들을 전송하게 된다.
본 발명에 따른 일 실시예에서는, 상기 분배부(3dtbL)는 현재 비차등 모드인 경우에, 복수 통화로의 어느 한 쪽의 통화품질이, 고품질에 대해 지정된 상위 기준치(VoQBestRef)이상이 되면, 타 통화로에 대해서는 음성 패킷을 전송하지 않고, 상기 상위 기준치(VoQBestRef)이상인 통화로( 즉, 무선 통신망 )로만 음성 패킷을 하향 송신할 수도 있다.
한편, 도 12와 도 13을 참조로 설명한 복수 통화로를 이용하는 방법은, 상기 VoIP 단말기(100)의 상기 분배부(23)에 의해서도 수행될 수 있다. 상기 분배부(23)는, 품질변수 정보를 전술한 바와 같이 파악하며, VoIP 이용모드 또는 요금제 정보 등은, VoIP 통화의 연결시에 상기 주 제어부(20)로부터 통지받게 된다. 상기 분배부(23)는 그 통지된 정보에 근거하여 차등 모드로 동작할 지 또는 비차등 모드로 동작할 지를 결정하게 된다. 그리고, 상기 주 제어부(20)는, VoIP 이용모드 또는 요금제 정보를, 디스플레이어와 같은 출력장치를 통해 제공한 UI를 통해 사용자가 입력한 정보를 통해 파악할 수 있다.
지금까지 설명한 본 발명에 따른 실시예들은, 상기 이원-VoIP 서버(300)에서 활성화된 상기 VoIP 통화부(3L)가, 발신측을 상대방으로 하여 VoIP 호 연결되는 경우에 대한 것이었다. 하지만, 본 발명은, VoIP 호 연결의 착신측이 상기 이원-VoIP 서버(300)의 VoIP 통화부의 상대방이 되는 경우에도 당연히 적용된다. 물론, 이 경우에, 착신측의 단말기는 도 2에 예시된 바의 구성을 포함하는 VoIP 단말기임이 전제된다. 도 14는, 상기 VoIP 단말기(100)가 착신측이 되는 경우에 있어서, Wi-Fi 망이 추가적으로 이용가능해 짐으로써(S1411) 복수의 VoIP 통화로가 개설되어 VoIP 통화가 이루어지는 과정을 예시적으로 나타낸 것이다.
도 14에 예시된 바와 같은 과정이 이루어지도록 하기 위해, 상기 이원-VoIP 서버(300)의 호 제어부(30)는, 발신측 단말기(120)으로부터의 VoIP 연결 요청(S1401)을 상기 VoIP 단말기(100)로 중계하고(S1402) 그 요청에 대한 승낙(S1403)에 따라 상기 발신측 단말기(120)에 승낙 메시지를 송신할 때(S1404), 그 VoIP 통화를 처리할 VoIP 통화부(3M)를 활성화시키면서, VoIP 호 연결 과정에서 획득한 발신측과 착신측의 IP주소와 포트번호를 상기 VoIP 통화부(3M)에 통지하여 설정하게 된다. 그리고, 그 착신측인 상기 VoIP 단말기(100)로부터 보완 연결 요청이 있게 되면(S1412), 그 연결 요청에 포함된 통화 식별자(call_ID1)에 근거하여 해당되는 VoIP 통화 정보에서 그 보완 연결 요청이 적정한 가를 판단하고, 적정하다고 판단되면 그 보와 연결 요청에 대해 승낙 메시지를 송신하고(S1413), 현재 그 통화를 처리하고 있는 상기 VoIP 통화부(3M)에 추가 VoIP 통화로 형성을 위한 IP주소와 포트번호를 통지하여 설정하게 된다.
그리고, 착신 호에 의한 VoIP 통화를 처리하는 상기 VoIP 통화부(3M)도, 발신 호에 의한 VoIP 통화를 처리하는 것을 전제로 하여 지금까지 설명한 상기 VoIP 통화부(3L)의 다양한 동작들을 모두 수행할 수 있다. 예를 들어, 각 통화로, 즉 각 무선 통신망에 대한 통화품질 확인, 통화품질에 따른 음성 패킷들의 이중 하향 송신 또는 나누어서 송신, 그리고 차등 모드 또는 비차등 모드에 따른 음성 패킷 송신방식의 구분 등의 동작을 수행할 수 있다.
경우에 따라서는, 발신측과 착신측 모두가, 타 이원-VoIP 서버 등의 개입이나 중계없이 상기 이원-VoIP 서버(300)와 직접 VoIP 호 처리 메시지를 주고받을 수도 있다. 이 경우에는, 상기 이원-VoIP 서버(300)에서 2개의 VoIP 통화부(3P,3Q)가 활성화되어 각각이 발신측과 착신측에 대응하여 음성 패킷의 송수신을 수행하게 되며, 이 과정에서 양 VoIP 통화부(3P,3Q)는 상호 독립적으로 전술한 바의 다양한 동작들을 수행할 수 있다. 이 경우, 상기 양 VoIP 통화부(3P,3Q)간의 음성 패킷들의 교환은 상기 제 2망 접속부(31b)의 로컬 루프를 통해 이루어질 수 있다. 물론, 상기 제 2망 접속부(31b)를 통해 외부로 송신된 후 외부 통신망에서의 라우팅(routing)에 의해 상기 제 2망 접속부(31b)를 통해 수신되어 해당 VoIP 통화부(3P 또는 3Q)에 전달될 수도 있다.
한편, 상기 VoIP 단말기(100)가 착신측이 되는 경우에, 발신측일 때 VoIP 연결 요청을 행하는 대신, 수신된 VoIP 연결 요청에 대해 승낙함으로써 요구된 VoIP 통화에 대한 통화로를 개설하는 것만 상이할 뿐, 그 외의 다른 다양한 동작들은 전술한 바와 동일하게 수행하게 된다.
지금까지, 본 발명에 따른 다양한 실시예들에 대해, 복수의 무선 통신망의 하나로서 Wi-Fi 망을 예로하여 설명하였었다. 하지만, 본 발명은 당연히 Wi-Fi 망에 국한하여 실시될 수 있는 것은 아니며, 무선신호를 통해 데이터 서비스를 가능하게 하는 임의 명칭의 무선 통신망이면 모두 본 발명을 적용할 수 있다. 또한, 셀룰러 방식의 서로 다른 이동 통신망, 예를 들어 3G 망과 4G( 일명, LTE 망 )간에도, 지금까지 다양한 실시예들로써 상세히 설명한 본 발명의 원리와 개념이 적용될 수 있다. 셀룰러 방식의 서로 다른 복수의 이동 통신망이 그 이용에 있어서 상호간에 비용적 차이가 없다면, 전술한 바의 비차등 모드에 따른 동작들이 상기 VoIP 단말기(100)와 상기 이원-VoIP 서버(300)에서 수행될 수 있을 것이고, 비용적 차이가 있다면, 전술한 바와 같이, 주어진 조건에 따라 차등 모드와 비차등 모드에서 선택되어 그에 따른 VoIP 통화가 이루어질 것이다.
지금까지 본 발명에 대해 설명한 다양한 실시예들과 그 실시예에서 설명한 방법 등은 서로 양립할 수 없는 경우가 아니라면, 상호 다양한 방식으로 선택적으로 결합되어 실시 가능하다.
그리고, 전술한 본 발명의 바람직한 실시예는, 예시의 목적을 위해 개시된 것으로, 당업자라면, 이하 첨부된 특허청구범위에 개시된 본 발명의 기술적 사상과 그 기술적 범위 내에서, 또 다른 다양한 실시예들을 개량, 변경, 대체 또는 부가 등이 가능할 것이다.
3dpsk: 배열부 3dtbk: 분배부
3k: VoIP 통화부 3rck,3rwk: 수신부
3sck,3swk: 송신부 20: 주 제어부
21: 신호 처리부 22: 보코더
23: 분배부 24: 배열부
25: 데이터 통신부 26a: 셀룰러 인터페이스부
26b: Wi-Fi 인터페이스부 30: 호 제어부
30a: 가입자 db 31a, 31b: 망 접속부
100: VoIP 단말기 110: 착신측 단말기
120: 발신측 단말기 300: 이원-VoIP 서버
3k: VoIP 통화부 3rck,3rwk: 수신부
3sck,3swk: 송신부 20: 주 제어부
21: 신호 처리부 22: 보코더
23: 분배부 24: 배열부
25: 데이터 통신부 26a: 셀룰러 인터페이스부
26b: Wi-Fi 인터페이스부 30: 호 제어부
30a: 가입자 db 31a, 31b: 망 접속부
100: VoIP 단말기 110: 착신측 단말기
120: 발신측 단말기 300: 이원-VoIP 서버
Claims (23)
- 복수의 통신망을 이용하여 IP주소 기반의 통화를 할 수 있게 하는 장치에 있어서,
요구된 IP주소 기반 통화를 위해 제 1무선 통신망상에 제 1통화로를 개설하고, 그 제 1통화로가 개설된 상태에서 상기 IP주소 기반 통화를 위해 제 2무선 통신망상에 제 2통화로를 추가적으로 개설하도록 구성된 제어부와,
상기 제 1통화로와 상기 제 2통화로의 양 통화로가 개설된 상태에서, 상기 양 통화로에서 선정한 어느 하나의 통화로만으로 음성 패킷들을 전송하면서 통화로에 대한 통화 품질을 확인하고, 그 확인되는 통화 품질에 근거하여, 상기 양 통화로의 다른 하나로, 상기 어느 하나의 통화로로 전송하는 음성 패킷에 실린 음성 데이터와 동일한 음성 데이터를 음성 패킷을 통해 중복 전송하도록 구성되고, 또한, 음성 패킷에 대한 상기 중복 전송의 시작 후에도 상기 어느 하나의 통화로의 통화 품질을 확인하고, 그 확인한 통화 품질이 기 지정된 기준치 이상이면 상기 어느 하나의 통화로만으로 음성 패킷을 전송하고, 상기 기준치 미만이면 상기 양 통화로를 통한 상기 중복 전송을 계속하도록 구성된 통화부를 포함하여 구성되는 IP주소 기반의 통화를 위한 장치. - 제 1항에 있어서,
상기 제어부와 상기 통화부는, IP주소 기반의 통화를 위해 단말기로부터 발신된 호(call)에 대해, 그 호의 착신측과 호 처리를 수행한 후 그 발신 호에 대한 응답을 제공하도록 구성된 서버에 구현된 것인 IP주소 기반의 통화를 위한 장치. - 제 1항에 있어서,
상기 제어부와 상기 통화부는, IP주소 기반의 통화를 위한 호(call)를 발신하거나 그 호를 착신하도록 구성되고, 입력되는 음성신호를 음성 패킷으로 변환하고 통신망을 통해 수신된 음성 패킷의 데이터를 음성신호로 변환할 수 있도록 구성된 단말기에 구현된 것인 IP주소 기반의 통화를 위한 장치. - 제 3항에 있어서,
상기 통화부는, 상기 제 2통화로가 추가 개설되면, 그 제 2통화로로 상기 제 1통화로로 전송하는 음성 패킷과 동일한 데이터 블록과 블록의 순서번호를 갖는 음성 패킷을 전송하도록 더 구성되되,
상기 제 2무선 통신망은, 서비스 영역이 산포되어 있고 각 서비스 영역에서의 서비스 가능 거리도 상기 제 1무선 통신망에 비해서 짧은 무선 통신망인 것인 IP주소 기반의 통화를 위한 장치. - 제 1항에 있어서,
상기 선정된 어느 하나의 통화로는, 상기 양 통화로를 통해 각기 수신되는 일련의 음성 패킷들의 통화 품질을 나타내는 통신특성의 값에 대한 상기 양 통화로간의 상호 비교를 통해 상대적으로 더 나은 통신특성의 값을 보인 통화로인 것인 IP주소 기반의 통화를 위한 장치. - 제 5항에 있어서,
통화 품질을 나타내는 통신특성의 상기 값은, 상기 통화부의 측정에 의해 획득된 것이거나, 상기 제 1통화로 또는 상기 제 2통화로를 통해 음성 패킷을 상기 통화부와 송수신하고 있는 상대측에서의 측정에 의해 획득되어 상기 통화부에 보고된 것인 IP주소 기반의 통화를 위한 장치. - 제 5항에 있어서,
상기 통신특성의 값은 전송지연 시간에 대한 것이고,
더 나은 통신특성의 값을 보인 상기 통화로는, 상기 양 통화로의 각각으로 중복하여 수신한 동일 순서번호의 데이터 블록 쌍간의 수신시점에서 평균적으로 더 앞서는 통화로인 것인 IP주소 기반의 통화를 위한 장치. - 제 1항에 있어서,
통화로에 대한 통화 품질에 대한 상기 확인은, 상기 제 1통화로 또는 상기 제 2통화로를 통해 송신한 후 해당 통화로를 통해 수신된 테스트 블록의 패킷에 대한 전송지연 시간 또는 패킷 손실률에 대한 확인인 것인 IP주소 기반의 통화를 위한 장치. - 제 1항에 있어서,
통화로에 대한 통화 품질에 대한 상기 확인은, 상기 어느 하나의 통화로를 통해 수신되는 음성 패킷들에 대한 패킷 손실률에 대한 확인을 적어도 포함하는 것인 IP주소 기반의 통화를 위한 장치. - 제 1항에 있어서,
통화로에 대한 통화 품질에 대한 상기 확인은, 상기 IP주소 기반 통화가 발신된 또는 착신된 단말기에서 측정하여 얻은, 통화 품질을 나타내는 통신특성 정보의 확인인 것인 IP주소 기반의 통화를 위한 장치. - 제 1항에 있어서,
통화로에 대한 통화 품질에 대한 상기 확인은, 상기 요구된 IP주소 기반 통화의 발신측 또는 착신측의 단말기가 현재 위치하는 서비스 영역에 대한 정보를 외부 서버에 제공함으로써, 그 외부 서버로부터 상기 서비스 영역에 대해 획득된 정보로부터 통화 품질을 확인하는 것인 IP주소 기반의 통화를 위한 장치. - 제 1항에 있어서,
상기 통화부는, 상기 확인되는 통화 품질이 기 지정된 요건을 만족하는 경우에는, 동일한 음성 데이터가 상기 양 통화로로 중복되어 전송되지 않도록, 음성 데이터를 실은 음성 패킷들을 상기 양 통화로로 나누어서 전송하도록 더 구성된 것인 IP주소 기반의 통화를 위한 장치. - 제 12항에 있어서,
상기 기 지정된 요건은, 상기 양 통화로의 통화 품질이 모두 기 지정된 제 1기준치 이상이어야 하는 요건을 포함하는 것인 IP주소 기반의 통화를 위한 장치. - 제 13항에 있어서,
상기 기 지정된 요건은, IP주소 기반의 통화에 대해 사용자에 의해 특정의 모드가 지정되어야 하는 요건을 더 포함하고,
상기 양 통화로의 어느 하나라도 통화 품질이 그 이하가 되면 상기 통화부가 상기 양 통화로로 음성 데이터를 중복하여 전송하게 되는 제 2기준치보다, 상기 제 1기준치는 더 높은 품질을 지정하는 값인 것인 IP주소 기반의 통화를 위한 장치. - 제 13항에 있어서,
상기 통화부는, 상기 양 통화로의 어느 하나라도 상기 제 1기준치 이하가 되면 상기 양 통화로로 음성 데이터를 중복하여 전송하도록 더 구성된 것인 IP주소 기반의 통화를 위한 장치. - 제 12항에 있어서,
상기 기 지정된 요건은, 상기 양 통화로의 통화 품질에서의 변동폭이 모두 기 지정된 제한폭이내이어야 하는 요건과, 상기 양 통화로의 어느 하나라도 그 통화 품질에 있어 기 지정된 기준치 이하가 되어야 하는 요건을 포함하는 것인 IP주소 기반의 통화를 위한 장치. - 제 16항에 있어서,
상기 통화부는, 상기 변동폭의 기준이 되는 품질 값을 시간의 경과에 따라 동적으로 변경하고, 그 동적으로 변경하는 품질 값을 기준으로 통화 품질이 상기 제한폭이내인 지를 판별하도록 더 구성된 것인 IP주소 기반의 통화를 위한 장치. - 삭제
- 제 1항에 있어서,
상기 어느 하나의 통화로는, 상기 제 1무선 통신망과 상기 제 2무선 통신망에 대해서 그 이용에 차등이 있는 조건 하에서, 데이터 서비스의 이후의 이용에 있어서 비용적으로 사용자에게 더 유리한 무선 통신망상에 개설된 통화로인 것인 IP주소 기반의 통화를 위한 장치. - 제 1항에 있어서,
상기 양 통화로의 각각은, 상기 음성 패킷을 주고 받는 양 단(端)의 논리적 통신 개체의 물리적 통신자원의 점유를 위해 통신규약에 따라 개설된 세션(session)에 해당하는 것인 IP주소 기반의 통화를 위한 장치. - 복수의 통신망을 이용하여 IP주소 기반의 통화를 할 수 있게 하는 방법에 있어서,
요구된 IP주소 기반 통화를 위해 제 1무선 통신망상에 제 1통화로를 개설하여 음성 패킷을 송수신하는 단계와,
상기 제 1통화로가 개설된 상태에서, 상기 IP주소 기반 통화를 위해 제 2무선 통신망상에 제 2통화로를 개설하는 단계와,
상기 제 1통화로와 상기 제 2통화로의 양 통화로 중 어느 하나로 음성 패킷들을 전송하면서 적어도 상기 어느 하나의 통화로에 대한 통화 품질을 확인하는 단계와,
상기 확인되는 통화 품질에 근거하여, 상기 양 통화로의 다른 하나로, 상기 어느 하나의 통화로로 전송하는 음성 패킷에 실린 음성 데이터와 동일한 음성 데이터를 음성 패킷을 통해 중복 전송하는 단계와,
상기 어느 하나의 통화로의 통화 품질을 확인하고, 그 확인한 통화 품질이 기 지정된 기준치 이상이면 상기 어느 하나의 통화로만으로 음성 패킷을 전송하고, 상기 기준치 미만이면 상기 양 통화로를 통한 동일한 음성 데이터의 음성 패킷의 중복 전송을 계속하는 단계를 포함하여 이루어지는 IP주소 기반의 통화를 위한 방법. - 제 21항에 있어서,
상기 제 2통화로를 개설하는 상기 단계는, 상기 요구된 IP주소 기반 통화의 발신측 또는 착신측의 단말기가 상기 제 2무선 통신망과의 신호를 송수신할 수 있는 상태로 진입함에 따라 진행되는 것인 IP주소 기반의 통화를 위한 방법. - 저장공간에 저장된 프로그램을 통신망을 통해 제공하는 프로그램 공급장치에 있어서,
통신을 통해 외부와 데이터를 송수신할 수 있는 통신수단과,
상기 통신수단을 통해 송신되는, 통신 단말기에서 실행되는 어플리케이션이 수록되어 있는 저장수단을 포함하여 구성되되,
상기 어플리케이션은, 상기 통신 단말기에서 실행되는 경우,
요구된 IP주소 기반 통화를 위해 제 1무선 통신망상에 제 1통화로를 개설하는 기능과,
상기 제 1통화로가 개설된 상태에서, 제 2무선 통신망이 이용가능해 지면 상기 IP주소 기반 통화를 위해 그 제 2무선 통신망상에 제 2통화로를 추가적으로 개설하는 기능과,
상기 제 1통화로와 상기 제 2통화로의 양 통화로가 개설된 상태에서, 상기 양 통화로에서 선정한 어느 하나의 통화로만으로 음성 패킷들을 외부로 전송하면서, 통화로에 대한 통화 품질을 확인하고, 그 확인되는 통화 품질에 근거하여 상기 양 통화로의 다른 하나로, 상기 어느 하나의 통화로로 전송하는 음성 패킷에 실린 음성 데이터와 동일한 음성 데이터를 음성 패킷을 통해 외부로 중복 전송하는 기능과,
음성 패킷에 대한 상기 중복 전송의 시작 후에도 상기 어느 하나의 통화로의 통화 품질을 확인하고, 그 확인한 통화 품질이 기 지정된 기준치 이상이면 상기 어느 하나의 통화로만으로 음성 패킷을 전송하고, 상기 기준치 미만이면 상기 양 통화로를 통한 상기 중복 전송을 계속하는 기능을 수행하기 위한 프로그램 코드들을 포함하여 구성되는 것인 프로그램 공급장치.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020120157012A KR101403525B1 (ko) | 2012-12-28 | 2012-12-28 | 복수의 이종 통신망을 통해 ip주소 기반의 통화를 수행하기 위한 방법 및 장치 |
PCT/KR2013/011368 WO2014104614A1 (ko) | 2012-12-28 | 2013-12-09 | 복수의 이종 통신망을 통해 ip주소 기반의 통화를 수행하기 위한 방법 및 장치 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020120157012A KR101403525B1 (ko) | 2012-12-28 | 2012-12-28 | 복수의 이종 통신망을 통해 ip주소 기반의 통화를 수행하기 위한 방법 및 장치 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR101403525B1 true KR101403525B1 (ko) | 2014-06-09 |
Family
ID=51021607
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020120157012A KR101403525B1 (ko) | 2012-12-28 | 2012-12-28 | 복수의 이종 통신망을 통해 ip주소 기반의 통화를 수행하기 위한 방법 및 장치 |
Country Status (2)
Country | Link |
---|---|
KR (1) | KR101403525B1 (ko) |
WO (1) | WO2014104614A1 (ko) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108966250B (zh) * | 2018-06-29 | 2023-07-07 | 山东沃伦通信技术有限公司 | 弱信号通话方法、移动终端和计算机可读存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004320328A (ja) * | 2003-04-15 | 2004-11-11 | Sharp Corp | 通信装置、通信制御方法、通信制御プログラム、及び通信制御プログラムを記録したコンピュータ読み取り可能な記録媒体 |
JP2006060717A (ja) * | 2004-08-23 | 2006-03-02 | Softbank Bb Corp | 通信システム、集線装置、終端装置及び通信方法 |
KR20080034096A (ko) * | 2005-05-16 | 2008-04-18 | 포쏘스 테크놀로지스, 인크. | Ip 전화망에서의 프록시 시그널링 조작 시스템 및 방법 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20120139302A (ko) * | 2011-06-17 | 2012-12-27 | 주식회사 케이티 | 패킷전달방식을 이용한 VoIP 품질 측정 시스템 및 그 방법 |
-
2012
- 2012-12-28 KR KR1020120157012A patent/KR101403525B1/ko not_active IP Right Cessation
-
2013
- 2013-12-09 WO PCT/KR2013/011368 patent/WO2014104614A1/ko active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004320328A (ja) * | 2003-04-15 | 2004-11-11 | Sharp Corp | 通信装置、通信制御方法、通信制御プログラム、及び通信制御プログラムを記録したコンピュータ読み取り可能な記録媒体 |
JP2006060717A (ja) * | 2004-08-23 | 2006-03-02 | Softbank Bb Corp | 通信システム、集線装置、終端装置及び通信方法 |
KR20080034096A (ko) * | 2005-05-16 | 2008-04-18 | 포쏘스 테크놀로지스, 인크. | Ip 전화망에서의 프록시 시그널링 조작 시스템 및 방법 |
Also Published As
Publication number | Publication date |
---|---|
WO2014104614A1 (ko) | 2014-07-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11917498B2 (en) | Communication method and communications apparatus | |
US9179391B2 (en) | Method for offloading processing service, communication apparatus and network system | |
CN111698725A (zh) | 动态确定网络切片的方法及电子设备 | |
US10686854B2 (en) | Streaming content using ad hoc networks of user devices | |
US8305963B1 (en) | Femto cell local breakout with PPP proxy | |
CN108924872B (zh) | 数据传输方法、终端和核心网设备 | |
JP2009509466A (ja) | 資源要求者への移動表示の提供 | |
JP2013229881A (ja) | 無線通信環境におけるパケットルーティング | |
JP2009509467A (ja) | 複数の要求に基づくQoS処理の提供 | |
JPH114292A (ja) | 通信システム | |
CN104067589A (zh) | 通过虚拟专用网络来创建连接的方法和设备 | |
US9813774B2 (en) | On demand mobile wireless broadcast video delivery mechanism | |
CN103491641A (zh) | 长期演进企业网内实现语音业务的方法和企业网系统 | |
CN104821909A (zh) | 端对端的数据传输方法和系统 | |
US20100151868A1 (en) | Communication apparatus and mobile terminal | |
AU2013353694B2 (en) | Call termination on OTT network | |
WO2020152954A1 (ja) | ネットワーク配置制御装置、通信システム、および、その制御方法 | |
US10575326B2 (en) | Data transmission method and device | |
US9001681B2 (en) | Method for allocating a network entity | |
Wuttidittachotti et al. | Quality evaluation of mobile networks using VoIP applications: a case study with Skype and LINE based-on stationary tests in Bangkok | |
KR101403525B1 (ko) | 복수의 이종 통신망을 통해 ip주소 기반의 통화를 수행하기 위한 방법 및 장치 | |
JPWO2008120276A1 (ja) | 通信システム、通信システムにおける通信方法、及び中継装置 | |
US9942408B2 (en) | Conference management system, conference management device, wireless terminal, conference management method, and conference management program | |
US20210410005A1 (en) | Real-time large volume data correlation | |
JP2007228081A (ja) | 無線通信装置、無線通信方法及び無線アクセス装置 |
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: 20170627 Year of fee payment: 4 |
|
LAPS | Lapse due to unpaid annual fee |