Wednesday 4 November 2009

MS Exchange 2007 and Nortel CS1k UM Auto Attendants

Here is the scenario.......

Nortel CS1K
MS Exchange 2007
UM Auto Attendants Required

Main switchboard number was set to forward on busy to a UM Auto Attendant which would present a menu of available options for the caller to select as per the usual business call centre type.

The user would be forwarded to the UM Auto Attendant and if the UM Auto Attendant option selected was a phone number the phone would ring and if answered the call would continue as expected......
However.......
if the call was forwarded to an Exchange Voicemail number specifically or if the extension selected was busy or did not answer the caller would be asked to leave a message.
The caller would put on their best telephone voice and start to leave their message when after 10 seconds they would hear "Are you still there?"

Exchange could not hear the caller!

We ran traces....
We checked switch configuration.....
We Patched and Service Packed Exchange.....
We Patched and Service Packed CS1K.....
We stood on one leg with a knotted handkerchief on our heads at midnight....

Nothing worked....

We raised a call with Nortel....

This was the reply.....

"On initial investigation this appears to be a codec negotiation issue between the CS1K and EXUM ( although the contact information also appears strange to me) . Would it be possible to confirm that the EXUM is patched current , also can you send me the wiredcodeclist registry key info (HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft Speech Server\2.0\WireCodecList) for review. Lastly from EXUM are there any event logs generated when this occurs ?"

The content of
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft Speech Server\2.0\WireCodecList
was

RTAudio16KHz
RTAudio8KHz
G.723.1(6.3)
G.711u
G.711A

Sent this to Nortel and the reply was....

"Also would it be possible to try reordering the wirecodeclist to insert A law before MU law ? Once updated you will need to restart the MS Exch Speech Engine Service. I have seen this also resolve some UEXM codec issues."

Changed the Codec order to....

RTAudio16KHz
RTAudio8KHz
G.723.1(6.3)
G.711A
G.711u

Restarted MS Exchange Speech Engine Service
And all worked fine!

An obscure entry in a seemingly non relevant registry key!
Thank you Microsoft for making life so simple!

Friday 18 September 2009

MS Exchange 2007 Service Pack 2 Install with Language Packs

I recently installed Service Pack 2 onto my Exchange 2007 server but had a few problems which I will try to explain here......

Download Location.....
http://www.microsoft.com/downloads/details.aspx?FamilyID=ee7829a3-0ae8-44de-822c-908cd1034523&displaylang=en

When running the Setup program the server failed pre-requisite checks on the Unified Messaging because apparently Microsoft only want you to have "en-US" Language Packs installed.

So I needed to remove the "en-GB" Language Pack.

This would be done using the command;

Setup.com / RemoveUmLanguagePack: en-GB

BUT here is what I got.....

The following Unified Messaging language packs will be removed:

Um Language Pack for en-GB
No Unified Messaging Language Pack is installed for the culture 'en-GB'.
No Unified Messaging Language Pack is installed for culture 'en-GB' on this
server.

So the Exchange Server thinks it does not have 'en-GB' installed!

Found an obscure post on a german site
Subject: MSX2007: Uninstall problem UMLanguagePack
From : "Willmar Heinrich"

who pointed me in the right direction, mentioning the registry key;
HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Exchange \ v8.0 \ UnifiedMessagingRole \ Language Packs

I checked this reg key and found only an entry for 'en-US'

So I backed up the
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Exchange\v8.0\UnifiedMessagingRole]
registry settings

and copied the data form the
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Exchange\v8.0\UnifiedMessagingRole\LanguagePacks\en-US

to

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Exchange\v8.0\UnifiedMessagingRole\LanguagePacks\en-GB

then I re-ran the
Setup.com / RemoveUmLanguagePack: en-GB
command and it worked.

The language pack was removed and SP2 passed all pre-requisite checks and installed quite happily.

The only hickup was that Microsoft Exchange Speech Engine Service would not start because it was a bit confused about the "rigged" language pack reg fix. This meant Voicemail and Auto Attendents were off for the interim.

Once SP2 was installed all was fine again.

All that was left was to re-install the language packs using;
Setup.com /AddUmLanguagePack:en-GB /s:d:\UM

Tuesday 12 May 2009

Exchange 2007 and Nortel CS1K Message Waiting Indicator - The Cheap Way

