Things hard and not so hard.... RSS 2.0

Folks - my blog has moved to

# Sunday, 27 September 2009

Well folks after my last tutorial, Finally Connected OCS to Trixbox I’m getting more and more questions about the OCS side of things…so I thought I’d expand on our OCS 2007 R2 side of the setup.

So the internal setup looks a little like this:


So here our IP:Z = which makes sense when looking at the OCS machines from Trixbox as follows:


Note the or IP:Z in the hosts list here from Trixbox. In short – as far as OCS is concerned when Chatterphone gets a request (from either internal or external) it *has* to have all the knowledge to work out where to route the call.

So don’t forget that OCS embeds a VOIP phone details into User Accounts within AD – viewing the user class object will give you the right details. I wrote a webservice that will display the user’s phone numbers etc.

I also wrote a quick WebService to pull out phone and sip address details from AD from a search string. So if you supply part of a phone number, it gives you the users, and if you have a sip address, it give you the phone number. (I was going to use it for a lookup from Trixbox cause from OCS Communicator, I couldn’t get the invite another person to the conf call via phone working – it was sending an invalid CallerID out to our PSTN provider)

Download File - OcsHelperService

(source code included – as is, for a guide :)

Example calls:
I’ve installed it onto a site called ‘’ and you can run it as follows:

  1. Lookup a Phone Number from SIP Address
    1. http://<webServer>/OcsHelperService/Lookup.svc/Process?action=getphone&caller=<sip address – minus ‘ sip:’> e.g.
  2. image
  3. Lookup a SIP Address from a Phone Number
    1. http://<webServer>OcsHelperService/Lookup.svc/Process?action=getaddr&caller=<start of a user’s voip number>
  4. image

Let’s start

Learning – What in the World is OCS doing?

Setup meaningful logging to try and work out what Trixbox<->OCS is doing = MediationServer

  1. From the OCS Management Tool – setup a New Debug Session
  2. image
  3. From the OCS 2007 R2 Logging Tool – log S4 and the Mediation Server settings.
  4. image
  5. Then click Start Logging and you should be on your way to recording what OCS is doing in response to Trixbox. This helps you find out *exactly* what OCS is responding with. Calls, “No Service" etc.
  6. Go through and run through a test session of what you’re wanting to try out. e.g. incoming call or outgoing call.
  7. Click Stop Logging and click Analyze Log Files
  8. image
  9. The OCS 2007 R2 SDK tool – snooper should come to the rescue here and display a detailed log of what happened. Colour coded and see what what going on.
  10. Here’s a sample for an outgoing call:
  11. image
  12. What’s more interesting is an incoming call:
  13. In this particular call – I rang my OCS number and hung up after 2 rings. The conversation is pretty detailed in terms of what you see with SIP. i.e. Seeing this is the MediationServer there should be something like SIP INVITE->Trixbox->SIP INVITE->OCS Mediation (Chatterphone)->OCS Server.
    You’ll notice these packets are like IP4 routing packets, with headers possibly changing, but you should be able to make out your dialled number in there.
    1. image

This is your handy weapon for OCS land – if communication isn’t getting through, then check all the IP details.

Incoming calls to OCS

  1. Users are generally identified as +<country code><area code><number>
  2. If when making an External Call in, make sure in the above logs the number coming in is in the right format. i.e. +612………
  3. What does a User Look Like
    1. Firstly they belong to a Location (the Location Name also has implications within ExchangeUM if you use it for Voice Mail), looking at the location code I just have it stock standard as follows:
    2. image
    3. Finally let’s look at what a user like myself looks like from the OCS Admin Tool. (In my case Enterprise Pools->BreezePool1->Users)
    4. image

Hopefully this has helped a little more in working out what is going on in your OCS world(s).

Between the logging here and the ‘Asterisk –r’ option in a console app on Trixbox, you should be getting a better picture. Because many setups can be very different, looking down here at the ‘packet’ level is really the only way to go in resolving these.

(Another handy option is to turn on Event Logging in OCS Communicator, which gives some great info from a client perspective as well :)

Good luck. :-)


Sunday, 27 September 2009 21:15:46 (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
# Friday, 25 September 2009

I woke up on Wednesday morning to a thick soup blanket of red.

No buildings, no cliffs, no grass…just Red. (We’d been teleported to Mars I thought)

Pretty amazing stuff, here’s some piccies that capture the moment :)


