Incorrect usage of unless

Solution 1:

Very interesting question, and I hadn't noticed the problem before.

English Grammar Today says:

"We don’t use unless for things that we know to be true:

You won’t be able to get a ticket for the match unless you’re prepared to pay a lot of money for it. (The speaker doesn’t know if you’re prepared to pay a lot of money for a ticket.)

I don’t know what we would have done if we hadn’t seen you. (We did see you.)

Not: I don’t know what we would have done unless we’d seen you. "

I think this is the point that excludes your sentence: I know whether or not I am waiting for a call at the moment, so I cannot use unless. If I were talking generally, or about a time in the future (when I would not know), then I could use it:

In those days, I would go to bed unless I was waiting for a phone call. (non-specific occasion in the past)

On work days, after 11 I would go to bed unless I was waiting for a phone call. (non-specific occasion, past present or future)

I'll go to bed unless I'm waiting for a phone call. (occasion in the future)

Solution 2:

These two:*

I would go to bed if I wasn't waiting for a phone call.
I would go to bed unless I was waiting for a phone call.

Describe the same situation:

  • Waiting for phone call → stay up
  • Not waiting for phone call → go to bed

The difference is that if I wasn't implies that the speaker is currently waiting for a call, and therefore that they're describing the present situation.
I would use unless I was in a more hypothetical context, like “At 11 pm on a school night, I would go to bed, unless I was waiting for a phone call.”

* Unless I wasn't just reverses the logic: only go to bed if waiting for a call.