728x90

Phone Number Normalization Rule Regular Expressions

The pattern-matching notation of regular expressions makes it possible to quickly parse large amounts of text to find specific character patterns; to extract, edit, replace, or delete text substrings; or, to add the extracted strings to a collection in order to generate a report. You use .NET regular expressions to specify the phone pattern and the translation pattern as follows:

  • Phone pattern regular expression. This consists of designators and variables that represent specific sets of numbers. For example, the phone pattern regular expression of ^9(\d{7})$ describes phone numbers that consist of the number 9 followed by any seven digits.

  • Translation pattern regular expression. This consists of the + symbol, numbers, and the $ symbol. The $ symbol captures the items of the phone pattern regular expression that are included inside the parenthesis. The number following the $ symbol must be less than or equal to the total number of captures specified by the phone pattern regular expression.

    For example, the translation pattern regular expression of +1425$1 describes a translation that adds a prefix of +1425 to the captures (the phone pattern items in parenthesis). If the phone pattern regular express is ^9(\d{3})(\d{4})$ (containing two captures), the number following the $ sign can only be 1 or 2.

The following table shows sample normalization rules and the corresponding values for the rule name, description, phone pattern, and translation pattern.

Rule Name

Description

Phone Pattern

Translation Pattern

Example

4digitExtension

Translates 4-digit extensions

^(\d{4})$

+1425555$1

1234 is translated to +14255551234

5digitExtension

Translates 5-digit extensions

^8(\d{4})$

+1425558$1

81234 is translated to +14255581234

7digitcallingRedmond

Translates 7-digit numbers to Redmond local number

^(\d{7})$

+1425$1

5551212 is translated to +14255551212

7digitcallingDallas

Translates 7-digit numbers to Dallas local number

^(\d{7})$

+1972$1

5551212 is translated to +19725551212

10digitcallingUS

Translates 10-digit numbers in US

^(\d{10})$

+1$1

2065551212 is translated to +12065551212

LDCallingUS

Translates numbers with LD prefix in US

^1(\d{10})$

+1$1

12145551212 is translated to +12145551212

IntlCallingUS

Translates numbers with international prefix in US

^011(\d*)$

+$1

011914412345678 is translated to +914412345678

RedmondOperator

Translates 0 to Redmond Operator

^0$

+14255551212

0 is translated to +14255551212

RedmondSitePrefix

Translates numbers with on-net prefix (6) and Redmond site code (222)

^6222(\d{4})$

+1425555$1

62221234 is translated to +14255551234

NYSitePrefix

Translates numbers with on-net prefix (6) and NY site code (333)

^6333(\d{4})$

+1202555$1

63331234 is translated to +12025551234

DallasSitePrefix

Translates numbers with on-net prefix (6) and Dallas site code (444)

^6444(\d{4})$

+1972555$1

64441234 is translated to +19725551234

 

출처

https://support.office.com/en-us/article/phone-number-normalization-rule-regular-expressions-6ea76427-0892-4237-b024-10b418dcb05e

 

추가 참고

Lync Dial Plans and Normalization Rules :

http://designinglync.blogspot.com/2011/05/lync-dial-plans-and-normalization-rules.html

728x90
728x90

use rtc

SELECT FE.Fqdn as 'FE서버', count(*) as '할당유저수' FROM Resource R with(nolock)
INNER JOIN ResourceDirectory RD ON RD.ResourceId = R.ResourceId
INNER JOIN RoutingGroupAssignment RGA ON RGA.RoutingGroupId = RD.RoutingGroupId
INNER JOIN FrontEnd FE ON FE.FrontEndId = RGA.FrontEndId
GROUP BY FE.Fqdn

 

각 프론트엔드 서버별 사용자 수가 적절하게 분배 되었는지 확인

728x90

'IT이야기 > S4B&Lync' 카테고리의 다른 글

Phone Number Normalization Rule Regular Expressions  (0) 2018.10.25
Normalization Rule  (0) 2018.10.24
복제 상태 확인  (0) 2018.10.08
SIP 응답코드  (0) 2018.10.04
Lync 2013 Microsoft Innovation Day 발표 자료 1 (스크랩)  (0) 2016.09.02
728x90

출처 : https://docs.microsoft.com/ko-kr/powershell/module/skype/get-csmanagementstorereplicationstatus?view=skype-ps




Skype for Business Server 복제 프로세스에 대한 정보를 반환합니다. 여기에는 Skype for Business Server 컴퓨터의 복제본이 최신 상태인지 여부에 대한 정보가 포함됩니다. 이 cmdlet은 Lync Server 2010에 도입되었습니다.

