KR20070108772A - Sip서버 및 이를 이용한 sip기반의 통신 방법 - Google Patents

Sip서버 및 이를 이용한 sip기반의 통신 방법 Download PDF

Info

Publication number
KR20070108772A
KR20070108772A KR1020060041193A KR20060041193A KR20070108772A KR 20070108772 A KR20070108772 A KR 20070108772A KR 1020060041193 A KR1020060041193 A KR 1020060041193A KR 20060041193 A KR20060041193 A KR 20060041193A KR 20070108772 A KR20070108772 A KR 20070108772A
Authority
KR
South Korea
Prior art keywords
address
sip
network
record
header field
Prior art date
Application number
KR1020060041193A
Other languages
English (en)
Other versions
KR100782341B1 (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 텔코웨어 주식회사
Priority to KR1020060041193A priority Critical patent/KR100782341B1/ko
Publication of KR20070108772A publication Critical patent/KR20070108772A/ko
Application granted granted Critical
Publication of KR100782341B1 publication Critical patent/KR100782341B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/255Maintenance or indexing of mapping tables
    • H04L61/2553Binding renewal aspects, e.g. using keep-alive messages
    • 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]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Multimedia (AREA)
  • Telephonic Communication Services (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

SIP 서버 및 이를 이용한 SIP 기반의 통신 방법이 개시된다. 본 발명의SIP 서버는 SIP 초기(Initial) 요청 메시지를 수신하면, 다양한 네트워크 사이에 위치하여 각각의 네트워크로 연결된 다수의 네트워크 주소를 바인딩 하고 있는 상황에서, 각각의 네트워크 특성을 고려하여 구현된 주소 맵에 기초하여 상기 SIP 초기(Initial) 요청 메시지의 다음 목적지 네트워크에 대응되는 제1주소를 가지고 Record-route 헤더 필드로 추가하고, 다음 목적지 네트워크에 대응되는 제2주소를 통해 상기 SIP 초기 요청 메시지를 전송한다. 또한, SIP 초기 요청 메시지에 대한 응답 메시지를 수신하면, 상기 응답 메시지의 Record-Route 헤더 필드 중, 자신이 추가한 Record-Route 헤더 필드를 찾아, 주소 맵에 기초하여, 상기 응답 메시지의 다음 목적지 네트워크에 대응되는 제1주소로 바꾸어 전송한다. 따라서, 서로 다른 네트워크에 위치하는 클라이언트들 사이에서도 상기 각각의 네트워크 특성을 고려하여 Via 헤더 필드 및 Record-Route 헤더 필드에 추가될 주소를 선택해서 추가함으로써, SIP 메시지를 신속하고 원활하게 전송할 수 있다.
SIP, Record-Route 헤더 필드, Via 헤더 필드, 라우트 세트(Route Set), 네트워크, 소켓, 바인딩 주소

Description

SIP서버 및 이를 이용한 SIP기반의 통신 방법{SIP Server and Communication Method based in Session Initiation Protocol}
도 1은 본 발명에 따른 일 실시예로 SIP 기반의 통신망을 나타낸 것이다.
도 2는 본 발명에 따른 일 실시예로 도 1의 SIP 기반의 통신망에 포함되는 제1SIP 서버의 구성도이다.
도 3은 본 발명에 따른 일 실시예로 SIP 기반의 통신망에 포함된 제1SIP 서버의 주소 맵을 나타낸 것이다.
도 4는 본 발명에 따른 일 실시예로 SIP 기반의 통신망의 통신 과정을 나타낸 것이다.
도 5는 본 발명에 따른 다른 일 실시예로 SIP 기반의 통신망을 나타낸 것이다.
도 6은 본 발명에 따른 다른 일 실시예로 도 5의 SIP 기반의 통신망에 포함되는 제1SIP 서버의 구성도이다.
도 7은 본 발명에 따른 다른 일 실시예로 SIP 기반의 통신망에 포함된 제1SIP 서버의 주소 맵을 나타낸 것이다.
도 8은 본 발명에 따른 다른 일 실시예로 SIP 기반의 통신망의 통신 과정을 나타낸 것이다.
본 발명은 통신 시스템 및 방법에 관한 것으로, 보다 상세하게는, SIP(Session Initiation Protocol) 서버 및 이를 이용한 SIP 기반의 통신 방법에 관한 것이다.
SIP는 인터넷을 포함하는 네트워크 상의 클라이언트들 사이에 세션을 생성하거나 삭제, 변경하기 위한 절차를 명시한 시그널링(signaling) 프로토콜이다. SIP는 IP 네트워크 전송계층 프로토콜과 미디어에 완벽하게 독립적이고 컨텐츠에 상관없이 어떻게 클라이언트들의 연결을 생성하거나 변경 혹은 종료하는지를 정의한다. 그리고 IP 네트워크의 대표적인 성공 프로토콜인 SMTP(Simple Mail Transfer Protocol)와 HTTP(Hyper Text Transfer Protocol)에서 많은 영향을 받아 설계되었기 때문에, 전자우편과 유사한 형태의 주소 체계를 가지는 HTTP 형태의 텍스트기반 프로토콜이다. 이러한 이유로 SIP는 단순하여 구현이 용이하고, 확장성이 뛰어나 대규모 망을 구성하는데 적절한 구조를 가져, IP 네트워크에 적합하다.
앞서 말했듯이, SIP는 텍스트 기반의 메시지를 통하여 네트워크 상의 SIP 클라이언트들 사이에 음성이나 화상 데이터를 전송하기 위한 세션의 생성이나 전송 제어를 위한 시그널링을 한다. 메시지는 세션이 생성되기 전에 두 SIP 클라이언트들 사이에 다이얼로그(Dialog)를 생성하기 위해 주고받는 메시지인 초기(Initial) 메시지와, 상기 다이얼로그를 통하여 SIP 클라이언트들 사이에 주고받는 메시지인 수반(Subsequent) 메시지가 있다. 또 각각의 메시지는 요청(Request)과 응답(Response)으로 구분할 수 있다.
상기 SIP 메시지는 일반적으로 SIP 서버를 거쳐서 전송된다. SIP 서버는 다양한 네트워크들 사이에 위치하여 각각의 네트워크로 연결되는 다수의 네트워크 주소를 바인딩 하고 있어서, 상기 네트워크들에 위치하는 SIP 클라이언트들이 주고 받는 SIP 메시지를 전달해 주는 역할을 한다. 그러나 상기 네트워크들 중 소정의 네트워크는 보안 등의 이유로 상기 SIP 서버의 특정 네트워크 주소를 통해서 들어오는 SIP 메시지만을 수신하거나, 마찬가지의 이유로 일부 SIP 서버는 소정의 네트워크로부터 전송된 SIP 메시지에 대해서 특정 네트워크 주소를 통해서만 허락하기도 한다. 이러한 제약으로 인해 SIP 메시지를 원활하게 전달하는데 많은 어려움이 따른다.
본 발명이 이루고자 하는 기술적 과제는 다양한 네트워크 사이에 위치하여 각각의 네트워크로 연결되는 다수의 네트워크 주소를 바인딩하고 있는 상황에서, 특정 바인딩 주소로부터 전송된 SIP 메시지만 허가하는 네트워크 및 특정 바인딩 주소로만 SIP 메시지를 보내는 것이 가능한 네트워크 등의 상기 각각의 네트워크 특성을 고려하여 원활하고 신속하게 SIP 메시지를 전송할 수 있는 SIP 서버를 제공하는 것이다.
상기와 같은 기술적 과제를 달성하기 위한 본 발명의 SIP 기반의 통신 방법 은 SIP 서버의 주소 맵에 제1네트워크에 대한 제1주소 및 제2주소를 설정하는 단계, 상기 SIP 서버가 상기 제1네트워크의 목적지로 전송할 SIP 초기 요청 메시지를 수신하는 단계, 상기 수신한 초기 요청 메시지로 상기 제1주소를 가지고 Record-Route 헤더 필드를 추가하는 단계 및 상기 초기 요청 메시지의 최종 목적지에서 상기 추가한 Record-Route 헤더 필드에 기초하여 제1 라우트 세트를 생성하는 단계를 포함한다.
본 발명의 SIP 기반의 통신 방법은 상기 SIP 서버가 상기 SIP 초기 요청 메시지를 상기 제1네트워크에 대한 제 2 주소의 바인딩을 통해 전송하는 단계를 더 포함한다.
본 발명의 SIP 기반의 통신 방법은 상기 SIP 서버가 상기 제2네트워크의 목적지로 전송할 상기 초기 요청 메시지에 대한 응답 메시지를 수신하는 단계, 상기 수신한 초기 응답 메시지의 Record-Route 헤더 필드들 중, 자신이 추가한 Record-Route 헤더 필드를 찾아, 상기 Record-Route 헤더 필드의 주소를 상기 제2네트워크의 제1주소로 변경하는 단계, 및 상기 응답 메시지의 상기 목적지에서 상기 변경한 Record-Route 헤더 필드에 기초하여 제2 라우트 세트를 생성하는 단계를 더 포함한다.
본 발명의 SIP 서버는 목적지 네트워크들 각각에 대응하는 제1주소 및 제2주소가 매핑된 주소 맵이 저장된 주소 맵 저장부, 및 상기 주소 맵에 기초하여 수신된 SIP 메시지를 처리하는 SIP 메시지 처리부를 구비한다.
바람직하기로는 본 발명의 SIP 서버의 상기 제1주소는 대응하는 목적지 네트 워크로부터 소정의 수반 요청 메시지를 수신할 주소이고, 상기 제2주소는 대응하는 목적지 네트워크로부터 초기 요청 메시지에 대한 응답 메시지를 수신할 주소이다.
본 발명과 본 발명의 동작상의 이점 및 본 발명의 실시에 의하여 달성되는 목적을 충분히 이해하기 위해서는 본 발명의 바람직한 실시 예를 예시하는 첨부 도면 및 첨부 도면에 기재된 내용을 참조하여야만 한다.
이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시 예를 설명함으로써, 본 발명을 상세히 설명한다. 각 도면에 제시된 동일한 참조부호는 동일한 부재를 나타낸다.
도 1은 본 발명에 따른 일 실시예인 SIP 기반의 통신망(100)을 나타낸 것이다.
도 1을 참조하면, SIP 기반의 통신망(100)은 제1클라이언트(UE1, 110), 제2클라이언트(UE2, 120), 제1SIP 서버(CSCF1, 130) 및 제1어플리케이션 서버(AS1, 140)를 포함한다.
제1클라이언트(110) 및 제2클라이언트(120)는 각각 제1네트워크(NET1) 및 제2네트워크(NET2)에 위치하며, SIP 기반의 통신 망(100)을 구성하는 서브시스템 중에서 사용자의 편의를 위하여 동작하는 말단 시스템이다. 제1클라이언트(110)의 주소는 1.1.1.2:5060이고, 제2클라이언트(120)의 주소는 2.2.2.3:5060인 것으로 가정한다.
제1SIP 서버(130)는 SIP 서버로써 메시지를 전송한 SIP 클라이언트의 요청에 대한 처리를 스스로 수행하며, 자신의 요청 메시지를 생성하여 메시지의 목적지인 SIP 클라이언트로 전송할 수 있는 기능을 한다.
제1SIP 서버(130)는 콜 세션 제어 기능 (Call Session Control Function : CSCF) 시스템이 될 수 있으나 이에 한정하는 것은 아니다. CSCF는 호 및 세션 처리에 관련된 부분을 담당하는 부분으로 인입 호에 대한 게이트웨이(Gateway)로써의 기능(Incoming Call Gateway), 호 제어 기능(Call Control Function) 및 주소 처리(Address Handling) 기능 등을 담당한다. 인입 호에 대한 게이트웨이로써의 기능은 엔트리 포인트(Entry Point)로 동작하고 입력 호에 대한 라우팅(routing)을 수행하는 것을 의미한다. 그리고 호 제어 기능은 호의 설정과 종료 및 상태/이벤트 관리, 과금을 위한 호 이벤트 보고, 응용 레벨 등록의 수신 및 처리 등을 말한다.
제1어플리케이션 서버(140)는 SIP 어플리케이션 서버로써, CSCF와 SIP 인터페이스를 통하여 서비스를 제공하는 서비스 플랫폼이다.
도 2는 본 발명에 따른 일 실시예인 제1SIP 서버(130)의 구성도이다.
도 1 및 도 2를 참조하면, 제1SIP 서버(130)는 바인딩부(10), 주소 맵 저장부(20) 및 SIP 메시지 처리부(30)를 구비한다.
바인딩부(10)는 제1바인딩(Bind1, 131), 제2바인딩(Bind2, 132) 및 제3바인딩(Bind3, 133)을 포함한다. 제1바인딩(131), 제2바인딩(132) 및 제3바인딩(133)은 제1SIP 서버(130)가 바인딩하고 있는 소정의 인터페이스 또는 SIP 기반의 통신망(100)을 구성하는 소정의 네트워크 노드와 바인딩되는 물리적인 장치일 수 있으나, 이에 한정되는 것은 아니다. 제1네트워크(NET1)와 제2네트워크(NET2) 사이에 위치하는 제1SIP 서버(130)는, 제1네트워크(NET1)로 연결되는 제1바인딩(131)과 제2네트워크(NET2)로 연결되는 제2바인딩(132) 및 제3바인딩(133)을 바인딩 하고 있다. 제1바인딩(131)의 네트워크 주소는 1.1.1.1:5060, 제2바인딩(132)의 네트워크 주소는 2.2.2.1:5060, 그리고 제3바인딩(133)의 네트워크 주소는 2.2.2.2:5060인 것으로 가정한다. 상기 네트워크 주소는 IP 주소 1.1.1.1, 2.2.2.1 및 2.2.2.2와, SIP 통신을 위해 잘 알려진 5060 포트 번호를 포함한다.
제3바인딩(133)은 제2네트워크(NET2) SIP 내부 사정, 예컨대 보안 정책이나 제1SIP 서버(130)의 내부 처리를 위하여 제2네트워크(NET2)에 있는 제2어플리케이션 서버(140)를 포함하는 어플리케이션 서버들과만 연결되어야 한다고 가정한다. 또한, 제2바인딩(132)은 마찬가지의 이유로 제2클라이언트(120)를 포함한 제2네트워크(NET2)의 클라이언트들과만 연결되어야 한다고 가정한다.
주소 맵 저장부(20)는 소정의 주소 맵(21)을 포함한다.
SIP 메시지 처리부(30)는 상기 주소 맵(21)에 기초하여, 제1SIP 서버(130)로 수신된 SIP 메시지를 처리한다.
도 3은 본 발명에 따른 다른 일 실시예인 SIP 기반의 통신망(100)에 포함된 제1SIP 서버(130)의 주소 맵(21)을 나타낸 것이다.
주소 맵(21)은 제1SIP 서버(130)와 연결된 네트워크들에 대해서 제1주소 및 제2주소가 매핑되어 있다. 상기 제1주소는 수반 요청 메시지를 수신하기 위하여 Record-route 헤더 필드에 추가하기 위한 주소이고, 상기 제2주소는 초기 요청 메시지에 대한 응답 메시지를 수신하기 위하여 Via 헤더 필드에 추가되는 주소이다. 일반적으로 Via 헤더 필드에는 메시지를 전송하는 주체의 SIP 노드의 주소가 포함 되나, 본 실시예에 따라 Via 헤더 필드에 추가될 상기 제2주소는 실제로 초기 요청 메시지를 전송하는 주소와는 다를 수도 있으며, 이 경우는 상기 초기 요청 메시지를 수신한 클라이언트에서 Via 헤더 필드에 received 파라미터를 추가함으로써, 이를 표시한다.
도 3을 참조하면, 제1네트워크(NET1)의 제1주소 및 제2주소는 제1바인딩(131)의 네트워크 주소(1.1.1.1:5060)이고, 제2네트워크(NET2)의 제1주소 및 제2주소는 제2바인딩(132)의 네트워크 주소(2.2.2.1:5060)이다. 제2네트워크(NET2)의 제1주소 및 제2주소를 제3바인딩(133)의 네트워크 주소(2.2.2.2:5060)가 아닌 제2바인딩(132)의 네트워크 주소(2.2.2.1:5060)로 매핑한 이유는 앞서 언급한 바와 같이, 제2네트워크(NET2)의 내부 사정상, 제3바인딩(133)은 제2네트워크(NET2) 내부의 어플리케이션 서버들과만 연결되어야 하기 때문이다. 상기 제1주소는 제1SIP 서버(130)의 바인딩 주소 또는 호스트 이름이 될 수 있으나, 이에 한정되는 것은 아니다. 예를 들면, NAT내부에 SIP 서버가 위치한 경우, SIP 서버가 바인딩하는 주소가 10.10.1.1:5060 이며, 외부망에서 SIP 서버로 접근하기 위해 NAT 라우터 장비가 211.10.10.10:7777 주소로 메시지가 들어오면 이를 NAT 내부에 있는 SIP 서버의 10.10.1.1:5060 으로 포워딩(forwarding) 할 수 있는데, 이 경우에는 상기 제1주소가 211.10.10.10:7777 같은 네트워크 노드의 주소가 될 수도 있다.
상기 제 2 주소 는 SIP 서버(130)가 바인딩하고 있는 네트워크 노드의 주소인 것이 바람직하다.
도 4는 본 발명에 따른 일 실시예인 SIP 기반의 통신망(100)의 통신 과정을 나타낸 것이다.
도 1, 도 2, 도 3 및 도 4를 참조하면, 제1클라이언트(110)는 자신의 주소를 가지고 Via 헤더 필드(Via : 1.1.1.2:5060)를 추가한 목적지가 제2클라이언트(120)인  SUBSCRIBE 초기(Initial) 요청 메시지(M1)를 전송한다(S410).
Via 헤더 필드는 요청 메시지가 전송되는 길을 나타내는 헤더 필드로, 이 헤더 필드를 사용함으로써 요청 메시지가 루프를 형성하는 것을 방지할 수 있다. 또 상기 요청 메시지에 대한 응답 메시지가 상기 요청 메시지 전송 경로의 역순으로 전달될 수 있도록 한다.
상기 SUBSCRIBE는 요청 메서드(Method)로써, 발신자가 수신자의 상태 정보에 대한 업데이트를 요청하는 SIP 메서드이다.
제1SIP 서버(130)는 주소 맵(21)을 참조하여S410 단계로부터 전송된 상기 메시지(M1)에 상기 메시지(M1)의 다음 목적지 네트워크인 제2네트워크(NET2)의 제1주소(2.2.2.1:5060)를 Record-route 헤더 필드에 추가하고, 제2주소(2.2.2.1:5060)를 통해서 SUBSCRIBE 메시지(M2)를 제2네트워크(NET2)의 제2클라이언트(120)로 전송한다(S420). 제2주소(2.2.2.1:5060)는 SUBSCRIBE 메시지(M2)의 Via 헤더 필드에 추가된다.
제2클라이언트(120)는 S420 단계로부터 전송된 상기 메시지(M2)에 포함된 Record-route 헤더 필드(Record-route : 2.2.2.1:5060 )에 기초하여 제1라우트 세트(Route Set1)를 생성한다(S430). 상기 제1라우트 세트에는 제2바인딩(Bind2)의 네트워크 주소인 2.2.2.1:5060을 포함한다.
제2클라이언트(120)는 상기 메시지(M2)의 Via 헤더 필드(Via : 2.2.2.1:5060)에 기초하여 상기 메시지(M2)에 대한 응답으로 200 OK 메시지(M3)를 전송한다(S440). 따라서, 상기 메시지(M3)는 제2바인딩(Bind2)을 통해서 제1SIP 서버(130)로 전송된다.
200 OK는 제1클라이언트(110)로부터 요청된 작업(예컨대, 상태 정보 업데이트)을 성공적으로 이해 및 수락했음을 알리는 SIP 응답 상태 코드이다.
제1SIP 서버(130)는 S440 단계로부터 전송된 상기 메시지(M3)의 Via 헤더 필드(Via : 2.2.2.1:5060)를 제거한다. 아울러, Record-route 헤더 필드(Record-route : 2.2.2.1:5060)들 중에서 자신이 추가한 Record-route 헤더 필드(Record-route : 2.2.2.1:5060)를 주소 맵(21)에 기초하여 상기 메시지(M3)가 전송될 제1네트워크(NET1)의 제1주소(1.1.1.1:5060)로 바꾼 메시지(M4)를 제1클라이언트(110)로 전송한다(S450).
상기 실시예는 Record-route 헤더 필드가 하나인 간단한 실시예이나, 자신이 추가한 Record-route 헤더 필드가 여러 개 포함될 수 있으며, 이 경우는 상기 Record-route 헤더 필드들 중에서 검사하지 않은 첫 번째 Record-route 헤더 필드에 대해서 메시지가 전송될 네트워크를 고려하여 검사한다.
상기 검사하지 않은 첫 번째 Record-route 헤더 필드를 찾기 위해서는 검사된 Record-Route 헤더 필드는 소정의 표시를 통하여 검사한 것을 표시한다. 이 표시는 SIP 주소 형식인 <사용자 ID@도메인 네임> 에서 사용자의 ID를 통하여 할 수 있다. 예를 들면, 초기(Initial) 요청 메시지에는  Record-Route 헤더 필드에 사 용자 ID를 '1'로 하여 추가하고, 상기 초기 요청 메시지의 응답 메시지의 Record-Route 헤더 필드들 중 검사한 Record-Route 헤더 필드는 '0'으로 바꿔 표시할 수 있으나, 이에 한정되는 것은 아니다.
제1클라이언트(110)는 S450 단계로부터 전송된 상기 메시지(M4)의 Record-route 헤더 필드(Record-route : 1.1.1.1:5060)에 기초하여 제2라우트 세트(Route Set2)를 생성한다(S460).
제1클라이언트(110)로부터 제2클라이언트(120)로 상기 초기 요청인 SUBSCRIBE 메시지가 전송되고, 이에 대한 응답으로 200 OK 메시지가 제2클라이언트(120)로부터 제1클라이언트(110)로 전송되면 제1클라이언트(110)는 제2클라이언트(120)로, 제2클라이언트(120)는 제1클라이언트(110)로 수반(Subsequent) 요청 메시지를 전송할 수 있다.
상기 실시예에서는 제2클라이언트(120)가 자신의 업데이트된 상태를 제1클라이언트(110)로 전달하기 위한 NOTIFY 메서드를 포함하는 수반 요청 메시지(M5)를 전송한다(S470). 상기 수반 요청 메시지(M5)는 제1라우트 세트(Route Set1)에 기초하여 추가된 Route 헤더 필드(Route : 2.2.2.1:5060)를 포함한다.
따라서, 상기 수반 요청 메시지(M5)는 상기 추가된 Route 헤더 필드(Route : 2.2.2.1:5060)의 주소에 해당하는 제2바인딩(132)을 통하여 제1SIP 서버(130)로 전송된다.
상기 수반 요청 메시지(M5)를 수신한 제1SIP 서버(130)는 상기 Route 헤더 필드(Route : 2.2.2.1:5060)가 자신이 전에 추가했던 Record-route 헤더 필 드(Record-route : 2.2.2.1:5060)의 주소와 같으면 상기 Route 헤더 필드(Route : 2.2.2.1:5060)를 삭제한다. 그리고 나서, 상기 Route 헤더 필드(Route : 2.2.2.1:5060)가 삭제된 수반 요청 메시지(M6)를 목적지인 제1클라이언트(110)로 전송한다(S480). 이로써, 수반 요청 메시지는 제1SIP 서버(130)를 통해서 제2클라이언트(120)로부터 제1클라이언트(110)로 전송된다.
도 5는 본 발명에 따른 다른 일 실시예인 SIP 기반의 통신망(500)을 나타낸 것이다.
도 5를 참조하면, SIP 기반의 통신망(500)은 제1클라이언트(UE1, 510), 제2클라이언트(UE2, 520) 및 제1SIP 서버(CSCF1, 530)를 포함한다.
제1클라이언트(510) 및 제2클라이언트(520)는 각각 제1네트워크(NET1) 및 제2네트워크(NET2)에 위치하며, SIP 기반의 통신 망(500)을 구성하는 서브시스템 중에서 사용자의 편의를 위하여 동작하는 말단 시스템이다. 제1클라이언트(510)의 주소는 1.1.1.2:5060이고, 제2클라이언트(520)의 주소는 2.2.2.3:5060인 것으로 가정한다.
제1SIP 서버(530)는 SIP 서버로써 메시지를 전송한 SIP 클라이언트의 요청에 대한 처리를 스스로 수행하며, 자신의 요청 메시지를 생성하여 메시지의 목적지인 SIP 클라이언트로 전송할 수 있는 기능을 한다.
제1SIP 서버(530)는 콜 세션 제어 기능 (Call Session Control Function : CSCF) 시스템이 될 수 있으나 이에 한정하는 것은 아니다.
도 6은 본 발명에 따른 다른 일 실시예인 제1SIP 서버(530)의 구성도이다.
도 5및 도 6을 참조하면, 제1SIP 서버(530)는 바인딩부(40), 주소 맵 저장부(50) 및 SIP 메시지 처리부(60)를 구비한다.
바인딩부(40)는 제1바인딩(Bind1, 531), 제2바인딩(Bind2, 532) 및 제3바인딩(Bind3, 533)을 포함한다. 제1바인딩(531), 제2바인딩(532) 및 제3바인딩(533)은 제1SIP 서버(530)가 바인딩하고 있는 소정의 인터페이스 또는 SIP 기반의 통신망(500)을 구성하는 소정의 네트워크 노드와 바인딩되는 물리적인 장치일 수 있으나, 이에 한정되는 것은 아니다. 제1네트워크(NET1)와 제2네트워크(NET2) 사이에 위치하고 제1SIP 서버(530)는, 제1네트워크(NET1)로 연결되는 제1바인딩(531)과 제2네트워크(NET2)로 연결되는 제2바인딩(532) 및 제3바인딩(533)을 바인딩하고 있다. 제1바인딩(531)의 네트워크 주소는 1.1.1.1:5060, 제2바인딩(532)의 네트워크 주소는 2.2.2.1:5060, 그리고 제3바인딩(533)의 네트워크 주소는 2.2.2.2:5060인 것으로 가정한다.
제1SIP 서버(530)는 한쪽으로 부하가 많이 걸리지 않게 하는 로드 밸런싱 및 내부 처리 등의 이유로 제2네트워크(NET2)로부터 들어오는 수반 요청 메시지는 제3바인딩(533)을 통해서만 수신하며, 제2바인딩(532)으로는 자신이 보낸 요청 메시지에 대한 응답 메시지만 수신이 가능하다고 가정한다.
주소 맵 저장부(50)는 소정의 주소 맵(51)을 포함한다.
SIP 메시지 처리부(60)는 상기 주소 맵(51)에 기초하여, 제1SIP 서버(530)로 수신된 SIP 메시지를 처리한다.
도 7은 본 발명에 따른 다른 일 실시예인 SIP 기반의 통신망(500)에 포함된 제1SIP 서버(530)의 주소 맵(51)을 나타낸 것이다.
주소 맵(51)은 제1SIP 서버(530)와 연결된 네트워크들에 대해서 제1주소 및 제2주소가 매핑되어 있다. 상기 제1주소 및 제2주소에 대한 구체적인 설명은 앞서 언급하였으므로 생략하기로 한다.
도 7을 참조하면, 제1네트워크(NET1)의 제1주소 및 제2주소는 제1바인딩(531)의 네트워크 주소(1.1.1.1:5060)이고, 제2네트워크(NET2)의 제1주소는 제3바인딩(533)의 네트워크 주소(2.2.2.2:5060)이며, 제2네트워크(NET2)의 제2주소는 제2바인딩(532)의 네트워크 주소(2.2.2.1:5060)이다. 제2네트워크(NET2)의 제1주소를 제3바인딩(533)의 네트워크 주소(2.2.2.2:5060)로 매핑한 이유는 상기 제1주소가 앞서 언급한 것처럼, 수반 요청 메시지를 수신하기위해 Record-Route 헤더 필드로 추가할 주소인데, 제2네트워크(NET2)의 내부 사정상 및 로드 밸런싱 등의 이유로 제1SIP 서버(530)는 제2네트워크(NET2)로부터는 제3바인딩(533)을 통해서 들어오는 요청 메시지만 받을 수 있기 때문이다. 따라서, 제2네트워크(NET2)로부터 응답 메시지를 수신하기위해 Via 헤더 필드에 추가할 제2주소는 상기 이유와 마찬가지로 제2바인딩(532)의 네트워크 주소(2.2.2.1:5060)가 된다. 상기 제1주소 및 제2주소는 제1SIP 서버(530)의 바인딩 주소 또는 호스트 이름이 될 수 있으나, 이에 한정되는 것은 아니며, 라우터(router) 등 바인딩하고 있는 모든 네트워크 노드의 주소가 될 수도 있다.
도 8은 본 발명에 따른 다른 일 실시예인 SIP 기반의 통신망(500)의 통신 과정을 나타낸 것이다.
도 5, 도 6, 도 7 및 도 8을 참조하면, 제1클라이언트(510)는 자신의 주소를 가지고 Via 헤더 필드(Via : 1.1.1.2:5060)를 추가한 목적지가 제2클라이언트(520)인  SUBSCRIBE 초기(Initial) 요청 메시지(M1)를 전송한다(S810).
제1SIP 서버(530)는 주소 맵(51)을 참조하여S410 단계로부터 전송된 상기 메시지(M1)에 상기 메시지(M1)의 다음 목적지 네트워크인 제2네트워크(NET2)의 제1주소(2.2.2.2:5060)를 Record-route 헤더 필드에 추가하고, 제2주소(2.2.2.1:5060)를 Via 헤더 필드에 추가한 SUBSCRIBE 메시지(M2)를 제2네트워크(NET2)의 제2클라이언트(520)로 전송한다(S820).
제2클라이언트(520)는 S820 단계로부터 전송된 상기 메시지(M2)에 포함된 Record-route 헤더 필드(Record-route : 2.2.2.2:5060 )에 기초하여 제1라우트 세트(Route Set1)를 생성한다(S830). 상기 제1라우트 세트에는 제3바인딩(Bind2)의 네트워크 주소인 2.2.2.2:5060을 포함한다.
제2클라이언트(520)는 상기 메시지(M2)의 Via 헤더 필드(Via : 2.2.2.1:5060)에 기초하여 상기 메시지(M2)에 대한 응답으로 200 OK 메시지(M3)를 전송한다(S840). 따라서, 상기 메시지(M3)는 제2바인딩(Bind2)을 통해서 제1SIP 서버(530)로 전송된다.
제1SIP 서버(530)는 S840 단계로부터 전송된 상기 메시지(M3)의 Via 헤더 필드(Via : 2.2.2.1:5060)를 제거한다. 아울러, Record-route 헤더 필드(Record-route : 2.2.2.2:5060)들 중에서 자신이 추가한 Record-route 헤더 필드(Record-route : 2.2.2.2:5060)를 주소 맵(51)에 기초하여 상기 메시지(M3)가 전송될 제1네 트워크(NET1)의 제1주소(1.1.1.1:5060)로 바꾼 메시지(M4)를 제1클라이언트(510)로 전송한다(S850).
제1클라이언트(510)는 S850 단계로부터 전송된 상기 메시지(M4)의 Record-route 헤더 필드(Record-route : 1.1.1.1:5060)에 기초하여 제2라우트 세트(Route Set2)를 생성한다(S860).
제1클라이언트(510)로부터 제2클라이언트(520)로 상기 초기 요청인 SUBSCRIBE 메시지가 전송되고, 이에 대한 응답으로 200 OK 메시지가 제2클라이언트(520)로부터 제1클라이언트(510)로 전송되면 제1클라이언트(510)는 제2클라이언트(520)로, 제2클라이언트(520)는 제1클라이언트(510)로 수반(Subsequent) 요청 메시지를 전송할 수 있다.
본 실시예에서는 제2클라이언트(520)가 자신의 업데이트된 상태를 제1클라이언트(510)로 전달하기 위한 NOTIFY 메서드를 포함하는 수반 요청 메시지(M5)를 전송한다(S870). 상기 수반 요청 메시지(M5)는 제1라우트 세트(Route Set1)에 기초하여 추가된 Route 헤더 필드(Route : 2.2.2.2:5060)를 포함한다.
따라서, 상기 수반 요청 메시지(M5)는 상기 추가된 Route 헤더 필드(Route : 2.2.2.2:5060)의 주소에 해당하는 제3바인딩(533)을 통하여 제1SIP 서버(530)로 전송된다.
상기 수반 요청 메시지(M5)를 수신한 제1SIP 서버(530)는 상기 Route 헤더 필드(Route : 2.2.2.2:5060)가 자신이 전에 추가했던 Record-route 헤더 필드(Record-route : 2.2.2.2:5060)의 주소와 같으면 상기 Route 헤더 필드(Route : 2.2.2.2:5060)를 삭제한다. 그리고 나서, 상기 Route 헤더 필드(Route : 2.2.2.2:5060)가 삭제된 수반 요청 메시지(M6)를 목적지인 제1클라이언트(510)로 전송한다(S880). 이로써, 수반 요청 메시지는 제1SIP 서버(530)를 통해서 제2클라이언트(520)로부터 제1클라이언트(510)로 전송된다.
본 발명에 대해 상기 실시 예를 참고하여 설명하였으나, 이는 예시적인 것에 불과하며, 본 발명에 속하는 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서 본 발명의 진정한 기술적 보호범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.
상술한 바와 같이 본 발명에 따른 다양한 네트워크 사이에 위치하여 각각의 네트워크로 연결되는 다수의 네트워크 주소를 바인딩하고 있는 SIP 서버에 상기 SIP 서버 및 각 네트워크들의 특성을 고려하여 Record-Route 헤더 필드에 추가할 바인딩 주소 및 요청 메시지를 전송할 바인딩 주소를 주소 맵에 미리 매핑시켜 놓음으로써, 서로 다른 네트워크의 SIP 클라이언트들 사이에서도 상기 주소 맵에 기초하여 SIP 메시지를 신속하고 원활하게 전송할 수 있는 효과가 있다.

Claims (13)

  1. (a) SIP 서버의 주소 맵에 제1네트워크에 대한 제1주소 및 제2주소를 설정하는 단계;
    (b) 상기 SIP 서버가 상기 제1네트워크를 목적지로 하는 SIP 초기 요청 메시지를 수신하는 단계;
    (c) 상기 수신한 초기 요청 메시지에 상기 제1주소를 가지고 Record-Route 헤더 필드를 추가하는 단계; 및
    (d) 상기 초기 요청 메시지의 최종 목적지에서 상기 추가한 Record-Route 헤더 필드에 기초하여 제1라우트 세트를 생성하는 단계를 포함하는 것을 특징으로 하는 SIP 기반의 통신 방법.
  2. 제1항에 있어서, 상기 방법은
    상기 (c) 단계와 (d) 단계 사이에,
    상기 SIP 서버가 상기 SIP 초기 요청 메시지에 상기 제1네트워크에 대한 제2주소를 통하여 상기 초기 요청 메시지를 전송하는 단계를 더 포함하는 것을 특징으로 하는 SIP 기반의 통신 방법.
  3. 제1항에 있어서, 상기 방법은
    상기 주소 맵에 제2네트워크에 대한 제1주소 및 제2주소를 설정하는 단계를 더 포함하는 것을 특징으로 하는 SIP 기반의 통신 방법.
  4. 제3항에 있어서, 상기 방법은
    (e) 상기 SIP 서버가 상기 제2네트워크를 목적지로 하는 상기 초기 요청 메시지에 대한 응답 메시지를 수신하는 단계;
    (f) 상기 수신한 초기 응답 메시지의 Record-Route 헤더 필드들 중, 자신이 추가한 Record-Route 헤더 필드를 찾아, 상기 Record-Route 헤더 필드의 주소를 상기 제2네트워크의 제1주소로 변경하는 단계; 및
    (g) 상기 응답 메시지의 상기 목적지에서 상기 변경한 Record-Route 헤더 필드에 기초하여 제2 라우트 세트를 생성하는 단계를 더 포함하는 것을 특징으로 하는 SIP 기반의 통신 방법.
  5. 제4항에 있어서, 상기 방법은
    상기 SIP 서버가 상기 SIP 초기 응답 메시지에 상기 제2네트워크에 대한 제2주소를 통해 전송하는 단계를 더 포함하는 것을 특징으로 하는 SIP 기반의 통신 방법.
  6. 제1항 내지 제4항 중 어느 한 항에 있어서,
    상기 제1네트워크 또는 제2네트워크에 대한 상기 제1주소 및 제2주소는 상기 SIP 서버가 바인딩하고 있는 네트워크 노드의 주소인 것을 특징으로 하는 SIP 기반 의 통신 방법.
  7. 제 1항 내지 제 4항 중 어느 한 항의 방법을 수행하기 위한 프로그램으로서 디지털 신호 처리 장치에 의해 판독되고 실행될 수 있는 프로그램을 기록한 기록매체.
  8. 목적지 네트워크들 각각에 대응하는 제1주소 및 제2주소가 매핑된 주소 맵이 저장된 주소 맵 저장부; 및
    상기 주소 맵에 기초하여 수신된 SIP 메시지를 처리하는 SIP 메시지 처리부를 구비하며,
    상기 제1주소는 대응하는 목적지 네트워크로부터 소정의 수반 요청 메시지를 수신할 주소이고,
    상기 제2주소는 대응하는 목적지 네트워크로부터 상기 초기 요청 메시지의 응답 메시지를 수신할 주소인 것을 특징으로 하는 SIP 서버.
  9. 제8항에 있어서, 상기 SIP 메시지 처리부는
    상기 주소 맵에 있는 소정의 목적지 네트워크를 목적지로 하는 초기 요청 메시지를 수신하면, 상기 목적지 네트워크에 대응하는 제1주소를 가지고 상기 초기 요청 메시지에 Record-Route 헤더 필드를 추가하고, 상기 목적지 네트워크에 대응하는 제2주소를 통해 상기 초기 요청 메시지를 전송하는 것을 특징으로 하는 SIP 서버.
  10. 제8항에 있어서, 상기 SIP 메시지 처리부는
    상기 주소 맵에 있는 소정의 목적지 네트워크를 목적지로 하는 초기 응답 메시지를 수신하면, 자신이 추가한 Record-Route 헤더 필드들 중, 소정의 Record-Route 헤더 필드를 검사한 후, 소정의 표시를 하고, 상기 소정의 Record-Route 헤더 필드의 주소를 상기 목적지 네트워크에 대응하는 제1주소를 가지고 변경하는 것을 특징으로 하는 SIP 서버.
  11. 제9항 또는 제10항에 있어서,
    상기 초기 요청 메시지 또는 상기 초기 응답 메시지의 목적지 네트워크가 상기 주소 맵에 없으면, 상기 제1주소 또는 상기 제2주소 대신에 자신이 바인딩하고 있는 네트워크 중에서 소정의 디폴트 네트워크 주소를 사용하는 것을 특징으로 하는 SIP 서버.
  12. 제10항에 있어서,
    상기 소정의 표시는 상기 Record-Route 헤더 필드의 사용자 아이디(User ID)를 이용하여 이루어지는 것을 특징으로 하는 SIP 서버.
  13. 제10항에 있어서,
    상기 소정의 Record-Route 헤더 필드는 자신이 추가한 Record-Route 헤더 필드들 중, 상기 소정의 표시가 되지 않은 첫 번째 Record-Route 헤더 필드인 것을 특징으로 하는 SIP 서버.
KR1020060041193A 2006-05-08 2006-05-08 Sip서버 및 이를 이용한 sip기반의 통신 방법 KR100782341B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020060041193A KR100782341B1 (ko) 2006-05-08 2006-05-08 Sip서버 및 이를 이용한 sip기반의 통신 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060041193A KR100782341B1 (ko) 2006-05-08 2006-05-08 Sip서버 및 이를 이용한 sip기반의 통신 방법

Publications (2)

Publication Number Publication Date
KR20070108772A true KR20070108772A (ko) 2007-11-13
KR100782341B1 KR100782341B1 (ko) 2007-12-06

Family

ID=39063476

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060041193A KR100782341B1 (ko) 2006-05-08 2006-05-08 Sip서버 및 이를 이용한 sip기반의 통신 방법

Country Status (1)

Country Link
KR (1) KR100782341B1 (ko)

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100645960B1 (ko) * 2000-08-29 2006-11-14 삼성전자주식회사 사설망의 네트워크 노드에 접속하기 위한 시스템과 방법

Also Published As

Publication number Publication date
KR100782341B1 (ko) 2007-12-06

Similar Documents

Publication Publication Date Title
US10038779B2 (en) Intercepting voice over IP communications and other data communications
US10165015B2 (en) System and method for real-time communication by using a client application communication protocol
US7792065B2 (en) Securely establishing sessions over secure paths
US7668911B2 (en) Presence server, session control server, and packet relay system
KR100765325B1 (ko) Stun을 이용한 대칭형 네트워크 주소 변환 시스템 및그 방법
EP3208760B1 (en) Hub based clearing house for interoperability of distinct unified communications systems
JP5051728B2 (ja) 偽アドレスの割り当てによって、異なるip環境に接続されたノード間でデータを送信する方法およびシステム
US20060187912A1 (en) Method and apparatus for server-side NAT detection
US20060187931A1 (en) Communication system and method for providing information on interface connecting network components
JP2009512931A (ja) オフラインインスタントメッセージのリトリーブ
JP2006094488A (ja) 経路情報に関するストレージ要件の軽減
US10033454B2 (en) Communication path control device, communication path control system, communication path control method and communication path control program
JP2010517453A (ja) 分散ハッシングテーブルを使用したimsアーキテクチャ
US20100064045A1 (en) Handing a request relating to a service
EP2068524A1 (en) A method and a system for acquiring the transmission path of the sip message
US20060098622A1 (en) Architecture for a multi-media session controlled network
JP5214318B2 (ja) ゲートウェイ装置、VoIP網相互接続システム、通信方法、及びプログラム
KR100782341B1 (ko) Sip서버 및 이를 이용한 sip기반의 통신 방법
JP2005236670A (ja) セッション確立、セッション確立処理装置及びプログラム
JP2023540063A (ja) 合法的傍受のためのパケットのルーティングのための方法、システムおよびコンピュータ読取可能媒体
KR20070061377A (ko) 사설망과 공인망 간의 sip 트랜잭션 교환을 위한네트워크 주소 변환 장치 및 그 주소 변환 방법
US20190327136A1 (en) Classifying and routing control messages for a communications infrastructure
JP7421158B2 (ja) 方路選択装置および方路選択方法
KR20100051907A (ko) 폐쇄 망 환경에서의 에스아이피 기반의 세션 연결 방법
JP4555005B2 (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: 20121024

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20131113

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20141112

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20151125

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20161123

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20171025

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20181128

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20191127

Year of fee payment: 13