sip problem with nat masquerade

I created a pptp vpn server in mikrotik and its working with android smart phones sip, when I enable nat rule with masquerade to allow clients to connect through vpn to internet, sip voice no longer works, I can dial sip number but when in call no voice is heard.
When disabling nat rule there is no problem.
How can I fix this ?

Thanks

It would help if we could see that NAT rule. Post /export compact

I created nat rule with
chain=srcnat
src .address 192.168.14.0/24
and action=masquerade

thats it

its a rule with chain=srcnat and src. address=192.168.14.0/24 and action = masquerade

The audio portion of a VoIP call, the RTP session, is handled on a separate port and UDP session. To make this work with typical equipment and firewalls you have two options.

Enable NAT Keepalive interval on your VoIP equipment. This keeps a UPD session alive by sending out a UPD packet every 120 seconds or so. Thus firewall rules see a related or established connection all the time. When the SIP handshake creates the RTP session, the firewall lets it work.

Narrow down the port ranges RTP uses so you can easily mark them and do what you wish. We do that here so we can apply Qos rules. You could also allow IP ranges from your VoIP provider, etc.

Note that MikroTik enables by default so called NAT helpers under /ip firewall service-port. I have those turned off.