통사론

PowerShell
Get-CsManagementStoreReplicationStatus   [[-ReplicaFqdn] <String>]   [-CentralManagementStoreStatus]   [<CommonParameters>]

기술

관리자가 Skype for Business Server로 변경 한 경우 (예 : 관리자가 새 음성 정책을 만들거나 주소록 서버 구성 설정을 변경 한 경우) 변경 사항은 중앙 관리 저장소에 기록됩니다. 그런 다음 Skype for Business Server 서비스 또는 서버 역할을 실행하는 모든 컴퓨터에 변경 내용을 복제해야합니다.

데이터를 복제하기 위해 Master Replicator (중앙 관리 서버에서 실행)는 수정 된 구성 데이터의 스냅 샷을 생성합니다. 이 스냅 샷의 사본이 Skype for Business Server 서비스 또는 서버 역할을 실행하는 각 컴퓨터로 전송됩니다. 이러한 컴퓨터에서 복제 에이전트는 스냅 샷을 수신하고 수정 된 데이터를 업로드합니다. 에이전트는 최신 복제 상태를보고하는 메시지를 Master Replicator에 전송합니다.

Get-CsManagementStoreReplicationStatus cmdlet를 사용하면 조직의 모든 Skype for Business Server 컴퓨터에 대한 복제 상태를 확인할 수 있습니다.

예제들

-------------------------- 예제 1 ---------------------- ----

PowerShell
Get-CsManagementStoreReplicationStatus

예 1에서 Get-CsManagementStoreReplicationStatus cmdlet은 매개 변수없이 호출됩니다. 모든 Skype for Business Server 컴퓨터의 복제 상태 (최신 상태 또는 최신 상태가 아님)를 반환합니다.

-------------------------- 예제 2 ---------------------- ----

PowerShell
Get-CsManagementStoreReplicationStatus | Where-Object {$_.UpToDate -eq $False}

예제 2는 복제가 최신이 아닌 모든 컴퓨터의 컬렉션을 반환합니다. 이 작업은 먼저 Get-CsManagementStoreReplicationStatus cmdlet를 사용하여 모든 서버의 복제 상태가 포함 된 컬렉션을 검색하여 수행됩니다. 그런 다음이 컬렉션을 Where-Object cmdlet으로 파이프합니다.이 cmdlet은 반환 된 데이터를 UpToDate 속성이 False 인 컴퓨터로 제한하는 필터를 적용합니다.

-------------------------- 예제 3 ---------------------- ----

PowerShell
Get-CsManagementStoreReplicationStatus -ReplicaFqdn atl-cs-001.litwareinc.com

예제 3에서 반환 된 데이터는 한 대의 컴퓨터로 제한됩니다. atl-cs-001.litwareinc.com/

-------------------------- 예제 4 ---------------------- ----

PowerShell
Get-CsManagementStoreReplicationStatus | Where-Object {$_.LastUpdateCreation -lt "8/11/2018 8:00 PM"}

예 4는 2018 년 8 월 11 일 오후 8시 이전에 마지막으로 복제 된 컴퓨터에 대한 정보를 반환합니다. 이렇게하려면 Get-CsManagementStoreReplicationStatus cmdlet가 먼저 호출되어 모든 Skype Business Server 컴퓨터에 대한 복제 정보를 반환합니다. 이 정보는 2018 년 8 월 11 일 (8/11/2018 오후 8:00) LastUpdateCreation 속성이 오후 8:00보다 작은 컴퓨터 만 선택하는 Where-Object cmdlet으로 파이프됩니다. 2018 년 8 월 11 일 8:00 PM 이후에 마지막으로 복제 된 컴퓨터에 대한 정보를 반환하려면 -gt (보다 큼 연산자)를 사용하십시오.

Where-Object {$_.LastUpdateCreation -gt "8/11/2018 8:00 PM"}

이 예제에서 지정된 날짜는 날짜 - 시간 값에 대해 미국 영어 형식을 사용합니다. 날짜는 지역 및 언어 옵션과 호환되는 형식을 사용하여 지정해야합니다.

-------------------------- 예제 5 ---------------------- ----

PowerShell
Get-CsManagementStoreReplicationStatus -CentralManagementStoreStatus

예 5에 표시된 명령은 CentralManagementStoreStatus 매개 변수를 사용하여 중앙 관리 저장소의 현재 상태에 대한 자세한 정보를 반환합니다. 여기에는 Active Master 및 File Transfer Agent 서비스의 정규화 된 도메인 이름과 해당 서비스 각각에 대해 감지 된 마지막 하트 비트의 날짜 및 시간이 포함됩니다.

