This is going to be more of a stream of thought than a specific guide.  There are a lot of moving parts in this and no one seems to have the whole answer.  So, here’s what I’ve been working around so far.

Of course, you must have a tenant set up in Office365.  It must have Azure AD Connect, or whatever they’re deciding to call it these days, functioning correctly.  There’s plenty of resources for getting that far, so I won’t rehash that.

Many of the commands are run in the Lync PowerShell on the FE.

“Get-CsHostingProvider” should look like this:

Identity : LyncOnline
Name : LyncOnline
ProxyFqdn : sipfed.online.lync.com
VerificationLevel : UseSourceVerification
Enabled : True
EnabledSharedAddressSpace : True
HostsOCSUsers : True
IsLocal : False
AutodiscoverUrl : https://webdir.online.lync.com/Autodiscover/Autodis
coverService.svc/root

The syntax is:  Set-CsHostingProvider -Identity “LyncOnline” -VerificationLevel UseSourceVerification -HostsOCSUsers $True -EnabledSharedAddressSpace $True -AutodiscoverUrl https://webdir.online.lync.com/Autodiscover/AutodiscoverService.svc/root

 

Download the SkypeOnlinePowershell.exe.  I’m not going to link to it because Microsoft likes to change locations. Install that on the same Lync FE.
Then, in the Windows Powershell:

Import-Module SkypeOnlineConnector
$cred = Get-Credential
$CSSession = New-CsOnlineSession -Credential $cred -OverrideAdminDomain “yourcompany.onmicrosoft.com”
Import-PSSession $CSSession -AllowClobber
Get-Service “msoidsvc”
Set-CsTenantFederationConfiguration -SharedSipAddressSpace $true

msoidcli is another download from Microsoft.  That and the SkypeOnlinePowershell are plugins to enable functionality.  You’ll probably need them.

You then need to move a pilot user to the online system.  The command is:  Move-CsUser -Identity user@sipdomain.com -Target sipfed.online.lync.com -Credential $creds -HostedMigrationOverrideUrl https://adminXX.online.lync.com/HostedMigration/hostedmigrationservice.svc -DomainController dc-internal-name.local

The adminXX url needs to be grabbed from your S4B online admin portal.  It’s just that part of the url that you see when you’re in the S4B dashboard.  The identity is the test user you want to migrate.  I ran into a lot of trouble getting this to work.  I had to figure out the above commands and then I had to wait for the SharedSipAddressSpace to take affect.  It was not immediate.

At the moment I’m still not able to route calls properly, but the user is showing up in the online S4B admin interface as being migrated.  Lync also shows the user being in LyncOnline.  I’ll edit this post as I make progress.

I’ve been trying to get a 7945 with SIP to work with Asterisk and it just doesn’t want to register. Turns out the SIP load of 9.2.1 is broken, at least for asterisk. I’ve reverted to 8.5.4 and it seems to be working now.

I figured this out by downloading the log from the phone, finding : Error: cc_cfg_table is null and googling for that. No one comes right out and says it’s broken but everyone having problems is running a 9.x version.

Everything’s working great so far with a few exceptions I can live with. I have 5 VM’s running, mostly lightweight stuff, including my security camera system. For that I’m using Win XP and feeding the PV-149 CCTV capture card through via VT-d. Video streaming from BlueIris is working just fine and I also have PIAF running all of the phones, PFSense as a server on a stick running DHCP and DNS forwarding and the VMWare mobile appliance so I can watch it on my iPad.

I’ve started to install SageTV but it’s not done yet. So far everything’s got plenty of pep. No quality problems with PIAF so far either.

Speaking of PIAF, the years old post about SIP trunking between Asterisk and a Cisco 1760 that has gotten so much attention, yeah, that’s old school now! I just converted to a Linksys SPA3102 for my PSTN connectivity and it’s working perfectly. I think it might forward calls through a little more quickly too. The 1760 developed a bad fan and I couldn’t see spending money on it. I’ll probably try to ebay it.

Finally, I’m thinking about passing through the USB bus for SageTV to take advantage of the improved throughput but I believe I’ll need to be careful not to allocate the same bus that has the keyboard (KVM) on it. More later…

