Ничего подобного он не делает

Отключите SPI в настройках файрвола, поставьте в NAT TCP Endpoint Independent и UDP Endpoint Independent.
Разные порты - это какие? При логине, скорее всего, открывается порт 5060, при звонках открываются порты из RTP диапазона. Нужно просто задать в настройках софтфонов непересекающиеся диапазоны RTP и пробрасывать на каждый софтфон свой диапазон.
Хотя исходящие звонки у меня и так проходили, без проброса RTP, но в этом случае меня слышно, а я не слышу (обратные пакеты-то ко мне не идут).
Если софтфон - это X-Lite, то у него в настройках подключения есть закладка Topology, а там можно поставить крыжик на диапазоне портов и задать его. При этом первым портом будет SIP порт, а остальные порты будут для RTP. Чтобы задать диапазоны отдельно, надо пользоваться версией 2.х X-Lite вместо 3.х.
Я понимаю, что проблема может быть в том, что публичные провайдеры SIP используют какие-то фиксированные настройки, например, SIP порт только 5060, т.е. для разных софтфонов разные порты не задашь. Думаю, SIP порт пробрасывать не обязательно, достаточно только RTP портов. Ведь SIP порт задействуется только при регистрации, и соединение устанавливается исходящее.
Ну а для RTP нужно иметь достаточно гибкий в конфигурации софтфон, чтобы иметь возможность задать одинаковый порт SIP и разные диапазоны RTP.