선택적 매개 변수

-CentralManagementStoreStatus

활성 마스터 및 파일 전송 에이전트 서비스의 위치뿐만 아니라 활성 복제본 및 삭제 된 복제본 목록을 포함하여 중앙 관리 저장소의 현재 상태에 대한 추가 정보를 반환합니다.

유형:SwitchParameter
위치:명명 된
기본값:없음
파이프 라인 입력 허용 :True (ByPropertyName)
와일드 카드 문자 적용 :그릇된
적용 대상 :Lync Server 2010, Lync Server 2013, Skype for Business Server 2015, Skype for Business Server 2019
-ReplicaFqdn

복제 상태를 확인할 컴퓨터의 정규화 된 도메인 이름 (FQDN)입니다. 예 : -ReplicaFqdn "atl-cs-001.litwareinc.com".

이 매개 변수가 포함되어 있지 않으면 모든 Skype for Business Server 컴퓨터의 복제 상태 정보가 반환됩니다.

유형:
위치:2
기본값:없음
파이프 라인 입력 허용 :True (ByPropertyName)
와일드 카드 문자 적용 :그릇된
적용 대상 :Lync Server 2010, Lync Server 2013, Skype for Business Server 2015, Skype for Business Server 2019

투입물

없음

출력

Microsoft.Rtc.Management.Xds.ReplicaState 또는 Microsoft.Rtc.Management.Xds.CentralManagementStoreStatusResult

기본적으로 Get-CsManagementStoreReplicationStatus cmdlet은 Microsoft.Rtc.Management.Xds.ReplicaState 개체의 인스턴스를 반환합니다. CentralManagementStoreStatus 매개 변수가 사용되면 cmdlet는 Microsoft.Rtc.Management.Xds.CentralManagementStoreStatusResult 개체의 인스턴스를 반환합니다.


728x90
728x90
Informational
100: Trying
180: Ringing
181: Call is being forwarded
182: Queued (temporarily unavailable, server has decided to queue the call)
183: Session Progress

Success
200: OK

Redirection
300: Multiple Choices
301: Moved Permanently
302: Moved Temporarily
303: See Other
305: Use Proxy
380: Alternative Service

Client Error
400: Bad Request
401: Unauthorized
402: Payment Required
403: Forbidden
404: Not Found
405: Method Not Allowed
406: Not Acceptable
407: Proxy Authentication Required
408: Request Timeout
409: Conflict
410: Gone
413: Request Entity Too Large
414: Request-URI Too Large
415: Unsupported Media Type
416: Unsupported URI Scheme
420: Bad Extension
421: Extension Required
423: Interval Too Brief
480: Temporarily not available
481: Call Leg/Transaction does not exist
482: Loop Detected
483: Too Many Hops
484: Address Incomplete
485: Ambiguous
486: Busy Here
487: Request Terminated
488: Not Acceptable Here
491: Request Pending
493: Undecipherable

Server Error
500: Internal Server Error
501: Not Implemented
502: Bad Gateway
503: Service Unavailable
504: Server Time-out
505: Version not supported
513: Message To Large

Global-Failure
600: Busy Everywhere
603: Decline
604: Does not exist anywhere
606: Not Acceptable


728x90
728x90

A question that comes up from customers from time to time is how do I get a list of what users are actually using OCS/Lync?  While there’s no built in report to easily tell you what users are actually signing into the environment, there is some information stored in SQL that you can use to help figure out adoption rate in your environment.  The information we’re looking for is stored in the LastNewRegisterTime column in the HomedResourceDynamic table in the rtcdyn database.  You can run the following queries* to pull back the user’s SIP URI and their last registration time:

For Lync Server 2010/2013

USE rtcdyn
SELECT rtc.dbo.Resource.UserAtHost, rtcdyn.dbo.HomedResourceDynamic.LastNewRegisterTime
FROM rtcdyn.dbo.HomedResourceDynamic
INNER JOIN rtc.dbo.Resource on rtc.dbo.Resource.ResourceId = rtcdyn.dbo.HomedResourceDynamic.OwnerId
INNER JOIN rtcdyn.dbo.RegistrarEndpoint ON rtcdyn.dbo.RegistrarEndpoint.OwnerId = rtcdyn.dbo.HomedResourceDynamic.OwnerId
WHERE IsServerSource = 0
ORDER BY UserAtHost

Which produces the following output:

For OCS 2007 R2