Got PIAF purple installed and patched over the weekend. Setting up two of the 1535s to register and do video calling was pretty trivial. There’s a little bit of lag in the video but it’s not too bad. I also called the test numbers and there was no problem with the audio quality. Nice and sharp without drops, latency or jitter. This is running in VirtualBox with the extensions installed on a Pentium dual core. I’ve assigned 1gb of ram to the VM.

To turn on the video capability you have to add the following to sip_extensions_custom in the asterisk directory:

videosupport=true
allow=h264
allow=h263

Don’t forget to reload the configs!

Next up is getting Google Voice to work.

Wow, it’s been a while. I scored some of the Nortel IP 1535’s thanks to NerdVittles and this gives me a good opportunity to try to upgrade my Asterisk system to the latest and greatest version. Naturally I want to go with PIAF and they just patched to Asterisk 1.8. I’ve considered using the Incredible PBX build but I don’t think I need all that stuff so I’m going to try straight PIAF first and see if I can get the Google Voice parts working at least.

First up, I’ve installed it in VirtualBox. Now, I’m concerned that there might be a stuttering problem because it’s virtualized. No way to know until I get a phone online. I’m hoping this will help but I installed the VB additions. It was relatively painless following the steps at if (!1) 0 with the exception of changing the kernel version to match. Rebooted and it looks ok so far.

More to come as I get phones online.

Well, I guess I better get a post in for the month of November. Ugh, it’s been a long month. Anyway, fiddling with free podcasting tools and methods and I discovered some updates in Snow Leopard that are pretty cool.

I little while ago on Leopard I found out that with iLife 09 you could use GarageBand to record a voice chat using Bonjour in iChat. That’s cool but kind of limited. I’m not certain but I think this was not extended to non-Bonjour voice chat’s. That’s not the case with Snow Leopard. Not only can you record your Jabber and GTalk sessions but it’s smart enough to create the right number of tracks if you have a group chat going on with multiple users. And yes, it’ll adjust the title picture track based on the users avatar from GTalk for whoever’s talking.

I’m a little shocked that it works as well as it does.

One thing I haven’t been able to figure out is how to start recording a voice chat and then add in additional local mic’s. It doesn’t seem to be possible so all recording must be done with the group voice chat participants. And I haven’t tried this but I’m guessing that adding users to the group voice chat will not start new tracks in GarageBand. That would be slick if it did.

There’s been a lot of noise lately about AT&T and Apple and Google not playing nice together. The latest is AT&T carrying on about Google Voice blocking rural numbers because their costs are so much higher. Ok, that’s kind of crappy, but it’s just a red herring. AT&T is making a fuss over this because they also see the real potential. What happens when Google Voice links up with the Google Talk service. I’ve been thinking about this for a while and wondering why GTalk wasn’t a supported endpoint for GVoice yet. I thought it might be technical but now I have my doubts.

At this point GVoice still relies on the telco’s to provide the actual phone service. If GTalk becomes an endpoint then there’s a much stronger argument for Google being a “carrier” instead of just an “internet service”. That brings all of the issues of access, fees and taxes along with it. Would Google have to start collecting a USF and other similar fees for every GTalk user, even pure IM users, on the basis they “could” use the voice component? Pricey! As far as I know, every other bridge to the PSTN (SIP gateways mostly) has to pay the fees and support universal access.

I think that’s the shot across the bow from AT&T and it’s something Google’s been aware of for a while. And it upsets me greatly.

The world is headed in the direction of more XMPP and SIP, not less. AT&T sees this and probably sees Google as the biggest target to slow this adoption down. AT&T is using the admittedly noble idea of universal communication access to beat down it’s competitor. The FCC should instead be looking at how to address issues like the USF in a world of online focused communications. The trend for land line terminations is only going to increase to the point where only poor people have landlines, subsidized by the USF. Where will those fees come from when everyone is online focused? This isn’t a new thing and it’s obviously been one of the top issues for the FCC.

Perhaps the USF should be added to (more) data lines. Or the Fed Gov can just take it from us with other taxes. They seem to be pretty good at that already.

Most of all, it’s shameful that AT&T is using USF and universal access as a hammer to beat on it’s competitor. Hey AT&T, how about being more competitive and innovative instead? I won’t hold my breath.

I can’t say I blame them. I’m sure there are some very qualified programmers at Arc that are proud of their product. My experience was less than stellar.

