지난 포스팅에 이어서 Presence Polling 부터 다루겠습니다.

2018/04/02 - [Lync] - Skype for Business. Snooper Tool 을 통한 Presence 흐름 이해(1)

 

Lync 2013 Explained: Understanding Presence Flow

https://blogs.technet.microsoft.com/11/2014/10/02/lync-2013-explained-understanding-presence-flow/

 

polling

투표 (행위)   2. 여론 조사 (활동)

 

Naver 지식백과

 

폴링

통신 송수신 준비 또는 전송 동기화를 위해 여러 장비와 프로그램에 차례로 정기적으로 문의하여, 일정한 조건을 충족한 경우 전송하고 처리하는 통신 방식이다.

통신과 소프트웨어에서 경쟁을 피하거나 송수신 준비 상황을 판단하고 동기화를 하기 위한 동작 방식으로, 호스트(host)가 클라이언트(client) 프로그램에 의한 외부 기기들의 상태를 능동적으로 샘플링하여 통신하는 방식을 말한다.

 

주로 입출력(I/O)의 용어로 쓰이며, 인터럽트 방식 I/O와 대조적으로 소프트웨어 방식 I/O라고 불린다. 여러 클라이언트가 연결되어 있는 경우 충돌을 방지하기 위해 호스트가 클라이언트에 순차적으로 전송할 데이터가 있는지 문의한 후, 일정 시간 내에서의 데이터 송신 허가를 주는 형태로 사용된다. 또한 클라이언트가 하나인 경우에라도 그 클라이언트가 능동적 전송 능력이 없는 경우, 클라이언트가 호스트로 처리 경과 및 완료 여부를 알릴 수 없기 때문에 호스트 측이 정기적으로 클라이언트 처리가 완료 되었는지를 문의하는 경우에 사용된다.

폴링 [polling] (두산백과)

 

Presence Polling

 

원문

Lync Client manage contact lists for users requires persistent subscriptions to receive the most current presence state of their contacts. For this reason polling for presence is required at regular intervals. Polling is performing Presence subscription at regular interval. In a polling subscription, the Lync client periodically queries the Lync server to obtain the data. The difference between a subscription and a query lies in the fact that the subscription is tied to a period of time whereas the presence query is one-time only. The difference between a persistent subscription and a polling subscription lies in the fact that a SIP dialog is involved in a persistent subscription whereas it is not in a polling subscription.

 

For a polling subscription, the Lync Server client repeats the process at a given time interval. For a persistent subscription, the Lync Server pushes the publication down to the subscribers by sending them a NOTIFY or BENOTIFY request containing the presence data is created, modified, or removed. For the NOTIFY request, the server expects the client to respond with SIP response. For the BENOTIFY request, a client response is not needed. The process continues until the subscription is terminated, at the request of the subscribing client or when the subscribing user logs off.

 

번역기

사용자의 연락처 목록을 관리하는 Lync 클라이언트는 영구적인 구독이 자신의 연락처의 최신 현재 상태를 수신하도록 요구합니다. 이런 이유로 일정한 간격으로 존재 여부에 대한 폴링이 필요합니다. 폴링은 일정한 간격으로 현재 상태 구독을 수행 중입니다. 폴링 구독에서 Lync 클라이언트는 주기적으로 Lync 서버를 쿼리하여 데이터를 가져옵니다. 구독과 쿼리의 차이는 구독이 일정 기간에 묶여 있고 현재 상태 쿼리가 한 번만 수행된다는 사실에 있습니다. 영구 가입과 폴링 가입의 차이점은 폴링 가입이 아닌 반면 SIP 대화가 영구 가입에 관련되어 있다는 사실에 있습니다.

 

폴링 구독의 경우 Lync Server 클라이언트는 지정된 시간 간격으로 프로세스를 반복합니다. 영구 구독의 경우 Lync Server는 현재 상태 데이터가 생성, 수정 또는 제거 된 NOTIFY 또는 BENOTIFY 요청을 보내 구독자에게 게시를 푸시 다운합니다. NOTIFY 요청의 경우, 서버는 클라이언트가 SIP 응답으로 응답 할 것을 기대합니다. BENOTIFY 요청의 경우 클라이언트 응답은 필요하지 않습니다. 구독 클라이언트가 요청할 때 또는 구독하는 사용자가 로그 오프 할 때까지 구독이 종료 될 때까지 프로세스가 계속됩니다.

 

User Presence Change

 

원문

When user Luser2 changes his or her presence. The Lync Client for user Luser2 send out Presence publication to the Lync server. Lync serve send out Notify or Benotify request all users who have Luser2 added as a contact for presence update.

 

사용자 Luser2가 자신의 존재를 바꿀 때. 사용자 Luser2 용 Lync 클라이언트는 현재 상태 게시를 Lync 서버로 보냅니다. Lync 서버는 현재 상태 업데이트를 위한 연락처로 추가 된 Luser2가 있는 모든 사용자에게 Notify 또는 Benotify 요청을 보냅니다.

 