USE rtcdyn
SELECT rtc.dbo.Resource.UserAtHost, rtcdyn.dbo.HomedResourceDynamic.LastNewRegisterTime
FROM rtcdyn.dbo.HomedResourceDynamic
INNER JOIN rtc.dbo.Resource ON rtc.dbo.Resource.ResourceId = rtcdyn.dbo.HomedResourceDynamic.OwnerId
ORDER BY UserAtHost

Which produces the following output:


Note: A user with a LastNewRegisterTime of NULL is a user that has never logged in, but has been added to someone’s contact list.  You would want to remove these entries from your exported results.

While the query to gather the information is very similar the SQL instance that you connect to to retrieve this information is different depending on which version you’re using.  In OCS 2007 R2 all of this information was stored in the rtcdyn database on the SQL instance that you defined when first creating the pool.  Because of the changes to the registrar functionality in Lync Server 2010 to support survivability, the information that we’re looking for has moved to the RTCLOCAL SQL instance that is stored on each registrar.

You can see this if you compare the HomedResourceDynamic table in the rtcdyn database between the Front End Pool SQL Instance and one of the Front End Server’s RTCLOCAL SQL Instance:

Front End Pool SQL Instance

RTCLOCAL SQL Instance

 

For row 2, OwnerId 12 corresponds to my Lync test user that has logged into the client.  You can see that the information that we’re looking for, LastNewRegisterTime, only gets populated in the RTCLOCAL SQL instance on the Front End Server.  So this means that in Lync Server 2010 you don’t have one place you can go for all of the users homed on that pool.  You will need to run the query and aggregate the data from every registrar in the pool, as well as any SBA/SBS deployed.  The other issue that comes up in an Enterprise Edition pool with multiple Front End Servers is that when users fail-over to another Front End Server in the pool, there is a record created in that Front End Server’s RTCLOCAL rtcdyn database.  After you run the queries and have exported all of the results you would want to clean up the duplicate entries so that you weren’t reporting inflated numbers.

Even though there’s a little work involved in gathering the information this is a fairly easy way to gauge adoption and see which of your users are actually using the OCS/Lync.

Using the Lync Server 2013 Monitoring Server

If you have the Monitoring Server role configured in your environment, and for Lync Server 2013 everyone should!, you can use information contained in the LcsCDR database to pull back the last time a user signed in.  You can run the following query* to pull back the user’s SIP URI and their last login time:

USE LcsCDR
SELECT dbo.Users.UserUri, dbo.UserStatistics.LastLogInTime
FROM dbo.UserStatistics
JOIN dbo.Users ON dbo.Users.UserId = dbo.UserStatistics.UserId
ORDER BY UserUri

Which produces the following output:

The advantage to using the Monitoring Server to obtain this data is that unlike the information contained in the rtcdyn database, the information from the LcsCDR data will persist even when the user isn’t signed into Lync.

 

*These queries are provided for you to use at your own risk.  Please make sure you test before running in a production environment.

728x90
728x90

use rtc


declare @sipQuery nvarchar(250)

set @sipQuery = 'test1@contoso.com'


select FE.Fqdn,R.UserAtHost, * from FrontEnd FE

join RoutingGroupAssignment RGA

On FE.FrontEndId = RGA.FrontEndId

join ResourceDirectory RD

on RGA.RoutingGroupId = RD.RoutingGroupId

join Resource R

on RD.ResourceId = R.ResourceId

where R.UserAtHost = @sipQuery


Aggregated Presence stateDescription

3,000-4,499

Available

4,500-5,999

Available - Idle

6,000-7,499

Busy

7,500-8,999

Busy - Idle

9,000-11,999

Do Not Disturb

12,000-14,999

Be Right Back

15,000-17,999

Away

18,000+

Offline


참고

https://msdn.microsoft.com/en-us/library/bb878933.aspx

http://mikestacy.typepad.com/mike-stacys-blog/2009/08/are-you-really-away.htmlㄴ

728x90
728x90

use rtc

declare @sipQuery nvarchar(250)
set @sipQuery = 'sipusername%'