Geomant MWI Software would have cost around £2000

Looked for an alternative and came across Freemwi
http://www.mrkernel.net/?p=29

The Developer Justin was a great help.

Below is the communication we had.......

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

Sorry for the delay in response. Don't know if you have figured it out yet, but it will be hard to help you with out more information.

My initial guess is that you are using the email address instead of the UPN. e.g. the users UPN is bobs@domain.local, but email is bob@domain.com

If you can send me a copy of the user CSV, screen shots of the General, and Account tabs, in Active Directory Users and Computers, what your impersonation account user is and the print out of this command: "Get-MailboxPermission -Identity bob@domain.local fl" I will be in a better position to help you.

One other trouble shooting tip, in a browser you should be able to go to the OWA site and impersonate the user:

http://webmail.domain.com/owa/bob@domain.local

then login with you MWI user: e.g. mwi@domain.local, it should open his mailbox.

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

As mentioned earlier, I have now tried to roll freemwi out to more users but am getting strange results.....
For some users I am getting
Cannot impersonate: does user exist?

Whereas others are fine.

The users are in the same active directory ou, have the same Mail Store, are in the same groups,
Cannot find a difference that would cause this problem.I have re-run the extended rights impersonate ps command and the impersonate rights seem to have already applied

If you can shed any light it would be much appreciated.
I know this is pretty much unsupported but I do appreciate the help you have given so far.



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

Glad to hear you got it working.

Assuming you are following this:
http://support.microsoft.com/kb/137890

There are two additional things you need to do
First you have to run the service as a user:

and second most importantly you must run the service with the application path of the exe:
Note the AppDirectory key

That is how I got mine running as a service.

When I have more time I will write up some detailed instructions. Let me know if that is enough or if you need me to elaborate.

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

Good News!

We have successfully installed freewmi and it is now working.

The instructions you supplied were spot on and easy to understand and follow.

The only thing we did have to do was install .net 2.0 (might be worth putting into your documentation)

The only problem we had was with proxy authentication not being passed thru freewmi.
We added a non authenticate rule to our isa server and this did the trick.

We currently have it configured and working for about 20 users.

I plan to expand this to a further 100 within the week.

The one thing I did try was to get freewmi running as a service using instsrv.exe and srvany.exe but it did not run the freemwi.exe.

I will try to work on this and let you know if I have any progress.

Have you come across this request from anyone else?

Other than that an excellent application.

Many thanks for all your help

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

Thank you for contacting me. I look forward to hearing how you make out, and if you are willing to provide me with notes on the integration with the CS1k that would be greatly appreciated.

I have had a few other people inquire about the CS1K but none have implemented it yet, they were in the pre-testing phase.

This is what I sent them:

Note: this it is not tested, and is based on my reading of the documentation on Nortel's website.

---Start---

Here are a few tips that might help you to implement it with the CS1K:

Note: I am not very strong on the Nortel side of things, so this might not be fully correct.

Since you can’t run this on a server running the Exchange UM Role, you will have to run it on another box, e.g. Another non-um Exchange Server, File Server, Domain Controller, etc. (I have mine running in a Hyper V machine); You will have to allow it to send SIP UDP messages to Sip Proxy Server (SPS) (Assuming you are doing Direct SIP), When you create a Gateway Endpoint for Exchange, you will also want to create a Gateway Endpoint for the MWI Server, except you will want to choose SIP UDP, it should look something like

Endpoint Name FreeMWI (Unique Name)
Endpoint authentication enabled Authentication Off
Static endpoint address
SIP support Static SIP endpoint
SIP UDP transport enabled Checked
SIP UDP port 5060

You will also need to steer traffic down the Gateway Endpoint See page11, and then 21 of the next link for RLB and Steering Code setup and for adding a route entry. See Below
for the MWI DN

This is based on this document
http://support.nortel.com/go/main.jsp?cscat=DOCDETAIL&id=626197&poid=14261

User telephones should be configured with MWA (Message Waiting Allowed) Class of Service to receive MWI Lamp notification.

