Guest User!

You are not Sophos Staff.

This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

[7.002] Got someone VoIP Security working?

I got a VoIP-phone. When VOIP Security is disabled it works perfectly. But when VOIP Security is enabled, I can call but I can't hear anything!!! I'm Using a Siemens C450 IP-phone. Can someone help me?


This thread was automatically locked due to age.
Parents
  • Please describe your configuration in the VOIP Security.
    What packet filters you have active.
    Your NAT rules.
    The definitions you are using.


    Ian M
  • Okay, here is the configuration of ASG:
    VOIP Security-> SIP Protocol Support:
    SIP server networks: Any (and i tried also only my SIP Provider server)
    SIP client networks: my VOIP-telephone IP.

    VoIP Telephone configuration:
    Everything is filled in correctly. All information is directing to my SIP Provider. Further IP/subnetmask is in the range of the LAN and gateway is directed to my ASG-box. The only important information is that:
    Proxy server port: 5060
    Registrar server port: 5060
    Listen ports  
    SIP port: 5060
    RTP port: 5004

    Used codecs: G711 a law & G729
    STUN server and NAT is disabled.

    I got a Siemens C450 IP VoIP-telephone. When VoIP security is disabled I can make calls and I hear the other party and the other party hears me. When VOIP Security is enabled can make a phone call, the other phone(s) are ringing but when it's picked up both party's don't hear anything!!!
    In the Packet Filter Live Log the following is showed:
    ulogd[2541]: id="2016" severity="info" sys="SecureNet" sub="packetfilter" name="SIP call RTP" action="SIP call RTP" fwrule="60018" initf="eth0" outitf="eth1" dstmac="xx:xx:xx:xx:xx:xx" srcmac="xx:xx:xx:xx:xx:xx" srcip="voip-phone ip" dstip="sip-provider ip" proto="17" length="200" tos="0x00" prec="0xc0" ttl="127" srcport="5004" dstport="36594" 
    ulogd[2541]: id="2016" severity="info" sys="SecureNet" sub="packetfilter" name="SIP call RTP" action="SIP call RTP" fwrule="60018" initf="eth0" outitf="eth1" dstmac="xx:xx:xx:xx:xx:xx" srcmac="xx:xx:xx:xx:xx:xx" srcip="voip-phone ip" dstip="sip-provider ip" proto="17" length="200" tos="0x00" prec="0xc0" ttl="127" srcport="5004" dstport="36594"

    And it fills so FAST that the live log must stop the script-window! I also tried to set the service SIP to UDP and not TCP but that doesn't help.Also I tried to set the RTP port to 20000 (for example) that doesn't do the trick. hopefully you have enough information otherwise please let me know.
  • Must I fill in both the ASG-box IP or the IP of my SIP provider? And how does the NAT rule lookes like?
  • fobe,
    sorry for the delay I have been at an athletics competition for 3 days.
     
    I your VOiP provider doesn't require you to use a SIP proxyy for outgoing, leave that field blank, but put the ASG address in the other fireld.
     
    i don't use any extra NAT rules.
     
    I added the SIP port as a UDP packet to the VOiP definitions.
     
    Ian M
  • Well I added a new defintion: "SIP UDP" using source port 5060 and protocol UDP and added this one to the VoIP-protocols in the "definitions". Now the VoIP Protocols got H323,SIP and SIP UDP. Still I can't hear anything! I see the following lines in the Packet Filter Live log (running as hell):

    ulogd[2555]: id="2016" severity="info" sys="SecureNet" sub="packetfilter" name="SIP call RTP" action="SIP call RTP" fwrule="60018" initf="eth0" outitf="eth1" dstmac="00:0e:a6:bb:27[:D]b" srcmac="00:01:e3:76:c1:fc" srcip="voip.phone.ip" dstip="sip.provider.ip" proto="17" length="200" tos="0x00" prec="0xc0" ttl="127" srcport="5004" dstport="37352"
    ulogd[2555]: id="2016" severity="info" sys="SecureNet" sub="packetfilter" name="SIP call RTP" action="SIP call RTP" fwrule="60018" initf="eth0" outitf="eth1" dstmac="00:0e:a6:bb:27[:D]b" srcmac="00:01:e3:76:c1:fc" srcip="voip.phone.ip" dstip="sip.provider.ip" proto="17" length="200" tos="0x00" prec="0xc0" ttl="127" srcport="5004" dstport="37352"
    ulogd[2555]: id="2016" severity="info" sys="SecureNet" sub="packetfilter" name="SIP call RTP" action="SIP call RTP" fwrule="60018" initf="eth0" outitf="eth1" dstmac="00:0e:a6:bb:27[:D]b" srcmac="00:01:e3:76:c1:fc" srcip="voip.phone.ip" dstip="sip.provider.ip" proto="17" length="200" tos="0x00" prec="0xc0" ttl="127" srcport="5004" dstport="37352"
    ulogd[2555]: id="2016" severity="info" sys="SecureNet" sub="packetfilter" name="SIP call RTP" action="SIP call RTP" fwrule="60018" initf="eth0" outitf="eth1" dstmac="00:0e:a6:bb:27[:D]b" srcmac="00:01:e3:76:c1:fc" srcip="voip.phone.ip" dstip="sip.provider.ip" proto="17" length="200" tos="0x00" prec="0xc0" ttl="127" srcport="5004" dstport="37352"
    ulogd[2555]: id="2016" severity="info" sys="SecureNet" sub="packetfilter" name="SIP call RTP" action="SIP call RTP" fwrule="60018" initf="eth0" outitf="eth1" dstmac="00:0e:a6:bb:27[:D]b" srcmac="00:01:e3:76:c1:fc" srcip="voip.phone.ip" dstip="sip.provider.ip" proto="17" length="200" tos="0x00" prec="0xc0" ttl="127" srcport="5004" dstport="37352"
    ulogd[2555]: id="2016" severity="info" sys="SecureNet" sub="packetfilter" name="SIP call RTP" action="SIP call RTP" fwrule="60018" initf="eth0" outitf="eth1" dstmac="00:0e:a6:bb:27[:D]b" srcmac="00:01:e3:76:c1:fc" srcip="voip.phone.ip" dstip="sip.provider.ip" proto="17" length="200" tos="0x00" prec="0xc0" ttl="127" srcport="5004" dstport="37352"
    ulogd[2555]: id="2016" severity="info" sys="SecureNet" sub="packetfilter" name="SIP call RTP" action="SIP call RTP" fwrule="60018" initf="eth0" outitf="eth1" dstmac="00:0e:a6:bb:27[:D]b" srcmac="00:01:e3:76:c1:fc" srcip="voip.phone.ip" dstip="sip.provider.ip" proto="17" length="200" tos="0x00" prec="0xc0" ttl="127" srcport="5004" dstport="37352"
    ulogd[2555]: id="2016" severity="info" sys="SecureNet" sub="packetfilter" name="SIP call RTP" action="SIP call RTP" fwrule="60018" initf="eth0" outitf="eth1" dstmac="00:0e:a6:bb:27[:D]b" srcmac="00:01:e3:76:c1:fc" srcip="voip.phone.ip" dstip="sip.provider.ip" proto="17" length="200" tos="0x00" prec="0xc0" ttl="127" srcport="5004" dstport="37352"
    ulogd[2555]: id="2016" severity="info" sys="SecureNet" sub="packetfilter" name="SIP call RTP" action="SIP call RTP" fwrule="60018" initf="eth0" outitf="eth1" dstmac="00:0e:a6:bb:27[:D]b" srcmac="00:01:e3:76:c1:fc" srcip="voip.phone.ip" dstip="sip.provider.ip" proto="17" length="200" tos="0x00" prec="0xc0" ttl="127" srcport="5004" dstport="37352"
    ulogd[2555]: id="2016" severity="info" sys="SecureNet" sub="packetfilter" name="SIP call RTP" action="SIP call RTP" fwrule="60018" initf="eth0" outitf="eth1" dstmac="00:0e:a6:bb:27[:D]b" srcmac="00:01:e3:76:c1:fc" srcip="voip.phone.ip" dstip="sip.provider.ip" proto="17" length="200" tos="0x00" prec="0xc0" ttl="127" srcport="5004" dstport="37352"
    ulogd[2555]: id="2016" severity="info" sys="SecureNet" sub="packetfilter" name="SIP call RTP" action="SIP call RTP" fwrule="60018" initf="eth0" outitf="eth1" dstmac="00:0e:a6:bb:27[:D]b" srcmac="00:01:e3:76:c1:fc" srcip="voip.phone.ip" dstip="sip.provider.ip" proto="17" length="200" tos="0x00" prec="0xc0" ttl="127" srcport="5004" dstport="37352"
    ulogd[2555]: id="2016" severity="info" sys="SecureNet" sub="packetfilter" name="SIP call RTP" action="SIP call RTP" fwrule="60018" initf="eth0" outitf="eth1" dstmac="00:0e:a6:bb:27[:D]b" srcmac="00:01:e3:76:c1:fc" srcip="voip.phone.ip" dstip="sip.provider.ip" proto="17" length="200" tos="0x00" prec="0xc0" ttl="127" srcport="5004" dstport="37352"
    ulogd[2555]: id="2016" severity="info" sys="SecureNet" sub="packetfilter" name="SIP call RTP" action="SIP call RTP" fwrule="60018" initf="eth0" outitf="eth1" dstmac="00:0e:a6:bb:27[:D]b" srcmac="00:01:e3:76:c1:fc" srcip="voip.phone.ip" dstip="sip.provider.ip" proto="17" length="200" tos="0x00" prec="0xc0" ttl="127" srcport="5004" dstport="37352"

    and so on and on...

    When I fill in the proxy server the ASG box, the Packet Filter drops it because the ASG-box isn't allowing the voip-phone on port 5060. What am I doing wrong?
  • fobe,
    have a look at this site and see if it adds any extra info.
     
    http://forums.blueface.ie/showthread.php?t=515
     
    I can't find a handbook for it, but satill looking. The url below is ISP (VOiP) compatability list, have a look and se if your ISP (VOiP) is included.
     
    http://gigaset.siemens.com/shc/0,1935,hq_en_0_122378_rArNrNrNrN_variation%253A-5_pageType%253ATechnical%2Bdata_imagePos%253A0,00.html#content
     
    Ian M
     
     
    Go to this site and have look at the pdf file page 50, 51 and 52. They cover configuring your phone with local (proxy) and DNS etc.
     
    Ian M
    http://shc-download.siemens.com/repository/1307/130708/A31008-M1713-V101-1-7619_en_IRL_NET.pdf
  • Well it's configured the right way. The links above is the I configured my voip-phone. I don't use NAT or STUN for the phone. My provider is in the list of supported SIP-providers. When VoIP Security is DISABLED the phone works PERFECTLY but only when I enable VoIP Security and the SIP-section it can make calls but you don't hear anything (both party's) and in the SIP connections I made about 500 calls !!!! and the I see in the packet filter live log that packages coming and fills the live log so fast it must be stopped manually! (see my earlier post). So something else is the problem.....
  • fobe,
    what is the SIP definition you added?
     
    "SIP RTP" UDP 1:65535 5004
     
    I would have for purely personal reasons used "SIP RTP" UDP 1030:65535 5004.
     
    The packet filter log is showing internal 5004 external ***xx, where as you want internal ***xx external 5004.
     
    Ian M
  • Well if I'm getting it right I must do the following:

    Make a new definition "SIP RTP", protocol: UDP, source port 1030:65535, destination port: 5004. Add this in the definition "VoiP protocols".

    And then activate VoIP Security-> SIP.

    Correct me if I'm wrong... BTW, in the packet filter log it says: "srcport="5004" dstport="37352", so the destiniation port is not 5004 but in this example 37352...... In the VoIP-phone I can only put 1 port to use RTP and this is standard 5004.
  • fobe,
    basically it is saying that your sip phone can use any port internally, but you want it to be 5004 externally. You could just do a one for one eg "SIP RTP" 5004 5004 UDP.
     
    I don't believe you add it to the SIP group, but have it as a seperate PF rule, that is how I got mine to work. But I am not an expert and your answer is just as valid.
     
    Ian M
  • So, 1 extra nat rule; 
    1)make a definition: name: SIP RTP / protocol: UDP / source port:5004, dest. port: 5004
    2)NAT RULE:source: voip.phone.ip / protocol: SIP RTP / destination: sip.provider.ip
    3)Enable VoIP Security for SIP
    ?)Do I also must enable UDP for SIP-protocol?

    This what I should do....?

    I did the 3 steps above; same results. Can call but I don't hear anything and the Packet Filter Live Log is running (as above) like hell.....
  • fobe,
    it needs to be a PF rule not a NAT rule.
     
    Ian M