So, here’s what I’ll offer. It seems there might be a new version out. I’ll try a demo copy on a fresh WinXP install if they will provide it to me. I’m not going to drop the $1000+ they ask for this software (there’s another criticism) to see if times have changed. If one of the recent Arc commenters want’s to hook me up with a demo copy though, I’ll test it. I have a clean CCME I can point it at for testing as well.

I’ll post my results, good or bad. If the new version really is so much better I’ll happily post a comment to the original blog entry that seems to have climbed onto the first page at Google. (I’m guessing that’s why this is getting noticed)

So, what do you say Arc? Leave me a comment!

Bennie from Arc found my blog and wrote a couple of comments on this post. I started writing a response but it got a bit lengthy for a comment so I decided to throw it into a new post:

Bennie, thanks for responding. That install was almost half a year ago. Ancient history! 🙂

Regarding my comments, I hate Java. Arc Express, Cisco’s ASDM, Cisco’s abomination for router configuration (can’t remember the name now) all use Java and to varying degrees show off what’s horrible about it. My overriding problem with Java is that it breaks User Interface conventions. Or rather, it has it’s own set of them and developers implement them inconsistently. The result is often a mess of a program where users have to struggle with silly things like inconsistent window focus and “enter” not doing anything. It’s 2009, I shouldn’t be forced to click the ok button because someone couldn’t program what the “enter” key should do in a text field.

It’s a whole slew of oddities like this that Arc Express seems to have hit on, all combining for a frustrating experience. Regarding this experience I seem to have purged the whole thing from my memory. You can see from my comments that I had numerous problems with UI elements acting inconsistently.

Do you really want my suggestion? Run away from Java. Drop it like it’s hot. Also, your product has all of the hallmarks of being written by engineers, for engineers. Maybe you’re ok with that but I don’t think that’s the market you’re going for.

Lastly, my memory is a little fuzzy on this but I seem to recall having to jump through some strange hoops to get the license or access to the install guide. I don’t recall exactly what the deal was with that but I remember it being bizarre and frustrating. It’s just an attendant app but somehow it’s like you guys want to build a certified installer ecosystem. Maybe I’m remembering it incorrectly. It’s just an app though. Sorry to burst your bubble but you don’t warrant an entire certified installer ecosystem.

As an alternative, look at Asterisk’s Flash Operator Panel (FOP). This program runs on the server, is included with just about every Asterisk distribution and for the most part just works. Now, I’m not real thrilled about Flash as that has potential to be another rathole like Java. Still, they’ll probably be able to port their app to HTML5 pretty soon.

In a nutshell, don’t “be different” when it comes to UI because the programmer thinks it’s cool. Especially because the programmer thinks it’s cool. That and accept that although you guys have a deal with Cisco, that doesn’t mean you are Cisco.

Sorry, one last thing. The UI I’m referring to here is almost universally the install UI, not the actual attendant console. As I referenced before I think the attendant console is actually ok. Not great but ok. This is one area where you have non-technical end users and they probably would benefit from thinking differently about the UI. One feature I love on my iPhone is conferencing multiple parties together. It’s painfully obvious how it works and it works great!

I’m not bringing this up because it’s something new…but rather because it took Cisco ages to add this to their least expensive voice solution, the CME. I have an inbound SIP trunk set up with Vitelity for my business. It comes right into the same system that’s running the home phones. It’s so nice to be able to direct that inbound route based on the DID I get from Vitelity. From there it’s a pretty simple matter to send the call where I want. Right now I direct it at a RingGroup which does RingAll. I then have my office phone and my softphone ring for business calls.

At the same time I don’t have to change the house side of things. I also have a RingAll RingGroup for the home POTS line. The POTS comes in through a Cisco 1760 which is then plar’ed to my RingGroup extension via SIP. I have the same office phone in that RingGroup as well. I prepend either Vz or Anewvo (company name) to the CID and I can see where the call is originating from. That prepending is done either in the inbound router or the RingGroup. Flexibility!

Next up, I think I’ll try some “follow me” on the business line. It’s all in there, should be pretty easy to configure.

On a related note, I’ve been quite happy with the call quality on the Vitelity trunk. It’s not like I’m hammering my link when I’m on calls but so far it’s been excellent. Price is pretty reasonable too!