Cisco Support Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Announcements

Welcome to Cisco Support Community. We would love to have your feedback.

For an introduction to the new site, click here. If you'd prefer to explore, try our test area to get started. And see here for current known issues.

New Member

Exchange 2013 UM and CUCM 8.6

Hi All,

I am having some difficulty setting up a direct sip connection from Callmanager 8.6 to Exchange 2013 UM and want to know if anyone has encountered this or has a solutions. See below:

I am following the exchange 2010 guide as a starter: http://go.microsoft.com/fwlink/p/?linkId=213007

I have the trunk pointing at the CAS 2013 server (which does the SIP 302 redirection to the mailbox server). The behaviour I am seeing is CUCM sends the INVITE to exchange 2013 CAS and it responds with a 302 and the XXXXX@mailbox-server.fqdn (and port) in the contact info in the header. At this point CUCM doesn't even attempt to contact the mailbox server.

From my troubleshooting it seems to want to handle it as a URI so after creating another trunk to the mailbox server and setting up a remote destination the call makes it to the mailbox server but stripps the caller extension in the INVITE.

Is there anyway in the trunk config to get it to follow the URI redirect (i.e. connect to the FQDN and port given in the header)? Having to make seperate trunks to each mailbox server would result in a lot of trunks.

It seems that if the response was XXXXX@ipaddress in the header from the 302 the redirect would work correctly, but exchange returns XXXXX@fqdn

Thanks in advance

Regards,

Daniel

28 REPLIES
New Member

Exchange 2013 UM and CUCM 8.6

We are having the same issue with CUCM 8.5.1.  CUCM responds to the 302 with an ACK and then goes back to port 5060 and starts over.

Thanks,

Chad

New Member

Exchange 2013 UM and CUCM 8.6

Ok we have managed to get it working. Here's how:

1. We setup a single trunk to which contains all of our servers (with the CAS role) pointing at port 5060.

2. You then need to setup addtitional a trunks per server. In our case we had a another trunk to the mailbox server with all ports from 5062 through to 5068 in the list (on the cisco side trunk config)

3. You need to create a sip route and select domain routing. Enter the mailbox server FQDN and select the dedicated mailbox server trunk (that was created in step two).

The important bit is the sip route. As the response doesn't contain an IP in the redirect CUCM tries to process as a URI so you need to tell it which trunk to use when it sees the mailbox server fqdn. The only down side is each time you add a new server you got to create a new sip route and a another trunk.

After all that the setup works well.

Regards,

Daniel

New Member

Exchange 2013 UM and CUCM 8.6

Daniel,

We had UM working with Exchange 2010 but are having the same dificulty you experienced getting our UM in 2013 to work! I think your solution will work for us but I an not as well versed as you are with CUCM. Could you post screenshots of what your configuration looks like so we can try and emulate it in our environment?

How do you route the subscriber access number across both SIP trunks? I thought a number pattern could only be assigned to one trunk.

Additionally, I would suggest that you write a blog on how to do this because there are a LOT of Exchange admins and CUCM admins trying to figure out how to get this all working!

Thanks in advance!

Sincerely,

Will Smothers

New Member

Re: Exchange 2013 UM and CUCM 8.6

Hi Will,

Here is the details on how we did our setup. In the example we have 4 exchange servers and all have collocated mailbox and cas roles. If you split your roles then you need to only put the cas servers in the CAS trunk which you will see below.

You cannot use the Microsoft whitepaper doco for CUCM as it simply just won't work on 2013 (it will on 2010).

This setup is for tcp (not tls) and assumes you have configured Unified Messaging 2013

i.e.

server1.example.org
server2.example.org
server3.example.org
server4.example.org


1. Create the SIP profile for Exchange:

Goto Device-> Device Settings -> SIP Profile
Click Add new

Name: Exchange 2013 SIP Profile
Check: Early Offer support for voice and video calls (insert MTP if needed)

Save.
-------------------

2. Create SIP Trunk Security Profile:

Goto System -> Security -> SIP Trunk Security Profile

Name: Exchange 2013 SIP Security Profile

