Let's simplify this function a bit, something like:
```
  _callVoicemail: function kh_callVoicemail() {
     var settings = navigator.mozSettings;
     if (!settings) {
      return;
     }
     var transaction = settings.createLock();
     var request = transaction.get('ril.iccInfo.mbdn');
     request.onsuccess = function() {
       var number = request.result['ril.iccInfo.mbdn'];
       var voicemail = navigator.mozVoicemail;
       if (voicemail && voicemail.number) {
         number = voicemail.number; // The SIM number gets priority
       }
       if (number) {
         CallHandler.call(number);
       }
       // TODO: bug XXX, invite the user to go set a voicemail number in the settings
     };
     request.onerror = function() {};
  }
```

what do you think?