Tue Oct 20, 2020 1:24 pm
Mikrotik's firewall uses a "sip helper" (under /ip firewall service-port), which is good when the phones are connected to the LAN of Mikrotik, but cannot handle phones connecting from the internet to a PBX behind Mikrotik. No SIP proxy as such is supported by RouterOS. If your PBX itself cannot be configured to "realize" that it is connected behind a NAT device with a known public IP address, and modify the payload of the SIP messages accordingly, you need a device from another vendor, capable of acting as an SBC.
Other than that, SIP softphones on mobile phones have two possible operation modes - either they keep the packet connection up all the time, which significantly increases power consumption, or they must use the application notification mechanism, which is typically provided using proxies operated by the softphone vendor. The proxy registers its own IP address as the Contact, rather than the phone's one, and when it receives an INVITE for an incoming call from the PBX, it sends a notification message to the application running at the phone via Google/Apple servers where it is registered for that purpose. The notification message is sent by means of the service channel of the network which is "always" active but doesn't need so much power.