Injecting Contacts to the OCS Address Book

I had a client ask recently if there was a way to insert federated contacts into their own internal address book. This would work out well for organizations where there would maybe be a few high-profile users who are frequently added between different companies. I went about trying this today and the answer is that it kind of works.

For sake of this example let's say I'm user A in Company A with an OCS SIP domain of domainA.com and a partner I'm federated with is User B in Company B with an OCS SIP domain of domainB.com. Since the OCS Address Book Service will pick up any user or contact in Active Directory that has the msRTCSIP-PrimaryUserAddress attribute set I went about the following:

  1. Created a contact object for a User B in Company B as you would normally have for a user outside your organization.
  2. Used ADSIEdit and manually populated the attribute with the user@domainB.com value that I knew was reachable and federated through OCS already.
  3. Forced an Address Book Sync.
  4. Removed User B from my Outlook contacts so Communicator wouldn't pick it up.
  5. Deleted the GALContacts.db file.
  6. Restarted Communicator.

I can search the Search field in Communicator and I get the by-letter matching for User B as I would expect for anyone else in my organization. The only downside is I don't receive any presence or information for the user until I actually add them to my contact list. On the other hand, this is the exact same behavior seen when typing any federated contact's name into the Search field. Mission sort of accomplished?

iPhone Profile Files

So earlier today I posted about creating a profile file, but here's what it actually looks like to the end user. I exported mine to a file and then emailed it to myself. Check out the stellar service AT&T was providing me with at the time.

The email with attachment.

photo

Clicking the attachment brings up this screen. Notice I didn't sign my profile with a certificate.

photo

Clicking the More Details button gives me, well, more details.

photo

And to reinforce the fact that I didn't sign my cert (or that it can't be validated up to a trusted root certificate) the iPhone issues me this warning.

photo

And because I'm like anyone else I just press Install Now and continue on. A few seconds later the Wi-Fi icon popped up on my phone and I could see I had been connected to the network provided in the profile. All is groovy.

photo

iPhone Configuration Utility Wi-Fi Passwords

My last post was really more of a lead in to this one. As I was putzing around with the configuration utility I was surprised that the Wi-Fi tab doesn't allow you to actually enter a password for a WEP or WPA/WPA2 network, which is arguably the most useful part of being able to provision a profile for wireless settings.

What I found was that although there is no password field in the GUI you can still include it with the profile by manually editing the file. The profile file that gets created is nothing more than an XML file so open it up with your favorite editor (I used Wordpad because Notepad had a tough time with the line breaks). Now somewhere between the <dict> and </dict> tags that contain the PayloadContent you need to add two more nodes:

<key>Password</key>
<string>(your wireless key)</string>

I added mine directly below the SSID_STR key and string for the wireless network name. If you have multiple Wi-Fi networks you'll see a separate <dict></dict> structure for each so just make sure you put the passwords in the right spot. Now just save the file and either email or post it on a website for users to download. All they'll need to is click install to have the Wi-Fi network automatically added to their phone.