select Publisher, MIN(Status) as Status
from
(select Publisher, Status=
CASE
when Availability BETWEEN 0 AND 2999 then 'Not defined:'+Availability
when Availability BETWEEN 3000 AND 4499 then 'Available'
when Availability BETWEEN 4500 and 5999 then 'Available - Idle'
when Availability BETWEEN 6000 and 7499 then 'Busy'
when Availability BETWEEN 7500 and 8999 then 'Busy - Idle'
when Availability BETWEEN 9000 and 11999 then 'Do not Disturb'
when Availability BETWEEN 12000 and 14999 then 'Be right back'
when Availability BETWEEN 15000 and 17999 then 'Away'
when Availability > 18000 then 'Offline'
end
from
(
select Publisher,
substring(
substring(PublicationDocument,patIndex('%<availability>%',PublicationDocument)+14,50),0,
patIndex('%<availability>%',substring(PublicationDocument,patIndex('%<availability>%',PublicationDocument)+14,50))
) Availability
from
(select UserAtHost Publisher,ContainerNum,CONVERT(varchar(4000),convert(varbinary(4000),Data)) PublicationDocument
from rtcdyn.dbo.PublishedInstance tblPublishedInstance,
rtc.dbo.Resource tblResource
where tblPublishedInstance.PublisherId = tblResource.ResourceId) as PublishedDocuments
where LEN(replace(PublicationDocument,'aggregateState','')) < LEN(PublicationDocument)
and ContainerNum = 2
) as PublisherAndAvailability
where Publisher like @sipQuery
union
select UserAtHost Publisher, 'Offline-Not Registered Here' Status
from rtc.dbo.Resource
where UserAtHost like @sipQuery) as PublisherAndStatus
group by Publisher


참고

http://mikestacy.typepad.com/mike-stacys-blog/sql/

Container 테이블 설명

https://msdn.microsoft.com/en-us/library/bb879521.aspx

https://msdn.microsoft.com/en-us/library/office/dn454664.aspx

Access Control List Containers

Office Communications Server creates these reserved containers to provide access control functionality.

Container IDDescription

100

Public, Federated subscribers

200

Workplace subscribers

300

Team member subscribers

400

Personal subscribers

32000

Blocked subscribers


Special Containers

Office Communications Server defines special containers for receiving published data.

Container IDDescription

0

A container with an exclusive access scope.

1

Self-presence category data, which includes userPropertiesalertsrccOptionsuserInformation, and calendarData.

2

The server aggregates user, machine, phone and calendar states published to this container. The states are published to container 100, 200, or 400.

3

The server aggregates presence states in this container and publishes the aggregated computer and user states to container 300.


728x90
728x90
  • Exchange Server에서 PartnerApplication 설정

    "C:\Program Files\Microsoft\Exchange Server\V15\Scripts\Configure-EnterprisePartnerApplication.ps1 -AuthMetaDataUrl 'https://pool01.koreare.com/metadata/json/1' -ApplicationType Lync"

       

       

    • SFB 서버에서 서버간 인증구성

       

    • SFB서버에서 Exchange 서버를 파트너어플리케이션으로 생성

    New-CsPartnerApplication -Identity Exchange -ApplicationTrustLevel Full -MetadataUrl "https://autodiscover.koreare.com/autodiscover/metadata/json/1"

       

    • SFB Server에서 테스트 진행(success면 성공)

PS C:\Users\administrator.KOREARE> Test-CsExStorageConnectivity -sipuri "iu@kore

are.com" -Verbose

자세한 정보 표시: Successfully opened a connection to storage service at

localhost using binding: NetNamedPipe.

자세한 정보 표시: Create message.

자세한 정보 표시: Execute Exchange Storage Command.

자세한 정보 표시: Processing web storage response for ExCreateItem Success.,

result=Success, activityId=9b682e2e-536a-481c-b8b9-749ad889ac7a, reason=.

자세한 정보 표시: Activity tracing:

2016-04-19 08:10:58.966 Lookup user details, sipUri=sip:iu@koreare.com,

smtpAddress=iu@koreare.com, sid=S-1-5-21-1919050813-91945802-1330746039-1638,

upn=iu@koreare.com, tenantId=00000000-0000-0000-0000-000000000000

2016-04-19 08:10:59.014 Autodiscover, send GetUserSettings request,

SMTP=iu@koreare.com, Autodiscover

Uri=https://autodiscover.koreare.com/autodiscover/autodiscover.svc, Web

Proxy=<NULL>

2016-04-19 08:10:59.044 Autodiscover.EWSMA trace,

type=AutodiscoverRequestHttpHeaders, message=<Trace

Tag="AutodiscoverRequestHttpHeaders" Tid="82" Time="2016-04-19 08:10:59Z">

POST /autodiscover/autodiscover.svc HTTP/1.1

Content-Type: text/xml; charset=utf-8

Accept: text/xml

User-Agent: ExchangeServicesClient/15.00.1005.003

   

   

</Trace>

   

2016-04-19 08:10:59.063 Autodiscover.EWSMA trace, type=AutodiscoverRequest,

message=<Trace Tag="AutodiscoverRequest" Tid="82" Time="2016-04-19 08:10:59Z"

Version="15.00.1005.003">

<?xml version="1.0" encoding="utf-8"?>

