
So I was trying to setup FPL software client to work through cisco routers and bumped into the following problem.
1) Everything works fine both ways with static access rules for incoming and outgoing traffic, even if no static NAT (port forwarding) rules are configured. SIP client sends keepalives all the time, so dynamic rules are there all the time for both - UDP/5060 and UDP/13000. But ports opened statically suck

2) If I try to configure SIP inspection (CBAC) to force my router to open proper inbound (from WAN) ports dynamically everything works again. SIP packet payloads are inspected and the router pre-opens proper inbound ports by looking at the negotiation data between the client and the server.
It also works with older IOS when I configure zone-based firewall inspection. as it acts the same way as "classic" CBAC.
3) However when I try to use zone-based firewall with recent IOS and use 'match protocol sip' statement in inspection class-map, incoming calls do not come through, no inspection rules are created and audit trail shows me that connection is dropped all the time stating reason as "SIP protocol violation". The problem is that latest IOS performs not just lookup of ports to be opened, but total inspection of the whole dialog between a SIP client and a SIP server and drops session when it discovers protocol violation.
I tried to enable debugging and saw that everything starts fine, but when FPL SIP server responds it uses some "not-documented" or "not-complaint" protocol extension which cisco router does not recognizes, considers it malicious and drops the connection.
I was able to make a workaround by using access-list with UDP/5060 port instead of 'inspect protocol sip' in inspection class-map. In this case my cisco router was "fooled" and considered this traffic as "some UDP protocol". After that it opened proper dynamic connections for both control (UDP/5060) and data (UDP/13000) traffic. But I am not sure it will work the same way with hardware VOIP gateway as it may not initiate outgoing connection to SIP server for VOIP data traffic as PFL client does.
I also tried to use third party software client (X-TEN, X-LITE) with other SIP server (JustVOIP in my case) and everything worked like charm - exchange is fine, no errors, dynamic inspection rules are created etc. I HAVE NOT tried third party softphone or VOIP gateway with SIP settings from FPL as I am yet to buy one.
So HERE IS MY QUESTION: Is FPL SIP server is NOT RFC complaint and uses some "customized" protocol for BOTH - FPL software client and hardware SIP gateways or there is a slim chance that if I buy setup file and configure third party VOIP hardware/ SIP software client, everything would be different? Or FPL SIP server uses some latest extensions to SIP protocol and latest cisco IOS just not aware of them?