Reply Children
  • Sorry I typed it wrong. I made a PF-rule but it still won't work.
  • fobe,
    I will start a fresh testing sequence tomorrow night, now things have settled down a bit in my new job.

    Ian M
  • Okay thanx a lot for your help. And I'll here from you soon.
  • fobe,
    my setup which works
    phone->pap2 -> asg->www

    definition "RTP UDP" source 16384:16482 dest 1030:65535
    definition "SIP UDP" source 5060 dest 5060
    PF rule "voip phone" -> "RTP UDP" "voip phone provider" allow
    PF rule "voip phone" -> "SIP UDP" "voip pnone provider" allow

    Worked one way
    SIP security enabled
    PF "voip phone" -> "RTP UDP" "voip phone provider" allow
    I had to add the ASG as a voip proxy in the PAP2 configuration otherwise lots of red messages. Now the ASG isn't a SIP proxy, so I am not sure where that leaves me.

    the packet filter log shows lots of gray "SIP or H323" "SIP UDP" packets.
    I could hear ring tone, but could only speak one way.


    If I reversed the RTP definition nothing worked and the PF log filled with lots of red reject messages.

    Conclusion - VOiP Security doesn't work. There is a distinct possibility that I needed to add something else to the PAP2 configuration when using ASG VOiP security, but I don't know what.

    Obviously more experimentation is needed on my behalf.

    Ian M
  • I know that VOiP Security isn't working! When i disable this feature my voip-phone works perfectly.
  • I am haven't given up yet, still playing. I  found you need the packet filter rule for the RTP around the wrong way to get traffic through.

    It must work otherwise there would be more screams???[:S][:S][:S]

    Ian M
  • I give up. I cannot make a 2 way call with voip security enabled.


    Works fine otherwise.

    I think there are more addresses in this argument than show up in the PF log because I get a couple of rejected packets at the start of the call.


    Ian M
  • The bug is in the "the known issues list"

    Ian M
  • As far as I can see, the issue has not been resolved in V7.003

    Problem.
    no outgoing voice.

    Incoming voice works fine, including ringtone.

    Setup
    Voip provider has two SIP proxies with the same IP address and another box that responds that has a different IP address.

    ASG 
    SIP Helper - myvoip phone -> sip -> myvoip provider (has both voip provider addresses in it)
    Packet filter - myvoip phone -> RTP (16348:16486) -> allow -> my voip provider

    The packet filter log shows red packets dropped by default from the voip provider return address when they hit the ASG external address. Greyed packets outgoing from myvoip phone to the voip provider sip proxy address.

    When I replace the SIP Helper with a packet filter rule that allows myvoip phone -> UDP (1030:65535) -> voip provider network (both addresses)-> (5060) that works without any dropped packets.

    Ian M
  • Hi there all,

    as there has many requests regarding the SIP proxy/helper not working as expected in V7, we investigated it.

    First of all, the SIP proxy has been replaced by the SIP helper, as the proxy could only handle outbound SIP connects, the helper can handle inbound and outbound SIP connects. Means if you host your own SIP PBX, like many of our customers do, you need the helper.

    We are aware that there still has been issues with the SIP helper under certain conditions.
    I think we found the issue and have a solution:

    In case you connect to bigger SIP-Provider, than they tend to process the RTP-Streams on a different host than the SIP data in order to do load balancing/sharing.

    Our current SIP connection tracking helper assumes that the endpoint he talks to with SIP is also the endpoint he must sent the RTP-Streams to.

    In a case, as we saw in packet dumps, the addresses were different.
    the SIP connection used 217.10.79.9
    the RTP connection used 217.10.68.67
    (you can see this also in the attached screenshot sip_analyze.png)

    this lead to the issue that the kernel expected the RTP connection to come from 217.10.79.9 but it actually came from 217.10.68.67, what you can also see from the packetfilter.log, as than this packet got dropped.

    This should only happen if you use SNAT/Masquerading on the external interface towards the SIP provider.

    For the smaller setups the sip-helper included in 7.003 should work as expected, but connection to bigger sip provider will fail.

    We have a fix for that issue which will be released in one of the next up2dates.

    You can check if you are affected by reading the packetfilter logfile, if the dropped RTP packet comes from a different IP address as where your SIP connection goes to, than you are affected by this issue.

    i hope this clear's things up.

    best regards
    Gert