VMware Workstation 9 + Softphone

Chrisroman

Gawd
Joined
May 29, 2011
Messages
692
Pretty much everything you guys talk about over here is over my head, so your smarter than me about all this... maybe you can help me out :D

Host: Win 7 x64 Pro (Specs in signatures)
Guest: Win 7 x64 Pro (Config file below)

I moved my "work" setup to a VM and everything is working great except for the softphone. I am using Toktumi softphone with a Jabra 9470 Pro USB headset. The headset audio and mic, within the VM, are clear except when using the softphone. When using the softphone, audio is garbled. I havn't even tried to test the mic with it yet. I havn't been able to find much on using softphones within VMware workstation. I found a few threads regarding Skype that were nonconslusive and some references to SIP soft clients being hit and miss within the VM. But nothing to help me troubleshoot.

Any ideas? I know I can run the softphone on the Host system, but I want to keep the VM completely self contained.


P.S

I did disable memory paging and trimming. My hardware, despite being an old X58 does support VT-x, which is set to "Automatic" in VMware.


VMware Workstation 9 Config File

Code:
.encoding = "windows-1252"
config.version = "8"
virtualHW.version = "9"
numvcpus = "1"
cpuid.coresPerSocket = "1"
scsi0.present = "TRUE"
scsi0.virtualDev = "lsisas1068"
memsize = "6144"
mem.hotadd = "TRUE"
scsi0:0.present = "TRUE"
scsi0:0.fileName = "Windows 7 x64 - Work-000007.vmdk"
ide1:0.present = "TRUE"
ide1:0.fileName = "auto detect"
ide1:0.deviceType = "cdrom-raw"
floppy0.fileType = "device"
floppy0.fileName = ""
floppy0.clientDevice = "FALSE"
ethernet0.present = "TRUE"
ethernet0.virtualDev = "e1000"
ethernet0.wakeOnPcktRcv = "FALSE"
ethernet0.addressType = "generated"
usb.present = "TRUE"
ehci.present = "TRUE"
ehci.pciSlotNumber = "35"
sound.present = "TRUE"
sound.virtualDev = "hdaudio"
sound.fileName = "-1"
sound.autodetect = "TRUE"
mks.enable3d = "TRUE"
serial0.present = "TRUE"
serial0.fileType = "thinprint"
pciBridge0.present = "TRUE"
pciBridge4.present = "TRUE"
pciBridge4.virtualDev = "pcieRootPort"
pciBridge4.functions = "8"
pciBridge5.present = "TRUE"
pciBridge5.virtualDev = "pcieRootPort"
pciBridge5.functions = "8"
pciBridge6.present = "TRUE"
pciBridge6.virtualDev = "pcieRootPort"
pciBridge6.functions = "8"
pciBridge7.present = "TRUE"
pciBridge7.virtualDev = "pcieRootPort"
pciBridge7.functions = "8"
vmci0.present = "TRUE"
hpet0.present = "TRUE"
usb.vbluetooth.startConnected = "TRUE"
displayName = "Windows 7 x64 - Work"
guestOS = "windows7-64"
nvram = "Windows 7 x64 - Work.nvram"
virtualHW.productCompatibility = "hosted"
powerType.powerOff = "hard"
powerType.powerOn = "hard"
powerType.suspend = "hard"
powerType.reset = "hard"
extendedConfigFile = "Windows 7 x64 - Work.vmxf"
scsi0.pciSlotNumber = "160"
ethernet0.generatedAddress = "00:0c:29:6f:c6:ef"
ethernet0.pciSlotNumber = "33"
usb.pciSlotNumber = "32"
sound.pciSlotNumber = "34"
vmci0.id = "577750767"
vmci0.pciSlotNumber = "36"
tools.syncTime = "FALSE"
uuid.location = "56 4d 99 80 39 74 7a 6d-dc 3c 1b fa 22 6f c6 ef"
uuid.bios = "56 4d 99 80 39 74 7a 6d-dc 3c 1b fa 22 6f c6 ef"
cleanShutdown = "TRUE"
replay.supported = "FALSE"
gui.lastPoweredViewMode = "fullscreen"
unity.wasCapable = "FALSE"
replay.filename = ""
scsi0:0.redo = ""
pciBridge0.pciSlotNumber = "17"
pciBridge4.pciSlotNumber = "21"
pciBridge5.pciSlotNumber = "22"
pciBridge6.pciSlotNumber = "23"
pciBridge7.pciSlotNumber = "24"
scsi0.sasWWID = "50 05 05 60 39 74 7a 60"
usb:1.present = "TRUE"
ethernet0.generatedAddressOffset = "0"
tools.remindInstall = "TRUE"
vmotion.checkpointFBSize = "134217728"
softPowerOff = "TRUE"
usb:1.speed = "2"
usb:1.deviceType = "hub"
usb:1.port = "1"
usb:1.parent = "-1"
floppy0.autodetect = "TRUE"
ide1:0.autodetect = "TRUE"
checkpoint.vmState = ""
usb.autoConnect.device0 = "path:1/3/3/0 autoclean:1"
floppy0.startConnected = "FALSE"
usb.autoConnect.device1 = ""
vhv.enable = "FALSE"
usb:0.present = "TRUE"
usb:0.deviceType = "hid"
usb:0.port = "0"
usb:0.parent = "-1"
MemTrimRate = "0"
 
so you're saying that a VOIP program sounds garbled to you when run in a VM, but not when run on the host? that doesn't make much sense because it is just downloading audio from the network and playing it. as long as your network and audio work, the vm should have nothing to do with bad audio.

it sounds to me like you only tested for 5 seconds, and during that time the VOIP service just happened to be sucking.
 
Or it's some kind of fail involving the USB part? I run a pbx-in-a-flash SIP-based VOIP pbx in esxi and the audio is always flawless, but then, the VM isn't dicking with USB...
 
Change the USB compatibility type in your VM settings from USB 3 to USB 2. I believe it's defaulting to 3 (Fusion does too) and that caused me some problems with a headset. Changing it to USB 2 fixed it.
 
... the audio is always flawless, but then, the VM isn't dicking with USB...

This worked!

If I do not connect the Jabra headset as a USB removable device to the VM, and just leave the headset as the "default" audio on the host system then everything works perfectly on the guest VM. I'm totally confused as to why this works, but it does... But thank you for pointing me in the right direction.

In case this might help anyone else out in the future, here is a summary of of issue

  • USB headset (Jabra 9470 Pro) works 100% on host system.
  • USB headset (Jabra 9470 Pro) works 90% on VM Guest when connected as a USB device (with device drivers installed). Audio and Mic work fine for playback and record via OS apps, but when using Toktumi softphone the mic did not work, and audio playback was garbled.
  • USB headset (Jabra 9470 Pro) works 100% on VM Guest when not connected as a USB device, with VMware to use the Jabra 9470 as the audio source. No device drivers installed.

I don't get it... it doesnt seem like it should work like this, but it does. In a way it's a bit a bit pointless to use it like this, as the Host OS must still have the device drivers installed. I may as well just use it on the host and bypass the extra layer of the Guest VM.

But there it is. Thanks for the tips... and hopefully this helps someone else...
 
Back
Top