The Node configuration page (in Element Manager) needs to be configured with information for both the MWI Application DN and the MWI Dialing Plan. The configured MWI DN and MWI Dialing plan should be administered as a valid DN on the Call Server to ensure routing back to the SIP gateway; this is required if the ISDN Facility Response is to be sent back to the SIP gateway.
You can find this under Element Manager: System -> IP Network -> Nodes: Servers, Media Cards.
Click to expand the Microsoft Unified Messaging tab as illustrated in the diagram above.
If MWI application is used for Lamp Status Update, configure the properties:
MWI Application DN See above
MWI Dialing Plan CDP (I am assuming)
Note: FreeMWI sends out the MWI as coming from the person it is sending it to, e.g. if Lamp should be turned on for 4501 then it shows it is coming from 4501 to 4501, this should not be a problem but if it is I can always recompile a version that sends from your Subscriber Access Number, just let me know if you want to try this.

This has some MWI configuration information
http://www142.nortelnetworks.com/techdocs/CS1K_5_5/pdf/NN43001-122_02.05_ExgUM_FND.pdf


Hopefully the above makes sense as I was mainly trying to get my thoughts out, but basically you need to mirror the configuration for Exchange except with a different DN, Gateway Endpoint, and SIP UDP.

Hopefully that is all the configuration you need on the CS1K.

When troubleshooting I would first make sure FreeMWI is properly configured and monitoring the Mailboxes (as I know this works), then I would configure the CS1K, and use Wireshark on the MWI server to see that FreeMWI is sending out the MWI packets to the CS1K and see the response. Feel free to send me packet captures if you wish.

---End---

I don't see any reason we can't get my program to work. I am willing to help out where I can, and I look forward to hearing how this work out.

Thank you,

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


Was very pleased to find your application out there and am hoping to implement here at our college.

Our set up is as follows;

Nortel CS1000 server
MS Exchange 2007 with UM Voicemail

I will let you know how we get on.

If you have any further info regarding configuration on the CS1000 I would be grateful if you could pass it on.

Thursday 16 April 2009

Using Exchange Server 2007 UM for Express Messaging

If you are familiar with Nortel Telephony systems you may have used something called Express Messaging.

This feature allows you to dial a pre-defined number (from any phone) and type in a persons extension number to acces and leave them a voicemail message.

This feature was widely used at the organisation I work for.

We now have a new telephony system installed based on a Nortel CS1k connecting to Exchange 2007 for Voicemail using Unified Messaging.

There did not seem to be any way to replicate the Express Messaging feature on the CS1K so I looked into doing something using Exchange.

The obvious candidate was using an Auto Attendant

Found a really helpful Blog from Geoff Clark here

http://blogs.technet.com/gclark/archive/2009/03/30/exchange-2007-um-transfer-to-voicemail.aspx

And it turned out that with 2 simple Exchange Powershell commands;

New-UMAutoAttendant -Name <> -SpeechEnabled $False -Status Enabled -UMDialPlan <> -PilotIdentifierList <>

Set-UMAutoAttendant -Identity <> -AllowExtensions $False -CallSomeoneEnabled $False -SendVoiceMsgEnabled $True -NameLookupEnabled $False

The required feature could be replicated.

Adding Language Packs to Exchange 2007 UM

Okay so I got UM working on Exchange 2007 for our new Nortel CS1K system.
Set up some Voicemail.
Set up an Auto Attendant.
Got really tired of hearing an American Accent saying "Press The Pound Key" (It's a Hash Key!)

So looked into how to add Language packs.

MS Technet was quite helpful on this and had a lot of info but was not too good on specifics.

Used a fellow bloggers post here to clear up some of the syntax
http://unifyandconquer.blogspot.com/2009/03/howto-install-new-language-pack-for.html

Googled umlang-en-GB.msi to find the MS download page for the relevant Language Pack.

Downloaded it - copied it to the Exchange Box in "D:\UM". (no pun intended!)

Went to my "Exchange Server\Bin" directory and ran......
"Setup.com /AddUmLanguagePack:en-GB /s:d:\UM"
Where en-GB is the language you want and /s is the path to the MSI file.

Waited for the usual amount of MS minutes!

And got a message back to say the Language Pack was sucessfully installed.

Went to;
Exchange Management Console...
Organizational Configuration....
Unified Messaging.....
UM Dial Plan....
Right Click the relevant Dial Plan and select Properties
Under Settings change Default Language to English (United Kingdom)

Dialled the Exchange box using the very helpful
exchangeumtestphone.exe

And was greeted by a nice English Lady's voice!

JOB DONE!

Also had to change the Default Languages for any of my Auto Attendants.