<soap:Envelope

xmlns:a="http://schemas.microsoft.com/exchange/2010/Autodiscover"

xmlns:wsa="http://www.w3.org/2005/08/addressing"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">

<soap:Header>

<a:RequestedServerVersion>Exchange2013</a:RequestedServerVersion>

   

<wsa:Action>http://schemas.microsoft.com/exchange/2010/Autodiscover/Autodiscove

r/GetUserSettings</wsa:Action>

   

<wsa:To>https://autodiscover.koreare.com/autodiscover/autodiscover.svc</wsa:To>

   

</soap:Header>

<soap:Body>

<a:GetUserSettingsRequestMessage

xmlns:a="http://schemas.microsoft.com/exchange/2010/Autodiscover">

<a:Request>

<a:Users>

<a:User>

<a:Mailbox>iu@koreare.com</a:Mailbox>

</a:User>

</a:Users>

<a:RequestedSettings>

<a:Setting>InternalEwsUrl</a:Setting>

<a:Setting>ExternalEwsUrl</a:Setting>

<a:Setting>ExternalEwsVersion</a:Setting>

</a:RequestedSettings>

</a:Request>

</a:GetUserSettingsRequestMessage>

</soap:Body>

</soap:Envelope>

</Trace>

   

2016-04-19 08:10:59.569 Autodiscover.EWSMA trace,

type=AutodiscoverResponseHttpHeaders, message=<Trace

Tag="AutodiscoverResponseHttpHeaders" Tid="82" Time="2016-04-19 08:10:59Z">

HTTP/1.1 200 OK

Transfer-Encoding: chunked

request-id: b628865a-b7b6-4244-886b-2bce32c62d2c

X-CalculatedBETarget: ex16.koreare.com

X-DiagInfo: EX16

X-BEServer: EX16

X-FEServer: EX16

Cache-Control: private

Content-Type: text/xml; charset=utf-8

Date: Tue, 19 Apr 2016 08:10:59 GMT

Set-Cookie:

X-BackEndCookie=actas1(sid:S-1-5-21-1919050813-91945802-1330746039-1638|smtp:iu

@koreare.com|upn:iu@koreare.com)=u56Lnp2ejJqBmZrHnc3KzJzSmcjNztLLzZ7I0p2bx57SnJ

qdzs2dy8nGyczGgYHNz87J0s/K0s7Gq8/Hxc7PxcrGgZSQjZqejZrRnJCSgc8=; expires=Thu,

19-May-2016 08:10:59 GMT; path=/autodiscover; secure; HttpOnly

Server: Microsoft-IIS/8.5

X-AspNet-Version: 4.0.30319

X-Powered-By: ASP.NET

   

   

</Trace>

   

2016-04-19 08:10:59.570 Autodiscover.EWSMA trace, type=AutodiscoverResponse,

message=<Trace Tag="AutodiscoverResponse" Tid="82" Time="2016-04-19 08:10:59Z"

Version="15.00.1005.003">

<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"

xmlns:a="http://www.w3.org/2005/08/addressing">

<s:Header>

<a:Action

s:mustUnderstand="1">http://schemas.microsoft.com/exchange/2010/Autodiscover/Au

todiscover/GetUserSettingsResponse</a:Action>

<h:ServerVersionInfo

xmlns:h="http://schemas.microsoft.com/exchange/2010/Autodiscover"

xmlns:i="http://www.w3.org/2001/XMLSchema-instance">

<h:MajorVersion>15</h:MajorVersion>

<h:MinorVersion>1</h:MinorVersion>

<h:MajorBuildNumber>225</h:MajorBuildNumber>

<h:MinorBuildNumber>41</h:MinorBuildNumber>

<h:Version>Exchange2015</h:Version>

</h:ServerVersionInfo>

</s:Header>

<s:Body>

<GetUserSettingsResponseMessage

xmlns="http://schemas.microsoft.com/exchange/2010/Autodiscover">

<Response xmlns:i="http://www.w3.org/2001/XMLSchema-instance">

<ErrorCode>NoError</ErrorCode>

<ErrorMessage />

<UserResponses>

<UserResponse>

<ErrorCode>NoError</ErrorCode>

<ErrorMessage>오류가 없습니다.</ErrorMessage>

<RedirectTarget i:nil="true" />

<UserSettingErrors />

<UserSettings>

<UserSetting i:type="StringSetting">

<Name>InternalEwsUrl</Name>

<Value>https://mail.koreare.com/EWS/Exchange.asmx</Value>

</UserSetting>

<UserSetting i:type="StringSetting">

<Name>ExternalEwsUrl</Name>

