Exchange Web Services (EWS) is a service used by Lync/SfB to integrate with Exchange. Successful integration obtains:
- Free/Busy information
- Save Conversation History
- High Resolution Photos
- Voice Mail Access
Lync/SfB Client process to connect to Exchange Web Services (EWS)
1. Client will attempt to read any existing Autodiscover data with a valid Time-to-Live (TTL), which may have been previously retrieved by Outlook.
2. Client or device will extract the SMTP domain from the user’s presence document.
3. Client or device will then use the user’s SMTP domain to construct DNS queries for the following URLs:
a. https:///autodiscover/autodiscover.xml -if fails, goes to b.
b. https://autodiscover./autodiscover/autodiscover.xml -if fails, goes to c.
c. http://autodiscover./autodiscover/autodiscover.xml -if fails, goes to d.
d. Autodiscover uses DNS SRV lookup for _autodiscover._tcp.contoso.com, and then “sg-exchcas01.contoso.net” is returned.
4. Client asks permission from the user to continue with Autodiscover to post to https://sg-exchcas01.contoso.net/autodiscover/autodiscover.xml
5. Autodiscover’s POST request is successfully posted to https://sg-exchcas01.contoso.net/autodiscover/autodiscover.xml.
Here’s the thing, I want to post this since I always forgot this syntax every time I’m in the field integrating Lync/SfB and Exchange UM. I tested it over Exchange 2013 UM and setup is on-premise.
New-ExchangeCertificate -FriendlyName ‘LyncUM’ -PrivateKeyExportable $true -KeySize ‘2048’ -SubjectName ‘C=SG, O=LNC, CN=SGEX1.contoso.com’ -DomainName ‘SGEX1.contoso.com’ -Services ‘UM,UMCallRouter’ -Server ‘SGEX1.contoso.com’
Note: The credit for this explanation does not belongs to me. I got this few years ago and save on my notepad but I forget to give credit to the author. If you read this, please comment.
The conversation history you are seeing in outlook is nothing to do with your archiving. Implementing Lync/SfB along side Exchange is giving you that functionality. This is a users personal conversation history, that they can refer to and manage as they see fit – and yes it contributes to the size of their mailbox but it’s insignificant size.
An archiving server on the other hand, stores IM and conferencing data to SQL. Archiving is normally deployed if a company needs to meet regulatory requirements, or would like to archive IM data for a period of time for their own personal ‘safety net’ reasons. If a user deletes something from their personal conversation history (mailbox) it is not removed from the server side archiving.
Retention policies and configuration is used on the server side archiving to determine how long you would like to keep data in the store, and how often to purge said data etc.
Question: Are we duplicating data?
Answer: Yes, but for two very different reasons.
One is manageable by the end user, and exists for their use, reference and history purposes. The other managed by administrators and used as the ‘go to’ point regarding incidents etc. A user could send an abusive IM then delete it from his own history, the purpose of an archiving server nullifies his attempts at covering things up.
Mailbox impact is trivial regarding conversation history.
Install-CsDatabase -CentralManagementDatabase -SqlServerFqdn atl-sql-001.litwareinc.com -SqlInstanceName rtc -DatabasePaths “G:\CSDB”
Install-CsDatabase -ConfiguredDatabases -SqlServerFqdn atl-sql-001.litwareinc.com -DatabasePaths “E:\CSLog”,”F:\CSLog”,”G:\CSDB”
Install-CsDatabase -DatabaseType Monitoring -SqlServerFqdn LYNCCLUS01.litwareinc.com -SqlInstanceName SGLYNCMON -DatabasePaths I:\MonitoringLogs,H:\MonitoringData
Install-CsDatabase -DatabaseType Archiving -SqlServerFqdn LYNCCLUS01.litwareinc.com -SqlInstanceName SGLYNCARC -DatabasePaths I:\ArchivingLogs,H:\ArchivingData
Uninstall-CsDatabase -DatabaseType Monitoring -SqlServerFqdn LYNCCLUS01.litwareinc.com -SqlInstanceName SGLYNCMON
Uninstall-CsDatabase -DatabaseType Archiving -SqlServerFqdn LYNCCLUS01.litwareinc.com -SqlInstanceName SGLYNCARC
Moving Standard Lync CMS to Enterprise Lync/SfB
- Backup the CMS from Standard FE server.
- Export-CsConfiguration -Filename Customerconfig.zip
- Export-CsLisConfiguration –Filename Customerlis.zip
- Run as Administrator: Open Lync Management Shell from Enterprise Edition Server and type below.
- Install-CsDatabase –CentralManagementDatabase –UseDefaultSQL Paths -SqlServerFQDN sg-lyncdb.contoso.com –clean
- Run as Administrator: Enable from the Lync topology
- Run as Administrator: Move the CMS
- Restart both Master Replica Service and File-Transfer Agent service on Front end Servers
- Verify if CMS is installed on the EE pool
- Verify if replication is UpToDate
- Re-run “Install or Update Lync Server System” from Front end Servers
Remove the CM store files after a move
- Warning! Do not proceed if Get-CsManagementStoreReplication status isn’t UpToDate yet.
- Login to Standard FE server and remove CMS database files
- Uninstall-CsDatabase –CentralManagementDatabase –SqlServerfqdn sg-LyncTMP.contoso.com –SqlInstanceName rtc
Looks easy, isn’t it?
- AudioCodes Auto-Attendant is installed as virtual machine inside the SBA.
- SBA is associated to a SfB Enterprise Edition in Central Pool.
- AudioCodes AA configured with Automatic Call Distribution (ACD) in Call Work Flow
- When a PSTN caller calls to AA IVR and chose ACD option (e.g. transfer to Receptionist), Receptionist answer the call but when it tries to transfer to any internal SfB user within the branch site, the transfer failed.
Errors on SfB logs captured on SBA
- The call cannot be transferred
- SIP/2.0 504 Server time-out
- ms-diagnostics: 1038;reason=”Failed to connect to a peer server”;ip-address=”192.168.10.10″;peer-type=”InternalServer”;winsock-code=”10061″;winsock-info=”The peer actively refused the connection attempt”;source=”SfBPoolinCentralSiteFQDN”
- SIP/2.0 400 Bad Request
Open TCP port 15001 from SfB servers in Central office to AudioCodes Auto-attendant.
SfB requires that all servers, that receive REFER and start a new call as result of the REFER, have access to the referring server, for authenticating the referred-by header.
In the case above all servers should have access to AudioCodesAA.local:15001
Thanks to AudioCodes R&D, they found the solution!
But this port is not on Firewall requirement on AC document so we have requested it to be added.
This simple guide will just give you the step-by-step procedure to configure a working inbound or incoming fax. The fax port or FXS port is attached to AudioCodes M1K chassis.
Let’s configure FXS Port 1.
Go to Configuration -> VoIP -> GW and IP to IP -> Trunk Group -> Trunk Group
- Add full E.164 format of the phone number
- Set Trunk Group ID as 11
- Set Channels to 1
Go to Configuration -> VoIP -> GW and IP to IP -> Trunk Group -> Trunk Group Settings
- Set Trunk Group ID to 11
- Select Channel Select Mode “By Dest Phone Number“
- Registration Mode “Don’t Register“
Go to Configuration -> VoIP -> GW and IP to IP -> Routing -> Tel to IP Routing
- Set Tel to IP Routing Mode to “Route calls before manipulation“
- Destination Phone Prefix to specific digits send by your Telco
- Dest. IP Address to M1K own IP address
Go to Configuration -> VoIP -> GW and IP to IP -> Manipulations -> Dest Number Tel -> IP
- Destination Prefix will be the specific digits send by Telco
- On Add Prefix, format the digits in order to be in E.164 format that matched the Trunk Group’s “Phone Number” on 1st step.
From within gateway, route the calls to Trunk group 11. Go to Configurations -> VoIP -> GW and IP to IP -> Routing -> IP to Trunk Group Routing
- IP-to-Tel Routing Mode set to “Route calls before manipulations“
- Dest Phone Prefix set to the full E.164 format
- Trunk Group ID set to 11
It should ring by now when you call it from PSTN!
Other basic settings like Max Digits In Phone Num will not be covered here. You should have set it at earlier stage 🙂
If fax is required to dial out. We can configure it on another set of blog. Let me know if anyone requires it.
This guide is similar as the one published in technet however it is not explain in detailed. Screenshots here are my own. This is my own reference for future use just in case blog technet is down 🙂 . If it helps you, that’s great!
These are divided into 3 Parts
- Part 1
- Part 2
- Part 3
Basic guide for you to configure failover routing with AudioCodes Mediant 1000B for Lync/SfB SBA.
- M1K Firmware version: 6.80A.258.005
- Gateway Listening: TCP 5060
- Lync/SfB Mediation Server Listening: TCP 5068
- Coders: Mu-law
Configure the Gateway IP Address and DNS settings.
Reset the gateway: Device Actions -> Reset -> Click Reset (Burn to Flash, Yes; Graceful Option, No)
Upgrade the Gateway firmware. (Optional).
Configure NTP settings: Configuration -> System -> Application Settings
Configure SIP General Parameters: Configuration -> Advanced -> SIP Definitions -> General Parameters
Define Coders and Profiles: Configurations -> VoIP -> Coders and Profiles -> Coders
Configure Automatic Gain Control (AGC): Configurations -> Advanced -> VoIP -> Media -> IPMedia Settings
Configure Comfort Noise Negotiation: Configurations -> Advanced -> VoIP -> RTP/RTCP Settings
Enable ENABLEEARLY183 from Gateway Admin Page: Type from browser Http://GW_IPAddress/AdminPage, select ini Parameters
Proceed to Part 2:
Configure Failover Routing with Audiocodes M1000B for Lync or Skype for Business SBA Part 2