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

Folks - my blog has moved to

# 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
# Tuesday, 11 August 2009

A handy couple of articles that have been updated for Biztalk 2009, full article attached at the bottom.




Tuesday, 11 August 2009 12:18:30 (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
BizTalk | 2009 | BizTalk Adapter Pack
# Saturday, 01 August 2009

I’ve been through many integration projects and I think now I’ve found a product more complicated than BizTalk.

For the last 6 weeks internally we’ve been ‘rolling out’ (more like dragging through the mud) an OCS/UM setup – it now finally works!!!! (Inbound/outbound and UM Voicemail).

OCS – goes from 1 sever to 3!

In this post I’ll aim to take you through linking a working OCS system to a Trixbox connected to MyNetFone (SIP Trunk provider). After countless weeks, forum posts and beyond weird error messages – I’ll simplify it for you.

Me – no OCS, SIP, Trunk, Asterisk expert – great developer, can look at network packets if I *really* have to.

I’m assuming you have OCS setup for IM and A/V between Communicator clients. The OCS Mediation Server is where we are going to focus a little bit also.

Ok – what I wanted to do…this sounds simple.

The Aim:

  1. OCS (Mediation Server) connecting to my Virtual PBX ‘PSTN’ so phone calls can go inbound and outbound.
  2. Create SIP Trunk ‘connection’ to our SIP Trunk ‘provider’ – in our case MyNetFone.
    SIP Trunks are similar to regular VOIP Accts, but a trunk allows you to have multiple voip numbers running over it. Similar to Proxy Servers for ‘http’ connections.

    Generally speaking the SIP Trunks going externally need some form of authentication with the external SIP Trunk provider. This can come in many forms from username/pass, to special ‘secrets’ being passed in certain packets.

    This took me some time to get right.
  3. Each user will be assigned a phone number (from the SIP Trunk) and all devices/phones/users will be managed by OCS.

The Problem(s):

  1. OCS talks SIP/TCP and ‘the rest of the world’ talks SIP/UDP. Some translator is needed here – raging debates about this, but essentially we’re dealing with the last 40 odd years of the evolution of telephony systems.

    In short – get Trixbox 2.8… based on Asterisk 1.6 this DOES the translation.
    (Trixbox performs a huge array of functions, but with OCS in place we really need it only to do about 5% of it’s feature set – hence alot of the menu items we needed worry about)
  2. The bits you’ll need before you start:
    1. IP:X = IP address of your Mediation Server (if your server has multiple IP Addresses select the IP Addr that will be sending out (eventually) your Trixbox
    2. IP:Y = IP address of your new Trixbox Server (to install)
    3. External SIP Trunk Details (or VOIP acct details)
    4. OCS 2007 R2 Resource Kit Tools installed on the Mediation Server -
      - great log analyser tool called snooper.exe
    5. Putty.exe – this allows you to ‘rdp’ onto your new Trixbox (as this is a linux box)

  3. Plan of Attack – what I’ll walk you through below.
    1. Installing Trixbox – taking a fresh install and configuring.
    2. Turning on SIP/TCP support in Asterisk 1.6
    3. Creating 2 SIP Trunks in Asterisk 1.6
    4. Configuring the Next Hop Properties in OCS Mediation Server
    5. Check the Settings in the Asterisk World.
    6. Creating the Routing between the 2 Trunks by editing the Extensions_Custom.conf file.
    7. Sample successful outputs.

  4. Installing Trixbox
    This piece is pretty simple – for our test case I installed this onto a Virtual Machine (in practice it’s generally advisable to install this on a physical machine, as the trixbox needs to use codecs and encode/decode which a typically time dependent)

    It’s an ISO so install it as you would any other ISO – it in a unix box but don’t be nervous, the Trixbox guys have put a great web interface over alot of the underlying stuff.

    Important to note:
    Seeing Trixbox is open source and is based on another product called ‘Asterisk’, which in turn has components such as FreePBX and others, sometimes reference material for FreePBX may be applicable to your Trixbox.

    NOTE: I called my trixbox = xlator

    Installation Complete:
    Once initial installation is complete (if installing to a VHD the size is around 6GB), you should be able to go a browser and do:

    (at some point you’ll probably want to change your ‘root’ password and also a user called ‘maint’ which is used in the webinterface to perform admin tasks)

    http://xlator (the default install will also setup https://xlator for you)

    As shown, we’re interested in switching to ‘maintenance mode’ clicking switch in the top left hand corner.
  5. Configuring the Trixbox environment
    1. As I mentioned earlier, we’ll only use about 5% of what Trixbox does. There’s some really key areas to make sure are setup and I’ll show you what they are.
    2. Turning on SIP/TCP capabilities for Asterisk
      Currently this isn’t a web interface checkbox, we need to modify a file called sip_general_custom.conf found in the /etc/asterisk directory.
      (the web interface has web config editor which we’ll use later with so many config files we can edit, *unfortunately* SIP.CONF isn’t one of them.
      1. Fire up Putty.exe (from your windows client) and type the address of your Trixbox in
      2. image and hit OK, (you may be asked to OK a Security Token with the remote machine – part of SSH, just OK that)
      3. Login with root and the password you setup during the install. (welcome to the world of command lines – brings back the uni days, grep, ls, chmod…. gee how I missed it)
      4. cd to the /etc/asterisk directory as follows
      5. Type nano sip_general_custom.conf and add the following lines:
      6. image
        Press Ctrl-X then Y then press return to complete the save (pretty simple here really)
      7. Type cd /root to return back to your home directory.
      8. Listen to Asterisk with the Command Line Interface. This is sort of the interactive debugger in Asterisk.

        type asterisk –r

        this will show you what asterisk is doing when it receives calls and trys to dial them out.

        sip set debug on – lets you see what’s happening with SIP packets.
        sip set debug off – turns if off.

        *** VERY VERY HANDY when trying to establish connectivity ***

      9. (another folder of interest is the LOGS directory /var/log/asterisk – handy to keep in mind, but the web interface lets you see the logs)
    3. Add your OCS ‘Connection’ or SIP TRUNK
      1. From the Admin Web Interface select PBX Settings (this and PBX Status are the 2 main areas we’ll go into)
      2. On the next page under Basic (on the LHS Menu) select Trunks
      3. Select Add Trunk –> Sip Trunk and fill in as follows:
      4. Leave everything blank or default except for the following sections:
      5. image
      6. Key information above:
        1. Trunk Name – Connect-with-OCS. This name is used later to basically ‘route’ incoming calls from our ‘external’ SIP trunk to internal. (you can call it your own name if you like – just keep things simple)
        2. context=from-Super-OCS. In all my troubles, contexts in Asterisk are the solution. This I set so that it won’t conflict with any other ‘system’ contexts (e.g. from-pstn, from-internal).

          When a call is received via the trunk, in our case from OCS mediation server sending out, Asterisk will associate a context with it (if not, you’ll get ‘received number from an unknown peer’)

          The key here is that we will create a section in a config file that will allow us to define *exactly* what happens around this context. (this piece took another week)
        3. host= – this should be the IP Address of YOUR MEDIATION server. Asterisk will use the IP address of the incoming SIP request to try and associate it to a context, without this entry, your request will come from unknown.

        4. Inbound/Outbound – inbound messages are messages received at Trixbox FROM OCS. Outbound Messages are messages send to OCS FROM Asterisk. They are then given a context and any other details needed.
      7. Save the above configuration by going to the bottom of the page and clicking Submit Changes.
      8. You should have your first Trunk (don’t apply changes yet, we’re creating another Trunk)
      9. image
        Notice these names above (I’ve got the 2nd one added too, you’ll have 1 at this point)

        Later we will ‘Dial’ calls out to these trunks with syntax like:
        Dial(SIP/<the number/extension>@Connect-with-OCS)

        (took me 2 days to find that gem)

    4. Creating your External Trunk – MyNetFone (in my case)
      This is where alot of the magic happens for the REGISTER SIP packets – if you have trouble with your external provider, sit with SIP SET DEBUG ON in the ‘asterisk –r’ interface in the PUTTY app to try and make heads or tails of it.

      Also you can see failures in the logs and your SIP Trunk won’t be registered in the PBX Status screen.
      1. Click on Add Trunk –> SIP Trunk
      2. Fill it in as follows (for MyNetFone) (took me a bit of trial and error)
        1. General Settings
          1. Outbound CallerID: "61555555555" <sip:61555555555@<your public IP>

            the 6155… number *should* be replaced with your own number allocated to your TRUNK.

            Your public IP is potentially NAT-ed from your Trixbox to the outside world. The web admin will show you your Public IP in the Top RH Corner.
          2. Never Override CallerID=checked
            (I’m currently still playing with this setting, but this works for now)
        2. Rest defaults until
        3. Outgoing Settings
          1. Trunk Name=MyNetFone (important to remember your name)
          2. PEER DETAILS


            1. Note the context=from-MyNetFone which is one of the most important things here.

              Also the ‘canreinvite=true’

              Note: 61555555555= should be replaced with <your user name or phone number>
            2. In honesty this section took me about a week to work out – nat on, off?? tweaks here and there. You’ll see other posts that include ‘secret=…’.
              My setup didn’t require this.
          3. Incoming Settings
            1. User Context=from-MyNetFone
            2. USER DETAILS



              Note: 61555555555= should be replaced with <your user name or phone number>

          4. Registration
            1. Register String =

        4. Click Submit Changes to save your work.
        5. Click Apply Changes to apply changes
        6. image
        7. You may get a warning – continue with Reload.
    5. Well done – at this point we’ve setup 2 trunks and we now need to ‘route’ calls between the two.

      Trawling the forums, if you set the context to from-internal any call received on the Trunk, Asterisk will examine all other trunks for a possible match. Let’s not confuse the issue right now :)
    6. Let’s Config OCS Mediation at this point – we can really do this any time, but the screen shots I’m showing you shortly will have OCS Mediation plugged in. So let’s do it.
      1. Jump onto your OCS Mediation Server and open up the OCS Server Admin tool as follows:
      2. image
      3. Points to Note here: we’re interested in the next hop settings.
      4. Right Click on your Mediation Server and select Properties.
      5. Configure as follows:
      6. Under PSTN Gateway next hop – the address: xlator
        (you should have internal DNS resolution to your trixbox)
      7. Click OK and restart the Mediation Service (right click on the server and select stop, then start)
      8. Let’s flick back to the Web Admin of the Trixbox to see how things are going.
    7. Check that all things are setup and working – mainly your Registrations.
      1. The Web Admin in Trixbox gives a detailed view of what’s going on, also your Putty.exe session should be chatting away nicely – what it means, is another story!
      2. From the Web Admin –> PBX –> PBX Status to see something like…
      3. image 
        The Key areas that you need to keep an eye on are:
        1. SIP Peers – make sure that under Hosts there are no Unknown(s), as call routing won’t work the way I’ve outlined.
        2. Our connection with OCS doesn’t need to be registered.
        3. Our External Registration *should* be Registered by now – if not, go back to your trunk and configure the Outbound Settings and the Register String at the bottom of that page. ** DON’T MOVE ON UNTIL THIS IS COMPLETE **
      4. If you’ve set your dialing rules up in OCS on the Mediation Side, you should be able to dial a number and see activity in the Trixbox logs and in your Putty Terminal.
      5. Almost there…..

    8. Setting up Call Routing between our two worlds.
      At this point we could setup a bunch of extensions, inbound routes, outbound routes etc – and I did do that the first time through (10 users, 10 numbers, inbound routes etc etc – just pain).

      I thought there’s got to be a better way and here something that took 1 week to figure out – Trixbox forums are a great place to start with all of this, but they tend to be focused around building Trixbox out as the ‘OCS equivalent’, setting up receptionists, etc etc. I found I was spinning my wheels alot here, make a tweak, doesn’t work, read the forum, make another change, go back and redo a change etc.

      Here’s the simplest solution I’ve found: (for the code syntax – this was a great place to start)
      1. From the Web Admin select PBX –> Config File Editor and select extensions_custom.conf
      2. image
        (you will have to scroll down this list, but it’s there)
      3. Scroll to the bottom of this file until you find the line
        #include extensions-away-status.conf
      4. Insert this code above that line.
        1. Setup OCS/Communicator clients Dialling OUT

            exten => _X.,1,Answer
            exten => _X.,2,Dial(SIP/${EXTEN}@MyNetFone,,tr)

          1. What does this do??? yeah good question…had to ask myself that as well.

            Ok – hopefully you recognise the from-Super-OCS text in []. Remember from our OCS Trunk, anything that Asterisk/Trixbox receives FROM OCS via that Trunk was associated with this Context.

            So what we’re saying here is that “If you have a message from from-Super-OCS do the following steps”
            1. exten => _X.,1,Answer

              exten = something to do with when Asterisk goes searching for the right extension that matches the one that it has been given.

              _X. = saw this on a few other config files, it’s part of a dialing plan, X=any digit, . = any number of following digits.

              This will match *all* numbers dialled.

              _ = no idea (maybe some pattern match)

              ,1 = believe it or not, this is how we say “run me 1st”

              Answer = predefined function or application that will pickup the call. We can then work out what to do with the call.
            2. exten => _X.,2,Dial(SIP/${EXTEN}@MyNetFone,,tr)

              _X. = match all numbers.

              ,2 = run me 2nd

              Dial(SIP/${EXTEN}@MyNetFone,,tr) = here we’re dialling a SIP trunk – called SIP/MyNetFone. Later if you look at your SIP TRUNKS page, you’ll see your Trunks listed this way.

              What I wanted was SIP/<number to dial>@<outgoing trunk name>

              ${EXTEN} = variable that holds the ‘extension’ dialled from the communicator client. This is the phone number.

              NOTE: sometimes parties at the other end of the trunk want a certain dial prefix e.g. +61…
              you could use something like:

              The '+61’ & ${EXTEN} get appended together in the above line.

              ,,tr = something to do with allowing the calls to be transferred.

              I originally didn’t have this, and my inbound calls to OCS worked, then when I tried to transfer them the Exchange UM Voicemail, they hung up.

              I added this in for inbound and Exchange Voicemail worked, so I figured it can’t hurt for outgoing.

              How fiddley is all this stuff!!!
        2. Setup External Calls Coming to OCS

          According to my OCS Expert buddy Dan, our internal OCS setup is such that all extensions have a +61… appended to them. the ‘+’ in ‘+61’.

          Checking on the ‘asterisk –r’ interface, MyNetFone will pass 02… and not +612…. So I needed to do a little tweaking of these numbers.

          Here’s the result :)
          1. Below the code you’ve added above add this.

            exten => _0X.,1,Set(numDialled=+61${EXTEN:1})   ;get all but the first digit from the Extension dialled.
            exten => _0X.,2,Set(__FROM_DID=${EXTEN})       ;sets a global variable.
            exten => _0X.,3,Answer
            exten => _0X.,4,Dial(SIP/${numDialled}@Connect-with-OCS,,tr)

            exten => _X.,1,Set(numDialled=+61${EXTEN})
            exten => _X.,2,Set(__FROM_DID=${EXTEN})
            exten => _X.,3,Answer
            exten => _X.,4,Dial(SIP/${numDialled}@Connect-with-OCS,,tr)

            Note: firstly from-MyNetFone in the above code, once again this is the context from our corresponding Trunk.

            exten=> _0X.,1,Set(…) = the _0X. here will match all the numbers passed to us from MyNetFone with a ‘0’ at the front.
            e.g. 02… – so I need to strip the ‘0’ off and add +61(0)2…

            Here I created a local variable called ‘numDialled’ to hold the translated number. You can see the ‘+61’ added to ${EXTEN:1}.

            ${EXTEN:1} = give me all numbers except the first.


        3. Your file should look like this now:

            exten => _X.,1,Answer
            exten => _X.,2,Dial(SIP/${EXTEN}@MyNetFone,,tr)

            exten => _0X.,1,Set(numDialled=+61${EXTEN:1})   ;get all but the first digit from the Extension dialled.
            exten => _0X.,2,Set(__FROM_DID=${EXTEN})       ;sets a global variable.
            exten => _0X.,3,Answer
            exten => _0X.,4,Dial(SIP/${numDialled}@Connect-with-OCS,,tr)

            exten => _X.,1,Set(numDialled=+61${EXTEN})
            exten => _X.,2,Set(__FROM_DID=${EXTEN})
            exten => _X.,3,Answer
            exten => _X.,4,Dial(SIP/${numDialled}@Connect-with-OCS)

            #include extensions-away-status.conf

      5. Click on Update to save the file.
      6. Click on ReRead Configs from the top menu. You may need to scroll to the top.
      7. image
      8. You’re Asterisk/Trixbox is ready to go!

    9. What Successful Calls Look like here: (you can get these from your Putty session, running ‘asterisk –r’
      1. OCS client going OUT
        1. image
          I’ve scrubbed the actual number dialled, but you can see where the number appears, the fact we Answer, and then Dial.

          Also where the ‘Contexts’ appear.
      2. Inbound to OCS
        1. image



 In conclusion:

Hopefully this will help unravel the huge mystery on how to connect these systems together. There’s many other ways this can be achieved, and I’d love to say it’s the silver bullet for this, but there’s just so many factors in your solutions.

This should certainly get you a large step down that path.

Good luck.


Saturday, 01 August 2009 00:55:26 (AUS Eastern Standard Time, UTC+10:00)  #    Comments [3] -
# Monday, 27 July 2009

It’s the must have guide to setup a successful BizTalk based operating environment.


Monday, 27 July 2009 15:00:22 (AUS Eastern Standard Time, UTC+10:00)  #    Comments [1] -
BizTalk | 2009
# Thursday, 23 July 2009

Folks if you’re wanting to check out some of the things coming down the pipeline, check out these….

All available from the SharePoint 2010 site



Office 2010 snippets
(finally make calls from Communicator Mobile :)


Thursday, 23 July 2009 15:08:17 (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -

This was being sent around our office today that I thought I’d just have to share with you….


My first thought was ‘photoshop’….but one of the South African born Girls here swears black and blue that this is normal.

Everything about this picture is wrong…at any point the goat could say “forget this…I don’t have the right shoes on”
(he would probably bleat it out to his mates)

Just goes to show….we’re limited only by our own minds…

Thought for “Micks Day”

Thursday, 23 July 2009 14:54:06 (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
General | Tips
# Thursday, 09 July 2009

Hi folks, been a little quiet on the blogging front lately as myself and other BizTalk Industry
experts have been busy creating a Series of Webcasts focused on BizTalk 2009 features.


I came up with this idea 3 months ago and we’re finally almost through the other side – all the guys gave up their own spare time to share their field expertise and knowledge.

The line is great! comprising of MVPs and field experts whom have got runs on the board.

I hope you enjoy the series, there’s a couple that are still to come, but we can’t hold it back any further.

You can see them all here - (Alan Smith has been very kind to offer hosting)
NOTE: not all the webcasts here are part of the Series, most are :) (I’m working on getting a sub-category)




Cloud TV Link


Demo Code

Richard Seroter


Lap Around the ESB Toolkit 2.0



Mick Badran


Integration With SharePoint from BizTalk




Mick Badran


Implementing BizTalk RFID Mobile Solutions

RFID Mobile

RFID Mobile


Kent Weare


Creating a Highly Available BTS 09 Environment

BizTalk HA

BizTalk HA


Kent Weare


All you need to know about the SAP Adapter

SAP Adapter

SAP Adapter


Alan Smith


Improving BizTalk Orchestration Performance

Improving Performance


Alan Smith


BAM Essentials Part 1 - Activities

BAM Activities


Alan Smith


BAM Essentials Part 2 - Views

BAM Views


Thiago Almeida


All you need to know about the SQL Adapter

SQL Adapter

SQL Adapter


Miguel Herrera

Field Expert

All you need to know about the Oracle Adapter

SQL Adapter(direct link)

Oracle Adapter  

Mark Brimble

Field Expert

HL7 Revisited, a look at the HL7 accelerator

HL7 Accelerator
Direct Link

HL7 Accelerator


Zeeshan Shan

Field Expert

BizTalk…Creating Value in the Developer World

(coming soon)


Mike Stephenson


ALM Part1 – All about Tesing

ALM Testing
Direct Link

ALM - Testing


Mike Stephenson


ALM Part2 – Implementing an Automated Build Process with BizTalk Server 2009 including the build server and continuous integration together

ALM - Build and Integrate
Direct Link

ALM - Build and Integrate


Scott Scovell

Microsoft Virtual TS

Implementing BizTalk RFID Solutions

BizTalk RFID
Direct Link

BizTalk RFID


Scott Scovell

Microsoft Virtual TS

EDI teaching the old dog new tricks with BTS 2009

BizTalk EDI
Direct Link

BizTalk EDI Powerpoints

Thursday, 09 July 2009 09:30:00 (AUS Eastern Standard Time, UTC+10:00)  #    Comments [9] -
2009 | Light and Easy Webcasts
# Thursday, 02 July 2009

He lives in NZ…he loves Auckland and he successfully got married last year…

Ready to take on the world – I want to congratulate one of the hardest working BTS experts I know…

He puts in a tremendous effort for the local community and is always ready for new ideas.

Well done mate and a big congrats from this Aussie!!!

Thiago Almeida – BizTalk MVP!!!!!

Thursday, 02 July 2009 16:57:19 (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
BizTalk | 2009
<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