<Value>https://mail.koreare.com/ews/exchange.asmx</Value>

</UserSetting>

<UserSetting i:type="StringSetting">

<Name>ExternalEwsVersion</Name>

<Value>15.01.0225.000</Value>

</UserSetting>

</UserSettings>

</UserResponse>

</UserResponses>

</Response>

</GetUserSettingsResponseMessage>

</s:Body>

</s:Envelope>

</Trace>

   

2016-04-19 08:10:59.605 Autodiscover, received GetUserSettings response,

duration Ms=589, response=NoError

2016-04-19 08:11:01.697 Lookup user details, sipUri=sip:iu@koreare.com,

smtpAddress=iu@koreare.com, sid=S-1-5-21-1919050813-91945802-1330746039-1638,

upn=iu@koreare.com, tenantId=00000000-0000-0000-0000-000000000000

자세한 정보 표시: Items choice type: CreateItemResponseMessage.

자세한 정보 표시: Response message, class: Success, code: NoError.

자세한 정보 표시: Item:

Microsoft.Rtc.Internal.Storage.Exchange.Ews.MessageType, Id:

AAMkADM3YWM1NGU3LWI2ZmQtNGE3OS1iZjkxLWEyNWI3YzMyNzlkNABGAAAAAAASKHyaongGQoN9klK

qwo7tBwDYpKMYqsX0T5qOmJzkL3KFAAAAlsY0AADYpKMYqsX0T5qOmJzkL3KFAAAK/EftAAA=,

change key: CQAAABYAAADYpKMYqsX0T5qOmJzkL3KFAAAK+5Gs, subject: , body: .

자세한 정보 표시: Is command successful: True.

Test passed.

PS C:\Users\administrator.KOREARE>

   

   

  • SFB서버에서 Exchange 트러스트 어플리케이션 풀 생성 해줍니다.(하기는 미리 구성 되어 있어서 설정값만 수정 후 조회했습니다.)

    또한 5199포트로 OutlookWebapp에 대한 트러스트어플리케이션 생성

   

  • Exchange 서버에서 OCS 사용 설정

   

  • Exchange 서버에서 IM(노란색 참조)

[PS] C:\Program Files\Microsoft\Exchange Server\V15\Scripts>Set-OwaMailboxPolicy -Identity "Default" -InstantMessagingEn

abled $True -InstantMessagingType "OCS"

[PS] C:\Program Files\Microsoft\Exchange Server\V15\Scripts>New-SettingOverride SetIMServerNameEX16 -Server EX16 -Compon

ent OwaServer -Section IMSettings -Parameters @('IMServerName=pool01.koreare.com') -Reason "OWA IM config"

   

   

RunspaceId : 58f32e19-d237-4984-90e0-9cf1b5a618a9

ComponentName : OwaServer

SectionName : IMSettings

FlightName :

ModifiedBy : koreare.com/Users/Administrator

Reason : OWA IM config

MinVersion :

MaxVersion :

FixVersion :

Server : {EX16}

Parameters : {IMServerName=pool01.koreare.com}

XmlRaw : <S CN="OwaServer" SN="IMSettings" MB="koreare.com/Users/Administrator" R="OWA IM config"><Ss><S>EX1

6</S></Ss><Ps><P>IMServerName=pool01.koreare.com</P></Ps></S>

AdminDisplayName :

ExchangeVersion : 0.1 (8.0.535.0)

Name : SetIMServerNameEX16

DistinguishedName : CN=SetIMServerNameEX16,CN=Setting Overrides,CN=Global Settings,CN=koreare,CN=Microsoft Exchange,CN=

Services,CN=Configuration,DC=koreare,DC=com

Identity : SetIMServerNameEX16

Guid : dbccc5dc-b624-413b-8062-2eba1d7bebd1

ObjectCategory : koreare.com/Configuration/Schema/ms-Exch-Config-Settings

ObjectClass : {top, msExchConfigSettings}

WhenChanged : 2016-04-19 오후 5:53:43

WhenCreated : 2016-04-19 오후 5:53:43

WhenChangedUTC : 2016-04-19 오전 8:53:43

WhenCreatedUTC : 2016-04-19 오전 8:53:43

OrganizationId :

Id : SetIMServerNameEX16

OriginatingServer : DC01.koreare.com

IsValid : True

ObjectState : Unchanged

   

[PS] C:\Program Files\Microsoft\Exchange Server\V15\Scripts>New-SettingOverride SetIMCertificateThumbprintEX16 -Server E

