O telefonie tym można napisać wiele dobrego jak i złego. W internecie można znaleźć także wiele przykładów i wyjaśnień konfiguracji tego telefonu. Jednak jeśli postanowicie używać go za NAT’em będzie nie mały problem z uruchomieniem go. Właśnie o tym chciałbym wspomnieć w tym krótkim wpisie.

Więc po pierwsze zakładam, drogi czytelniku, że z samą konfiguracją już sobie poradziłeś. Ja korzystałem z tej strony. W tym momencie nie powinieneś mieć żadnych problemów z wykonywaniem połączeń. Jednak w wielu przypadkach nie będziesz mógł ich odbierać. Problem ten jest banalnie prosty do rozwiązania, jednak mało gdzie o tym piszą i dlatego tak trudno je znaleźć. Mi się udało, i dlatego piszę o tym, by rozpropagować tę wiedzę.

Sprawa sprowadza się do wprowadzenia w konfiguracji jednej mało udokumentowanej opcji którą ciężko odnaleźć:

nat_keep_alive: "1"

Dla przykładu podam poniżej działając u mnie konfigurację (oczywiście z wyłączeniem informacji wrażliwych)

# Image Version
#image_version: "P0S3-08-6-00" #"P0S3-04-4-00" 


# NAT/Firewall Traversal
nat_enable: "1"
nat_address: ""
voip_control_port: "5060"
start_media_port: "10000"
end_media_port: "20000"
nat_received_processing: "1"
nat_keep_alive: "1"

# Proxy Registration (0-disable (default), 1-enable)
proxy_register: "1"
# Phone Registration Expiration [1-3932100 sec] (Default – 3600)
timer_register_expires: "60"
# Codec for media stream (g711ulaw (default), g711alaw, g729)
preferred_codec: "g729a"
# TOS bits in media stream [0-5] (Default – 5)
tos_media: "5"
# Enable VAD (0-disable (default), 1-enable)
enable_vad: "0"
# Allow for the bridge on a 3way call to join remaining parties upon hangup
cnf_join_enable: "1" ; 0-Disabled, 1-Enabled (default)
# Allow Transfer to be completed while target phone is still ringing
semi_attended_transfer: "1" ; 0-Disabled, 1-Enabled (default)
# Telnet Level (enable or disable the ability to telnet into this phone 
telnet_level: "0" ; 0-Disabled (default), 1-Enabled, 2-Privileged
# Inband DTMF Settings (0-disable, 1-enable (default))
dtmf_inband: "1"
# Out of band DTMF Settings (none-disable, avt-avt enable (default), avt_always - always avt )
dtmf_outofband: "avt"
# DTMF dB Level Settings (1-6dB down, 2-3db down, 3-nominal (default), 4-3db up, 5-6dB up)
dtmf_db_level: "3"

# SIP Timers
timer_t1: "500" ; Default 500 msec
timer_t2: "4000" ; Default 4 sec
sip_retx: "10" ; Default 11
sip_invite_retx: "6" ; Default 7
timer_invite_expires: "60" ; Default 180 sec

# TFTP Phone Specific Configuration File Directory
tftp_cfg_dir: "./"

# Time Server
sntp_mode: "directedbroadcast"
sntp_server: "x.x.x.x" ; NTP server IP
time_zone: "CET" 
dst_offset: "1"
dst_start_month: "March"
dst_start_day: ""
dst_start_day_of_week: "Sunday"
dst_start_week_of_month: "8"
dst_start_time: "02"
dst_stop_month: "Oct"
dst_stop_day: ""
dst_stop_day_of_week: "Sunday"
dst_stop_week_of_month: "8"
dst_stop_time: "2"
dst_auto_adjust: "1"
date_format: "D/M/Y"

# Do Not Disturb Control (0-off, 1-on, 2-off with no user control, 3-on with no user control)
dnd_control: "0" ; Default 0 (Do Not Disturb feature is off)
# Caller ID Blocking (0-disabled, 1-enabled, 2-disabled no user control, 3-enabled no user control)
callerid_blocking: "0" ; Default 0 (Disable sending all calls as anonymous)
# Anonymous Call Blocking (0-disbaled, 1-enabled, 2-disabled no user control, 3-enabled no user control)
anonymous_call_block: "0" ; Default 0 (Disable blocking of anonymous calls)
# Call Waiting (0-disabled, 1-enabled, 2-disabled with no user control, 3-enabled with no user control)
call_waiting: "1" ; Default 1 (Call Waiting enabled)
# DTMF AVT Payload (Dynamic payload range for AVT tones – 96-127)
dtmf_avt_payload: "101" ; Default 100

# XML file that specifies the dialplan desired
dial_template: "dialplan"
# Network Media Type (auto, full100, full10, half100, half10)
network_media_type: "auto"
#Autocompletion During Dial (0-off, 1-on [default])
autocomplete: "1"

#Time Format (0-12hr, 1-24hr [default])
time_format_24hr: "1"

# XML URLs
#services_url: "http://" ; URL for external Phone Services
#logo_url: "http://...logo.bmp" ; URL obrazka

# HTTP Proxy Support
http_proxy_addr: "" ; Address of HTTP Proxy server
http_proxy_port: 80 ; Port of HTTP Proxy Server (80-default)

# Remote Party ID
remote_party_id: 1 ; 0-Disabled (default), 1-Enabled
call_stats: 1

proxy1_address: "sip.provider" 
#proxy2_address: "sip.provider"
#proxy3_address: "sip.provider" 
#proxy4_address: "sip.provider"
#proxy5_address: "sip.provider"
#proxy6_address: "sip.provider"

# Proxy Server Port (default – 5061)
proxy1_port:"5061"
proxy2_port:"5062"
proxy3_port:"5063"
proxy4_port:"5064"
proxy5_port:"5065"
proxy6_port:"5066"

# SIP Configuration Generic File (start)
# Line 1 Settings
line1_name: "My line 1" ; Line 1 Extension\User ID
line1_shortname: "Line 1"
line1_displayname: "Full name line 1" ; Line 1 Display Name
line1_authname: "sip_user" ; Line 1 Registration Authentication
line1_password: "sip_password" ; Line 1 Registration Password
# Line 2 Settings
line2_name: "" ; Line 2 Extension\User ID
line2_shortname: ""
line2_displayname: "" ; Line 2 Display Name
line2_authname: "UNPROVISIONED" ; Line 2 Registration Authentication
line2_password: "UNPROVISIONED" ; Line 2 Registration Password
# Line 3 to 6 as above...

# Outbound Proxy info
outbound_proxy: "sip.provider"
outbound_proxy_port: "5060"

# Phone Label (Text desired to be displayed in upper right corner)
phone_label: "My phone " 

# Phone prompt/password for telnet/console session
phone_prompt: "voip" ; Telnet/Console Prompt
phone_password: "voip" ; Telnet/Console Password

messages_uri: "902" ; Phone number to dial for messages