Check: Accept out-of-dialog refer**
Check: Accept unsolicited notification
Check: Accept replaces header

Save.


------------------

3. We now create the main sip trunk pointing to your cas servers. You point your voicemail pilot number to this trunk in CUCM

Goto  Device-> Trunk
Click Add new

Trunk type: SIP Trunk
Device Protocol: SIP
Trunk Service Type: None


Next.

Device Name: Exchange 2013 CAS Trunk
Device Pool: (I use default but it may be different based on you setup)

Check: Media Termination Point Required
UnCheck: PSTN Access

Check: Redirecting Diversion Header Delivery - Inbound
Check: Redirecting Diversion Header Delivery - Outbound

Destinations (example fqdns but the ports will be 5060 if your doing tcp):

server1.example.org 5060
server2.example.org 5060
server3.example.org 5060
server4.example.org 5060

SIP Trunk Security Profile: Exchange 2013 SIP Security Profile

SIP Profile: Exchange 2013 SIP Profile

Save and Reset the trunk.

------------------

4. For each exchange mailbox server create a specific trunk so when the redirect occurs there is somewhere to go:

Repeat this step for each mailbox server you have updating the name and fqdns each time. Make sure you use FQDN as well.

Goto Device-> Trunk
Click Add new

Trunk type: SIP Trunk
Device Protocol: SIP
Trunk Service Type: None
Next.

Device Name: server1.example.org
Device Pool: (I use default but it may be different based on you setup)

Enable: Media Termination Point Required
Untick: PSTN Access

Destinations (example fqdns):

server1.example.org 5062
server1.example.org 5063
server1.example.org 5064
server1.example.org 5065
server1.example.org 5066
server1.example.org 5067
server1.example.org 5068

SIP Trunk Security Profile: Exchange 2013 SIP Security Profile

SIP Profile: Exchange 2013 SIP Profile

Save and Reset the trunk.

----------------

5. Setup the domain routing so when the CAS server redirects the INVITE it knows which trunk to send it too.

Repeat this step for each mailbox server and update the pattern and sip trunk to match each time (i.e.):

IPv4 Pattern: server1.example.org
SIP Trunk: server1.example.org

IPv4 Pattern: server2.example.org
SIP Trunk: server3.example.org
....
etc etc

To create:

Goto Call Routing -> SIP Route Pattern
Add New:
Select Domain Routing from the drop down list

IPv4 Pattern: server1.example.org
SIP Trunk: server1.example.org

The reason you need all this is the CAS servers now put the server FQDN in the redirect which causes CUCM to look for a URI route (hence setting the domain routing). The FQDN must be the one Exchange is using.

Hope this helps

If anyone from Microsoft is reading this please update your documentation as it's not "just the same as 2010".

Regards,

Daniel

New Member

Re: Exchange 2013 UM and CUCM 8.6

Hi Daniel, I work with Will Smothers. Thanks for the information.

I have a  couple of question.

On the SIP profile, are you using CLEARMODE for "Early offer for G.Clear Calls", and also on the SIP profile are you using "

Regards,

Ken

New Member

Re: Exchange 2013 UM and CUCM 8.6

In our case we were hitting Cisco CSCuc74600 Bug.