Friday, 25 September 2009 06:20:26 (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
# Tuesday, 22 September 2009

I thought I’d share a few interesting SAP tales.

I’ve been working on a project lately of integrating with not 1 SAP Server, but 2 and the 2nd one is across the seas accessible via a SAP Router (which is similar to Proxy Servers for the internet). I’ve got to thank Rohit Singh (MS) and his team for some great feedback, as well as Scotty and Kent Weare whom were helping me to nut out where half these settings go.

Specifically I needed BTS to be a ‘remote RFC server’ for the two SAP Servers.

What does a Router string look like I hear you ask - “/H/devapp1/S/3300/H/acmesaprouter.acme/S/3300/H/sapdb01.acme”. Something like that, and the user’s type this into the SAP Client UI to connect…my chances of being able to ‘stick’ this somewhere in the BizTalk world was diminishing.

So I had to get my BizTalk box to talk through the ‘SAP Router’ out with the right credentials to another SAP Server 1200KMs away…”good luck” little adapter I thought. ("good luck” Mick I though too)

Here’s the low down:

  1. Use a saprfc.ini file – scarce documentation, but do able.
  2. Set a RFC_INI System Environment variable.
  3. Turn on Rfc Tracing
  4. Get on well with the SAP teams.
  5. Get on well with the SAP teams…oh I mentioned that one already.

Here’s how you do it – after you’ve installed and setup the prereqs for the SAP Adapter (don’t forget to add the SAP Adapter property schema to BizTalk)

Starting out:

- I jumped in and used the 'Consume Service Adapter' Wizard to work out connection details and look at the IDOCs schemas.

The problem is - as time goes by, you want to see debugging and other details to tweak as trying to establish a connection. The Receive Location (WCF-Custom, sapBinding) SAP URI get's horribly long.


I was happy to put up with this when I got the first connection to the SAP Server1 (local).


This *didn't* work for SAP Server2(remote) - trust me, it's a square peg in a round hole.


Using SAPRFC.INI :(generally the MS Docs will get you started, but I found they had incomplete settings so I had to go elsewhere - a Siebel->SAP 2001 document served the purpose)

  1. Create a System Environment Variable called RFC_INI  and point it to where you want your saprfc.ini file to live.
    e.g. SET RFC_INI=d:\BizTalk_Dev\SAP\saprfc.ini
    (the MS documentation doesn't say *exactly* where to put the saprfc.ini - I tried it in the bts folder, windir...many places)
  2. Set the Receive Location to use the saprfc.ini - e.g. sap://client=110;lang=en;@D/SAPSERVER?LISTENERDEST=BTS_INBOUND&RfcTraceSdk=true
  3. Using the SAPRFC.INI file

Sample SAPRFC.INI - for local SAP connection


PROGID=BizTalkDev_Inbound  (<-- this is allocated from SAP)

Connecting to a SAP Server via a SAP Router String - sample saprfc.ini
e.g. router string -/H/devapp1/S/3300/H/acmesaprouter.acme/S/3300/H/sapdb01.acme

ListenerURI (BTS Receive Location) = sap://client=110;lang=en;@D/ACMESAP?LISTENERDEST=ACMESAP_INBOUND&RfcTraceSdk=true






HTH folks and saves you guys some time - :)

Tuesday, 22 September 2009 21:42:18 (AUS Eastern Standard Time, UTC+10:00)  #    Comments [2] -
2009 | BizTalk Adapter Pack | SAP
# Sunday, 20 September 2009

Hi folks, came across a great article that talks about WebServices(WCF Services) and Security.

The most common starting point in improving security, is to use TLS (Transport Layer Security of which SSL is a subset). I once spent 9 months working out digital signatures and passing several documents through out of band of envelopes…long story.

There’s a whole bunch of How-To’s also – very good!

With over 26000 downloads since August 1, I think this is a much needed area.
Well done guys – big congrats for your efforts.

Enjoy -

---- snip ----

SecurityLogo.jpg patterns & practices Improving Web Services Security - Now Released

Welcome to the patterns & practices Improving Web Services Security: Scenarios and Implementation Guidance for WCF project site! This guide shows you how to make the most of WCF (Windows Communication Foundation). With end-to-end application scenarios, it shows you how to design and implement authentication and authorization in WCF. Learn how to improve the security of your WCF services through prescriptive guidance including guidelines, Q&A, practices at a glance, and step-by-step how tos. It's a collaborative effort between patterns & practices, WCF team members, and industry experts. This guide is related to our WCF Security Guidance Project.
Part I, "Security Fundamentals for Web Services"
Part II, "Fundamentals of WCF Security"
Part III, "Intranet Application Scenarios"
Part IV, "Internet Application Scenarios"
Part I, Security Fundamentals for Web Services
Part II, Fundamentals of WCF Security
Part III - Intranet Application Scenarios
Part IV - Internet Application Scenarios

Sunday, 20 September 2009 12:28:13 (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
BizTalk | 2009 | Insights
# Saturday, 19 September 2009

Like me you may have received this lately – it was all working before (and especially on the developers machine :-) .

It turns out the VS2008 loves to update a registry key post installation, any sort of new VS.NET version, e.g. VS.NET Test tools etc, will overwrite this key.

BTS specific information is wiped away…..fortunately we set the registry key back as follows:
(x86 and x64 scenarios)


"PossibleProjectExtensions"="csproj"   - Original VS install reg value. "PossibleProjectExtensions"="csproj;btproj" - Post Biztalk installation reg value

Saturday, 19 September 2009 08:58:53 (AUS Eastern Standard Time, UTC+10:00)  #    Comments [2] -
# Friday, 11 September 2009

Hi guys, thought I’d let you know about the rfid operations guide Microsoft recently released.

Covers things like HA, RFID Mobile and best practices… yours truly was one of the authors so I’m happy to take any feedback you’ve got.

Enjoy – here’s a snippet of what to expect.

Welcome to the first edition of the Microsoft® BizTalk® Server RFID Operations Guide. We created this guide to be a valuable resource for anyone involved in the implementation and administration of a BizTalk Server RFID solution.

To download a copy of this guide in .chm or .docx form, go to

  Which Versions of BizTalk Server RFID Does the Guide Cover?

This guide is primarily for the BizTalk Server RFID product that is released as part of Microsoft BizTalk Server 2009. Even though most of the guidance applies to BizTalk Server RFID that was released as part of BizTalk Server 2006 R2, the guide uses the new platform changes wherever applicable.

  What’s in It?

This document applies to the operational readiness phase in the solution life cycle management of the project. The operational readiness phase precedes deployment to production. It consists of a set of tasks for ensuring a stable operating environment. It is targeted toward system administrators responsible for BizTalk Server RFID (server computers and RFID devices), DBAs responsible for the SQL servers used by BizTalk Server RFID, and developers involved with maintaining the infrastructure and solution. This document assumes that the BizTalk Server RFID solution has already been validated in a Pilot stage and is prepared for deployment to production.

Key portions of this guide are new; however, a considerable portion consists of documentation taken from BizTalk Server RFID Help, white papers, Knowledge Base articles, and other sources. It has been reviewed and evaluated by experts from the community of BizTalk Server IT professionals and members of the product development team, whom we gratefully acknowledge at the end of this topic. We believe that the information presented here will help BizTalk Server RFID users solve—and above all, avoid—many of the common problems that can occur while deploying and maintaining a BizTalk Server RFID installation.

  Interesting! Where Do I Start?

We organized the guide according to the functional aspects of planning, deploying, and managing a BizTalk Server RFID installation. You can therefore read it according to these functional aspects. If you are performing the following tasks, you can start with the related sections:

  • Evaluating operational readiness. If you are focused on assessing and evaluating the operational readiness of a BizTalk Server RFID deployment, then start by reading the Operations Checklists section.
  • Becoming operationally ready. To ensure that your BizTalk Server RFID infrastructure and applications become operationally ready, refer to the Planning the Environment for BizTalk Server RFID section.
  • Managing the operational environment. Most of the topics in this operations guide assist you in managing and maintaining an operational BizTalk Server RFID environment. You will find best practices, key concepts, and procedures for maintaining an operational environment in Managing BizTalk Server RFID and Monitoring BizTalk Server RFID.

Author: Rama Ramani (Microsoft)

Editor: Mary Browning (Microsoft)


  • Mark Simms (Microsoft)
  • Rohan Makhija (Microsoft)
  • Ravi Vankamamidi (S3Edge)
  • Clint Tennill (Xterprise)
  • Damir Dobric, Andreas Erben (daenet)
  • Mick Badran (Breeze, BizTalk Server MVP)


  • Petr Kratochvil (Microsoft)
  • Ewan Fairweather (Microsoft)
  • Quoc Bui (Microsoft)
  • Douglas Trimble (The Boeing Company)
  • Robert Auston (Vail Resorts Management Company)
  • Luke Rennells (Bank of America N.A.)

Microsoft BizTalk Server 2009 RFID Operations Guide

Friday, 11 September 2009 21:56:50 (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
2009 | RFID | Tips | Training

At Teched this year I thought I’d catch up on a couple of exams…always lots to do (still didn’t do all of them) but I discovered a little tool on the MCP site – logo builder.
(I’m sure it’s been there for years :)


Notice the different colours – don’t know how that happened, but maybe I’ll plaster them up next to my ‘learn to swim’ and ‘tread water for 2mins’ certs.

Have a great weekend all – and hopefully see you sometime soon.


Friday, 11 September 2009 21:41:23 (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
# Thursday, 10 September 2009

Last night we had an exam cram, where keen and interested delegates bunkered down and got their neurons firing.

I went through this exam with them giving them tips and sharing my general SharePoint knowledge around this.

Today – the good news was that I passed three delegates whom took the exam *today* and all passed!!! Well done guys!

Here’s the ppt deck that I used – enjoy and well done all!

70-630 MCTS- Microsoft Office SharePoint Server 2007- Mick Badran

Thursday, 10 September 2009 23:12:42 (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
Events | TechEd | 2009 | Training

We’re in the thick of TechEd 2009 here in Australia on the Gold Coast (tough place to have a conference ;) Sun, sand and a beach that stretches for miles 1 block away)

Big thanks to those of you that attended my session – great turn out and all my demos worked like a charm…that doesn’t happen every day :)

Here’s the powerpoints and demo files:

SOA314 BizTalk RFID Mobile - Mick Badran

PowerPoints  -

Thursday, 10 September 2009 22:50:01 (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
2009 | RFID | Events | TechEd | 2009
# Friday, 04 September 2009

Great to see some public information surfacing around SharePoint 2010 and development.

To get started (if you’re not already) here’s the SDK with a CHM file and PDF/XPS on “how to customise the ribbon”.

Doing a little digging in the CHM file, you can see (below) all the different Content categories with some special areas to note:

  1. There appears to be a Visio Server – I guess like InfoPath + Excel Services as they currently stand in 2007.
  2. AJAX + JSON seem to make an appearance at the foundational core – yay! less page reloads.
  3. WCF Services used (*.SVC) as expected and simplified. Also it appears that BDC systems are accessible via a SharePoint custom WCF Binding, making it possible to work on BDC based data from various applications within SharePoint. SharePoint might become the hub ‘repository’ for this sort of information.

Bear in mind *alot* of this information is ‘subject’ to change.

Certainly going fwd it should be very exciting to see what actually ships and whether some of the immediate constraints are dealt with.

Looks like we’re up for another Ribbon experience in this Version of SharePoint from within the Browser.


Friday, 04 September 2009 00:54:21 (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
.NET Developer | MOSS | Office | Deployment | 2010
# Tuesday, 25 August 2009

Folks I recently came across this site on codeplex -

Where a hard working Danny(not sure of further details) has created a send and receive adapter for the cloud.

The adapter surface and publish the required information into the cloud so for e.g. your endpoints show up publically in the .NET Servicebus domain – we can do this through the apis, but it’s nice to have them all wrapped up.

There’s even some great piccys as well (just over look the ‘Microsoft Confidential’ at the bottom :-| - I did ping him over this.)

BizTalk Adapter for Live Framework.jpgBizTalk Adapter for .NET Services.jpg

The adapters are WCF based adapters, meaning they will run in or outside of BizTalk using the .NET LOB Adapter SDK Framework.

As a Plan B to this – you can always use a Custom WCF Adapter with the basicHttpRelayBinding or netTcpRelayBinding to punch through to the cloud.

I reckon this will be a very exciting area going forward…keep your eyes peeled.

Go and grab the bits and start playing… :)

Tuesday, 25 August 2009 11:06:07 (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
Azure | BizTalk | 2009 | BizTalk Adapter Pack
<2009 September>
 AppFabric CAT
AppFabric Windows Server Customer Advisory Team - New Blog.
[Feed] BizTalk 2006 - Windows SharePoint Services adapter
BizTalk 2006 Sharepoint adapter!!
 Breeze SharePoint 2010 Bootcamp
Breeze SharePoint 2010 Bootcamp
[Feed] BTS 2006 R2/EDI
[Feed] Chris Vidotto (MS BTS Legend)
Needs no intro....
 Mark Daunt
About the author/Disclaimer

The opinions expressed herein are my own personal opinions and do not represent my employer's view in any way.

© Copyright 2017
Sign In
Total Posts: 608
This Year: 0
This Month: 0
This Week: 0
Comments: 270
All Content © 2017, Breeze