===== Schritt 1: DNSMasq einrichten ===== Folgende Konfiguration in der /etc/dnsmasq.conf o.ä. kopieren: # deactivate DNS port=0 # listen on specific interface and/or address interface=eth0 #listen-address=192.168.1.254 listen-address=10.23.42.254 bind-interfaces ## DHCP configuration #dhcp-range=192.168.1.10,192.168.1.100 dhcp-range=10.23.42.10,10.23.42.100 dhcp-option=option:router,10.23.42.254 dhcp-option=option:dns-server,8.8.8.8 ## TFTP configuration enable-tftp tftp-root=/var/tftpboot dhcp-option=150,10.23.42.254 Dann den dnsmasq im Vordergrund starten: $ dnsmasq -d Bei einem OpenWRT-Router kann die Konfiguration auch via UCI hinterlegt werden, zum Beispiel so: config dnsmasq option domainneeded 1 option boguspriv 1 option filterwin2k '0' #enable for dial on demand option localise_queries 1 option local '/lan/' option domain 'lan' option expandhosts 1 option nonegcache 0 option authoritative 1 option readethers 1 option leasefile '/tmp/dhcp.leases' option resolvfile '/tmp/resolv.conf.auto' #list server '/mycompany.local/1.2.3.4' #option nonwildcard 1 #list interface br-lan #list notinterface lo option enable_tftp 1 option tftp_root /srv/tftp config dhcp lan option interface lan option start 100 option limit 150 option leasetime 12h list 'dhcp_option' '150,192.168.1.254' config dhcp wan option interface wan option ignore 1 Die Konfiguration wird mittels uci commit dhcp im System gespeichert. Natürlich muss hier noch das Verzeichnis /srv/tftp angelegt werden. Die Konfigurationsdateien gehören in dieses Verzeichnis. Via logread kann man dann die Debug-Ausgaben des dnsmasq sehen. Wenn das Telefon mit Strom versorgt wird, sollte es versuchen, seine IP zu konfigurieren und die Konfigurationsdatei zu laden. Das sieht so aus: $ sudo dnsmasq -d -i eth0 dnsmasq: started, version 2.59 DNS disabled dnsmasq: compile time options: IPv6 GNU-getopt DBus i18n DHCP TFTP conntrack IDN dnsmasq-dhcp: DHCP, IP range 192.168.1.10 -- 192.168.1.100, lease time 1h dnsmasq-tftp: TFTP root is /var/tftpboot dnsmasq-dhcp: DHCPDISCOVER(eth0) 172.16.2.4 00:15:c6:16:b8:29 dnsmasq-dhcp: DHCPOFFER(eth0) 192.168.1.47 00:15:c6:16:b8:29 dnsmasq-dhcp: DHCPREQUEST(eth0) 192.168.1.47 00:15:c6:16:b8:29 dnsmasq-dhcp: DHCPACK(eth0) 192.168.1.47 00:15:c6:16:b8:29 SIP0015C616B829 dnsmasq-tftp: file /var/tftpboot/OS79XX.TXT not found dnsmasq-tftp: file /var/tftpboot/SIPDefault.cnf not found dnsmasq-tftp: file /var/tftpboot/SIP0015C616B829.cnf not found Nun fehlt noch die Konfiguration (siehe die letzten drei Zeilen in obiger Ausgabe). Eine passende Konfiguration findet sich z.B. [[http://www.europott.org/2009/05/31/cisco-7960g-und-fritzbox-fonwlan|hier]]. Die beiden Konfigurationsdateien müssen natürlich entsprechend angepasst werden. Danach sollte das Telefon sauber booten. SIPDefault.cnf # CISCO 7960G Beispiel Konfiguration für FritzBox 7170 # An den Stellen wo "FritzBox IP" steht muss die IP Adresse der FritzBox eingetragen werden # An den Stellen wo "Webserver IP" steht muss die IP Adresse eines Webserver mit XML Service eingetragen werden # Wird diese Funktionalität nicht genutzt, bitte auskommentiert lassen # # Image Version # image_version: "P0S3-08-8-00" Auskommentiert da SIP Firmware schon geladen ist # Proxy Server #proxy1_address: "" Auskommentiert da in der SIP.cnf schon vergeben #proxy2_address: "" #proxy3_address: "" #proxy4_address: "" #proxy5_address: "" #proxy6_address: "" # Proxy Server Port (default - 5060) Auskommentiert da in der SIP.cnf schon vergeben #proxy1_port:"5060" #proxy2_port:"" #proxy3_port:"" #proxy4_port:"" #proxy5_port:"" #proxy6_port:"" # Emergency Proxy info proxy_emergency: "192.168.255.1" proxy_emergency_port: "5060" # Backup Proxy info #proxy_backup: "" #proxy_backup_port: "5060" # Nur einmal definieren -> daher in SIPMAC.cnf # Outbound Proxy info # outbound_proxy: "" # outbound_proxy_port: "5060" # NAT/Firewall Traversal nat_enable: "1" #nat_address: "" voip_control_port: "5060" #start_media_port: "16384" #end_media_port: "32766" #nat_received_processing: "0" # Proxy Registration (0-disable (default), 1-enable) Muss auf "1" stehen sonst registriert sich das 7960 nicht an der FritzBox proxy_register: "1" # Phone Registration Expiration [1-3932100 sec] (Default - 3600) timer_register_expires: "3600" # Codec for media stream (g711ulaw (default), g711alaw, g729) preferred_codec: "none" # 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: "0" ; 0-Disabled, 1-Enabled (default) # Allow Transfer to be completed while target phone is still ringing semi_attended_transfer: "0" ; 0-Disabled, 1-Enabled (default) # Telnet Level (enable or disable the ability to telnet into this phone telnet_level: "2" ; 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: "0" # 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: "180" ; Default 180 sec # Setting for Message speeddial to UOne box # Hier habe ich die FritzBox Voice Mail Nummer hinterlegt messages_uri: "**600" #********* Release 2 new config parameters ********** # TFTP Phone Specific Configuration File Directory tftp_cfg_dir: "./" # Time Server sntp_mode: "unicast" sntp_server: "IP eines NTP Servers" time_zone: "CET" dst_offset: "0" dst_start_month: "Jan" dst_start_day: "" dst_start_day_of_week: "Mon" dst_start_week_of_month: "2" dst_start_time: "02" dst_stop_month: "Dec" dst_stop_day: "" dst_stop_day_of_week: "Sunday" dst_stop_week_of_month: "1" dst_stop_time: "2" dst_auto_adjust: "1" # 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: "syncinfo" # 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" # URL for external Phone Services - Netter offener Beispiel XML Service: services_url: "http://phone-xml.berbee.com/menu.xml" # URL for external Directory location #directory_url: "http://IP Adresse Webserver/xmlservices/PhoneDirectory.php" # URL for branding logo - hier kann ein Logo in 4 Graustufen 320x196 hinterlegt werden #logo_url: "http://IP Adresse Webserver/background.bmp" SIP[MAC].cnf # SIP Configuration Generic File (start) # CISCO 7960G Beispiel Konfiguration für FritzBox 7170 # An den Stellen wo "FritzBox IP" steht muss die IP Adresse der FritzBox eingetragen werden # An den Stellen wo "Webserver IP" steht muss die IP Adresse eines Webserver mit XML Service eingetragen werden # Wird diese Funktionalität nicht genutzt, bitte auskommentiert lassen # # Proxy Server proxy1_address: "192.168.255.1" proxy2_address: "" proxy3_address: "" proxy4_address: "" proxy5_address: "" proxy6_address: "" # Line 1 Settings line1_name: "7701" ; Line 1 Extension\User ID line1_displayname: "7701" ; Line 1 Display Name line1_shortname: "7701" ; Line 1 Shortname Diplsy Lable line1_authname: "7701" ; Line 1 Registration Authentication line1_password: "7701" ; Line 1 Registration Password # Line 2 Settings #line2_name: "Büro" ; Line 2 Extension\User ID #line2_displayname: "Büro" ; Line 2 Display Name #line2_authname: "620" ; Line 2 Registration Authentication #line2_password: "cisco" ; Line 2 Registration Password # Emergency Proxy info #proxy_emergency: "" #proxy_emergency_port: "5060" # Backup Proxy info #proxy_backup: "" #proxy_backup_port: "5060" # Outbound Proxy info outbound_proxy: "192.168.255.1" outbound_proxy_port: "5060" # Test # Proxy Registration (0-disable (default), 1-enable) proxy_register: "1" # NAT/Firewall Traversal nat_enable: "1" #nat_address: "FritzBox IP" #voip_control_port: "5060" #start_media_port: "16384" #end_media_port: "32766" #nat_received_processing: "1" # Phone Label (Text desired to be displayed in upper right corner) phone_label: "test" ; Has no effect on SIP messaging # Time Zone phone will reside in time_zone: EET # Telnet Level (enable or disable the ability to telnet into this phone telnet_level: "2" ; 0-Disabled (default), 1-Enabled, 2-Privileged # Phone prompt/password for telnet/console session #phone_prompt: "" ; Telnet/Console Prompt #phone_password: "" ; Telnet/Console Password # Enable_VAD (1-enabled, 0-disabled) enable_vad: "0" # Network Media Type (auto, full100, full10, half100, half10) network_media_type: "auto" user_info: phone # URL for external Directory location #logo_url: "http://Webserver IP/background.bmp" ; URL for anding logo to be used on phone display # SIP Configuration Generic File (stop) ===== Schritt 2: Asterisk einrichten ===== sip.conf [general] context=default ; Default context for incoming calls ; If your Asterisk is connected to the Internet ; and you have allowguest=yes ; you want to check which services you offer everyone ; out there, by enabling them in the default context (see below). allowoverlap=no ; Disable overlap dialing support. (Default is yes) udpbindaddr=0.0.0.0 ; IP address to bind UDP listen socket to (0.0.0.0 binds to all) tcpenable=no ; Enable server for incoming TCP connections (default is no) tcpbindaddr=0.0.0.0 ; IP address for TCP server to bind to (0.0.0.0 binds to all interfaces) srvlookup=yes ; Enable DNS SRV lookups on outbound calls ; Default value is 70 ; Default: 60 ; Default: 100 ; Default: 1 ; "user" portion of the URI in the From: header with this ; value if no fromuser is set ; Default: empty [authentication] [basic-options](!) ; a template dtmfmode=rfc2833 context=from-office type=friend [natted-phone](!,basic-options) ; another template inheriting basic-options nat=yes directmedia=no host=dynamic [public-phone](!,basic-options) ; another template inheriting basic-options nat=no directmedia=yes [my-codecs](!) ; a template for my preferred codecs disallow=all allow=ilbc allow=g729 allow=gsm allow=g723 allow=ulaw [ulaw-phone](!) ; and another one for ulaw-only disallow=all allow=ulaw [7701] type=friend secret=7701 host=dynamic [7702] type=friend secret=7702 host=dynamic extensions.conf [general] static=yes autofallthrough=no [default] exten => 500,1,Ringing exten => 500,n,Wait(1) exten => 500,n,Answer exten => 500,n,Wait(1) exten => 500,n,Playback("/home/asterisk/ansage2") exten => 500,n,Record("/tmp/fc/fullcircle%d:wav") exten => 500,n,Hangup ===== Tips & Tricks ===== * Telefon neustarten: *6-Settings> * Asterisk debugging: *CLI> core set verbose 3 Verbosity was 0 and is now 3 *CLI> core set debug 3 Core debug was 0 and is now 3