Basically we were initiating the call on the 1st trunk to the CAS server and the CAS was responding with the "302 Temporarily Moved" message (as it's desinged to do). Then CM used my configured SIP route for moving the call to a 2nd trunk that points to the UM server. (The SIP route uses the FQDN provided in the 302 message from the CAS server).

.

In our call trace I would see a "DNS Query Fail" message shortly after the "302 Temporarily Moved" message. It appears that the CM was unable to resolve the FQDN in my SIP route to an IP address, even though I could ping the FQDN from the CM server.

Reading the Bug, it appears that CM wanted an IP address in the SIP URI vs an FQDN. In Exchange 2010  you connected direcelty to the UM server so this wasn't necessary. In Exhange 2013 you can't configure Exchange to provide an IP address in the SIP URI, by default Exchange provides the FQDN of the UM server.

To resolve this we upgrade to CM version 9.1.2 which did not contain the bug.

New Member

Hi Haltervk,I am stuck in an

Hi Haltervk,

I am stuck in an exact same scenario. My cucm is trying to resolve MX fqdn and getting DNS query fail. My CUCM is not configured with DNS. I know it can be configured but i am not to sure it would make any change. So could you please tell me if your cucm environment was configured with dns or not when you face this issue??

 

New Member

Hi Haltervk,Our CUCM install

Hi Haltervk,

Our CUCM install was not with DNS. I can also confirm the setup works fine on 10.5.

As far as i know CUCM trunks can only resolve A or SRV records, not MX ones.

Regards,

Daniel

New Member

Hi DanielI have cucm 8.6

Hi Daniel

I have cucm 8.6 without DNS setup. Is there any way to make cucm resolve the fqdn received from exchange 2013 with DNS ??

Any suggestion would be much appreciated 

Thanks

New Member

ok i just finished resolving

ok i just finished resolving this issue.

my topology consists of 2 exchange 2016 servers

i did just 1 trunk pointing to both servers on port 5060

did not have to do any other trunk or anything that uses other ports. (same way you do exchange 2010)

the issue though is you NEED to use DNS. without dns it wont work.

alother option if you don't want to use dns is to use a normalization script to replace the header but i could not get that to work.

initially i hit the dns bug and then installed 11.0.1a(SU2) and it resolved the issue.

one of my cucm was hanging there after receiving the 302 moved temporarily with the fqdn.

my other cucm was working fine

i did check utils network host fqndofserver and was resolving. it was just not processing it in the sip trunk.

to my experiense DNS is needed with exchange UM but not sure why everybody is mentioning you have to do the 2 sip trunks.

New Member

Hi there,

Hi there,

According to my understandings there are some parameters, e.g., Early Offer support for voice and video calls for sip profile, not appearing in older CUCM(like in 8.0 of my case), there is a work around using CUBE. as http://voipnorm.blogspot.tw/2015/07/cube-to-exchange-2013-unified-messaging.html said, CUBE has the ability to consume these refer messages coming from Exchange 2013 CAS and UM processes. 

HTH, Matthew

New Member

Re: Exchange 2013 UM and CUCM 8.6

Daniel,

You are the man! You need to submit this to Microsoft! I agree on them needing to update their documentation. We have an open support case with M$ and they referenced us to a document for CUCM 7 and Exchange 2010!!!

I think one of our other CUCM engineers is going to post a question he has about this...

Thanks again!

New Member

Re: Exchange 2013 UM and CUCM 8.6

Hi Ken,

I had "Early offer for G.Clear Calls" set to disabled and "

Regards,

Daniel

New Member

Re: Exchange 2013 UM and CUCM 8.6

Hi

I followed instructions but I am getting following messagein CUCM 9.1 

(when I am trying to save second trunk)

Unmapped Exception The Destination Address "ex1.test.eu" conflicts with the Destination Address in "ex1.test.eu". Both have the same Incoming Port "5060" specified in their SIP Trunk Security Profiles. Update so that the Destination Addresses and Incoming Ports are unique.

we also have combined roles Mailbox and CAS on 2 servers (justlike this example)

i can not create trunks to  the same server (mailbox and CAS servers on the same machine) using same SIP security profile (i.e. same incoming port 5060) and same server names (like described in the example)

Maybe I am missing something in this instruction

New Member

Re: Exchange 2013 UM and CUCM 8.6

Per our setup:

For the SIP Security Profile, your CM listens for your Exchange servers on 5060 and you should be able to use the same profile for both trunks.

For the SIP trunks, the CAS service listens on 5060 and the mailbox service listens on 5062.

New Member

Re: Exchange 2013 UM and CUCM 8.6

In CAS SIP Trunk settings on one trunk I have this


I am trying to create Mailbox server trunk with following settings


and I am getting error

SIP Security profile

when I am trying to save the trunk

in the example CAS and Mailbox server rolls are combined (same as what we have)

but its not possible in CCM to create 2 trunks to the same server (with different destinatino ports) with same SIP security profile , because CCM listens on port specified in SIP Security profile

New Member

Re: Exchange 2013 UM and CUCM 8.6

I encountered the same issue as this post on my own CUCM 8.6 and Exchange Server 2013 CU2 environment.

Then, according to Daniel's work-around, I could successfully solve it, while I don't really know

the root cause of it especially whether it is design or not...

At any rate, Thanks!

New Member

Re: Exchange 2013 UM and CUCM 8.6

Daniel Hi

I posted  above a problem I am comming acros while stepping through your instruction on CUCM9.1.2. (Did you test it on CUCM9 ?)

Thanks

eds
New Member

Exchange 2013 UM and CUCM 8.6

I am having the same error "Both have the same Incoming Port "5060" and hope someone can help.

New Member

Re: Exchange 2013 UM and CUCM 8.6

We are runing CM 9.1.2 & Exch2013

There are two trunks. The 1st trunk points to the CAS server using it's IP address and destination port of 5060.

The CAS server redirects to the UM server via a CONTACT header it sends back to CM, the contact header contains the UM servers FQDN, not it's ip address.

So now CM needs a SIP route to the UM server. (This is the FQDN of your UM server)

The 2nd trunk ponts to the UM server using it's FQDN, and destination port 5062.

Below is needed on the SIP profile to assure that SIP routing is used.

We have a single SIP Security Profile that both trunks use, and it listens on 5060.

New Member

Exchange 2013 UM and CUCM 8.6

These steps worked a treat for me this morning.

Thank you very much

5*

New Member

Exchange 2013 UM and CUCM 8.6

I started with Exchange UM and CUCM back in Exchange 2007, then migrated to Exchange 2010 with no real trouble. When trying to get to Exchange 2013, though, it all hit the fan. Even once I updated my existing SIP Trunk with the 2013 mailbox server and port 5062 there was up to a ten-second delay from the time I pressed the messages button until Exchange 2013 answered.

After following your steps, Daniel, the delay is gone. Thank you very much for your terrific step-by-step directions! I truly appreciate it!

David

New Member

I have the trunks and the SIP

I have the trunks and the SIP route pattarns created just as Daniel post. You press the messages button on the phone it works great.

My problem:

If you call the pilot number from a phone that has no voicemail associated, the Exchange will prompt for extension (that is good). Once you enter a valid extension, Exchange will ask you again to enter your extension, this time when you enter the extension it works. What I think is happening is the request first goes to CAS Exchange server , it sends a refer back to CUCM to go to server 3 that has the user mailbox but CUCM sends a request to server 2 instead ignoring the refer and then goes server 3. So we get double prompts to enter extension.

Has anyone exprerence this? Is there a fix?

Thanks,

Solomon

New Member

Hi Solomon,

Hi Solomon,

I'm having the same issue, have you made any progress with this?

Thanks,

Mat

New Member

According to Cisco TAC we are

According to Cisco TAC we are hitting this bug

https://tools.cisco.com/bugsearch/bug/CSCtf35144

I will upgrade to one of the fixed releases and see if that will fix the issue.

Solomon

 

New Member

Solomon

Solomon

I am hitting the same issue, did you manage to fix it by upgrading? I have an upgrade scheduled for Q2 this year though the exchange team have just upgraded to 2013 and we have hit this bug!

I appreciate any help, I have implemented using Daniels notes above including using SIP routing for the mailbox servers. I am running CUCM 8.6.2.23900-10

New Member

We hear you.  :)  Working on

If anyone from Microsoft is reading this please update your documentation as it's not "just the same as 2010".

We hear you.  :)  Working on it... 

New Member

The name field in ip gateway

for info:

The name field in ip gateway definition in MS Exchange 2016 must contains the ip address of the CUCM. Otherwise, an error - 

ms-diagnostics-public: 15602;source="EXCH-01.test.com";reason="The Unified Messaging server is not authorized to accept calls from this SIP peer."

p.s. Take tcpdump from Exchange server with "netsh trace" command and analyze it with MS Network Monitor.

p.s. My environment - Exchange 2016 and CUCM 11

19902
Views
10
Helpful
28
Replies