X16 -Component OwaServer -Section IMSettings -Parameters @('IMCertificateThumbprint=D2A9B625C0DD80B594AA0EE7039EB5D078D

2B586') -Reason "OWA IM Config"

   

   

RunspaceId : 58f32e19-d237-4984-90e0-9cf1b5a618a9

ComponentName : OwaServer

SectionName : IMSettings

FlightName :

ModifiedBy : koreare.com/Users/Administrator

Reason : OWA IM Config

MinVersion :

MaxVersion :

FixVersion :

Server : {EX16}

Parameters : {IMCertificateThumbprint=D2A9B625C0DD80B594AA0EE7039EB5D078D2B586}

XmlRaw : <S CN="OwaServer" SN="IMSettings" MB="koreare.com/Users/Administrator" R="OWA IM Config"><Ss><S>EX1

6</S></Ss><Ps><P>IMCertificateThumbprint=D2A9B625C0DD80B594AA0EE7039EB5D078D2B586</P></Ps></S>

AdminDisplayName :

ExchangeVersion : 0.1 (8.0.535.0)

Name : SetIMCertificateThumbprintEX16

DistinguishedName : CN=SetIMCertificateThumbprintEX16,CN=Setting Overrides,CN=Global Settings,CN=koreare,CN=Microsoft E

xchange,CN=Services,CN=Configuration,DC=koreare,DC=com

Identity : SetIMCertificateThumbprintEX16

Guid : f14fe273-9d77-49f5-9c8e-ec8cf8ade2b0

ObjectCategory : koreare.com/Configuration/Schema/ms-Exch-Config-Settings

ObjectClass : {top, msExchConfigSettings}

WhenChanged : 2016-04-19 오후 5:55:10

WhenCreated : 2016-04-19 오후 5:55:10

WhenChangedUTC : 2016-04-19 오전 8:55:10

WhenCreatedUTC : 2016-04-19 오전 8:55:10

OrganizationId :

Id : SetIMCertificateThumbprintEX16

OriginatingServer : DC01.koreare.com

IsValid : True

ObjectState : Unchanged

   

[PS] C:\Program Files\Microsoft\Exchange Server\V15\Scripts>Get-ExchangeDiagnosticInfo -Server $ENV:COMPUTERNAME -Proces

s Microsoft.Exchange.Directory.TopologyService -Component VariantConfiguration -Argument Refresh

   

RunspaceId : 58f32e19-d237-4984-90e0-9cf1b5a618a9

Result : <Diagnostics>

<ProcessInfo>

<id>2168</id>

<serverName>EX16</serverName>

<startTime>2016-04-15T00:28:38.8612397Z</startTime>

<currentTime>2016-04-19T08:55:56.1901401Z</currentTime>

<lifetime>4.08:27:17.3289004</lifetime>

<threadCount>24</threadCount>

<handleCount>1198</handleCount>

<workingSet>83.57 MB (87,633,920 bytes)</workingSet>

</ProcessInfo>

<Components>

<VariantConfiguration>

<Overrides Updated="2016-04-19 오전 8:55:58">

<SettingOverride>

<Name>SetIMCertificateThumbprintEX16</Name>

<Reason>OWA IM Config</Reason>

<ModifiedBy>koreare.com/Users/Administrator</ModifiedBy>

<ComponentName>OwaServer</ComponentName>

<SectionName>IMSettings</SectionName>

<Status>Accepted</Status>

<Message>This override synced to the server but whether it applies to the services running on t

his server depends on the override parameters, current configuration and the context.</Message>

<Parameters>

<Parameter>IMCertificateThumbprint=D2A9B625C0DD80B594AA0EE7039EB5D078D2B586</Parameter>

</Parameters>

</SettingOverride>

<SettingOverride>

<Name>SetIMServerNameEX16</Name>

<Reason>OWA IM config</Reason>

<ModifiedBy>koreare.com/Users/Administrator</ModifiedBy>

<ComponentName>OwaServer</ComponentName>

<SectionName>IMSettings</SectionName>

<Status>Accepted</Status>

<Message>This override synced to the server but whether it applies to the services running on t

his server depends on the override parameters, current configuration and the context.</Message>

<Parameters>

<Parameter>IMServerName=pool01.koreare.com</Parameter>

</Parameters>

</SettingOverride>

</Overrides>

</VariantConfiguration>

</Components>

</Diagnostics>

Identity :

IsValid : True

ObjectState : New

   

   

   

[PS] C:\Program Files\Microsoft\Exchange Server\V15\Scripts>

   

  • 클라이언트에서 OWA에 접속하여 Presence 상태가 나오는지 확인
  • OWA에서 IM 테스트


728x90

+ Recent posts