테스트

On2 on1 추가

 

On3 on1 추가하지 않음

 

On1 상태를 변경하였습니다.

 

On2 에서 on1 상태가 변경된 것을 확인

 

상태에서 로그상의 기록을 확인하였습니다

 

 

04/05/2018|12:34:02.569 1F5C:2260 INFO  :: Sending Packet - 211.208.253.66:5061 (From Local Address: 192.168.1.51:55469) 1844 bytes:

04/05/2018|12:34:02.569 1F5C:2260 INFO  ::

SERVICE sip:on1@limcm.com SIP/2.0

Via: SIP/2.0/TLS 192.168.1.51:55469

Max-Forwards: 70

From: <sip:on1@limcm.com>;tag=0fe6f3eb67;epid=08b5b444f3

To: <sip:on1@limcm.com>

Call-ID: d02433f92e0c4c1588148c957c193833

CSeq: 1 SERVICE

Contact: <sip:on1@limcm.com;opaque=user:epid:rD_-D8k_BF-h0APnlXF6WwAA;gruu>

User-Agent: UCCAPI/16.0.9126.2072 OC/16.0.9126.2098 (Skype for Business)

Proxy-Authorization: TLS-DSK qop="auth", realm="SIP Communications Service", opaque="58F228F9", targetname="FE01.limcm.com", crand="08f5bc47", cnum="34", response="b2183f2ebc23c98cea828c77a49ddc7f95f82cc1ab44eb0df347752193cf9fe7a9a28efc18464cee8852337002490218"

Content-Type: application/msrtc-category-publish+xml

Content-Length: 1119

- <publish  xmlns="http://schemas.microsoft.com/2006/09/sip/rich-presence">

    +  <publications  uri="sip:on1@limcm.com">

 </publish>

04/05/2018|12:34:02.569 1F5C:2260 INFO  :: End of Sending Packet - 211.208.253.66:5061 (From Local Address: 192.168.1.51:55469) 1844 bytes

 

 

 

04/05/2018|12:34:27.675 2084:2088 INFO  :: Data Received -211.208.253.66:5061 (To Local Address: 192.168.1.50:49749) 1785 bytes:

04/05/2018|12:34:27.675 2084:2088 INFO  ::

NOTIFY sip:211.208.253.61:49749;transport=tls;ms-opaque=84e8b335fc;ms-received-cid=1BA00;grid SIP/2.0

ms-user-logon-data: RemoteUser

Via: SIP/2.0/TLS 192.168.20.160:5061;branch=z9hG4bK963CA472.7B6D508E8F9DE813;branched=FALSE;ms-internal-info="cemx63QD3K425YVMcClsqSnGBglQ9rwnZGSMLdTAGEvCWOUG17RwJPYAAA"

Via: SIP/2.0/TLS 192.168.1.7:52416;branch=z9hG4bK048CA596.C3C3C9DB290B8813;branched=FALSE;ms-received-port=52416;ms-received-cid=1B600

Via: SIP/2.0/TLS 192.168.1.6:51885;branch=z9hG4bKFBA41D66.41D663F116D01813;branched=FALSE;ms-received-port=51885;ms-received-cid=1E200

Max-Forwards: 68

Authentication-Info: TLS-DSK qop="auth", opaque="0D2271BD", srand="118C1801", snum="30", rspauth="f9cdd62158e3b1d42d116456c2a7bfeca9631b1648d2f1c900286a8c239b8b4094d6c96b14cbe4fc286c67cae24bd350", targetname="FE01.limcm.com", realm="SIP Communications Service", version=4

To: <sip:on2@limcm.com>;tag=660f0cb053;epid=bc1712deeb

Content-Length: 566

From: <sip:on2@limcm.com>;tag=905F0080

Call-ID: fa5b6148ecbd41de861bf540a9081da3

CSeq: 3 NOTIFY

Require: eventlist

Content-Type: application/msrtc-event-categories+xml

Event: presence

subscription-state: active;expires=30453

Supported: ms-dialog-route-set-update

- <categories  xmlns="http://schemas.microsoft.com/2006/09/sip/categories"

                uri="sip:on1@limcm.com"> -> 상대방의 정보 업데이트

    +  <category  xmlns="http://schemas.microsoft.com/2006/09/sip/categories"

                    name="state"

                    instance="0"

                    publishTime="2018-04-05T03:34:26.987">

       <category  xmlns="http://schemas.microsoft.com/2006/09/sip/categories"

                    name="services"/>

 </categories>

04/05/2018|12:34:27.675 2084:2088 INFO  :: End of Data Received -211.208.253.66:5061 (To Local Address: 192.168.1.50:49749) 1785 bytes

 

 

On3 경우 대화상대로 추가되지 않아서 별다른 기록 업데이트가 없었습니다.

 

아래와 같은 흐름으로 이해할 있습니다.

 

+ Recent posts