Voice
3 Overview > Introduction Introduction > SIP Basic Configuration SIP Basic Configuration > SIP Advanced Configuration SIP Advanced Configuration > SIP Services SIP Services > Codec Use Codec Use > Country Specific Settings Country Specific Settings > Advanced Voice Routing Advanced Voice Routing > Debug VoIP Debug VoIP
Introduction
5 SIP – Network Elements IP Network Registrar Proxy SIP phone Signalling Data / Voice IP / PSTN Gateway IP / PSTN Gateway PSTN phone
6 SIP Session Setup Example 200 OK ACK INVITE host.wcom.comsip.uunet.com SIP User Agent Client SIP Proxy BYE 200 OK Media Stream
7 SIP Protocol: Main Actors > Client: board, SoftPhone, SIP phone Board / Voice ports > FXS1 / FXS2 > DECT SIP phone ST2020, ST2030, ST288 > Registrar > Proxy > Gateways
8 VoIP on Board > Inbound SIP client > Voice Codecs > Voice Services > Others
9 SIP ALG > Handles connections > Does NAT mapping > Replaces parts of SIP message containing address / port of Local Network to corresponding ones of NAPT mapping SIP SERVER
10 Inbound SIP Client – Illustrated SIP SERVER
SIP Basic Configuration
12 Basic Configuration – GUI Access > Factory defaults on LAN DHCP-Server enabled on PC Thomson Gateway IP-address: URL: Telnet/GUI Username: Administrator No password > Thomson Gateway Set-Up Wizard This launches pop-up window for easy configuration
13 Toolbox: Telephony
14 Toolbox: Telephony – Expert Configure > Registrar: used as domain-name FQDN or IP > Proxy: SIP destination Server IP-address FQDN or IP
15 Toolbox: Telephony – Configure > SIP URI: telephone number > Username and Password: SIP authentication > Display name: CLIP > Abbr. Number: internal number between local phones > Port: assign number to
16 SIP Registration VoIP activation > Enable Telephony Register successful Register not successful
SIP Advanced Configuration
18 :service System > Service manager on Thomson Gateway Enable / disable service Change local port (source port) Access list on Interface/IP-address Labels for routing and QoS > Service manager automatically generates NAT entries Firewall rules
19 :service System – Continued > Manually enable VoIP service: :service system modify name=VOIP_SIP state=enable :service system list expand=enabled e.g. Change voice source port, default=5060 :service system modify name=VOIP_SIP port=5091
SIP-ALG Since 6.2, SIP-ALG has to be used for local voice application =>connection bindlist Application Proto Portrange Flags SIP udp 5060 SIP_ALG:E RTP_predict_for_term_SIP_ALG:E if not in list: :connection bind application=SIP port=5060 if FLAG not set = automatically learning RTP flow from SIP SDP negotiation :connection appconfig application=SIP RTP_predict_for_term_SIP_ALG=enabled
21 Voice Ports > FXS = Analogue phone > FXO = PSTN-line > DECT = DECT handsets associated to ST7x7 Common ports are groups of voice ports > All / COMMON = all available ports > All DECT
22 Common Number > Multiple common numbers supported > Outgoing call from local voice port uses COMMON number as CID (Caller ID) When no local number specifically configured for that port Automatically activated when COMMON number used Cannot be withdrawn > Incoming call on COMMON number rings all available ports
23 Voice HW: Regulatory and FXO Analogue Outgoing Telephone LinePOTS Back-Up Level 0 : No FXO nor PSTN Backup Level 1 : ONLY support for power failure to dial out Level 2 : Power Failed + VoIP Service Failed + Prefix dialing first then PSTN + Incoming FXO Calls Reduced FXO Level 3 : Power Failed + VoIP Service Failed + Prefix dialing first then PSTN + Incoming FXO Calls + Emergence call without prefix dialing needs (ex : 110, Specific No. can be configurable by customers...etc.) Full FXO 780 / / 716
24 Voice FXO =>voice fxoport config Incoming fxo : enabled FXO disconnect timer : 1000 [incfxo = ] Enable or disable incoming FXO calls disable FXO relay [fxodisconnect = ] The FXO disconnect timer (in ms)
25 :voice Configuration CLI: =>:voice help config > [autofxo = ]: automatically make FXO calls when not registered > [digitrelay = ]: set digit relay mode > [click2dial_ports = ]: set click to dial port > [rtp_portrange = ]: RTP port range > [sign_internal = ]: signalling for local calls kept local or external > [static_intf = ]: use static (configured) interface to look for source IP address or not > [intf = ]: name of IP interface used for VOIP traffic
26 :voice Configuration – Continued CLI: =>:voice help config > [secondintf = ]: name of backup IP interface used for VOIP traffic > [endofnumber = ]: end of number character for dialled number starting with cipher > [countrycode = ]: local country code > [delayeddisconnect = ]: enable or disable delayed disconnect feature > [delayeddisconnecttimer = ]: delayed disconnect timer (in seconds) > [ringmuteduration = ]: early media mute duration (in minutes)
27 SIP Configuration: Overview :voice sip config UserAgent domain : thomsongateway.sip Primary proxy address : voip.thomson.be:5060 Secondary proxy address : :5060 Not supported Primary registrar address : voip.Thomson Gateway.be:5060 Secondary registrar address : :5060 Not supported Listening port : 5060 Expire time : 3600 Expire time delta : 1 Notifier address : :5060 Subscribe expire time : 3600
28 SIP Configuration: Overview – Continued :voice sip config Call Waiting reply : 182 Transport : UDP rtpmapstaticPT : Disabled reinvite_stop_audio : Disabled PRACK : Disabled Clir format : standard DTMF */# in INFO method : 1011 Clip consider displayname : yes SDP packet time : 20 Replace # : Enabled Symmetric codec : Enabled Reinvite at calling fax detect : Disabled SIPURI port : Enabled rport : Disabled SDP username : 780 ringtoneat183 : Disabled T38 Port increment : 0 Ping timer : 0 Min SE timer : 90 Session expires timer : 120 Expires timer : 0
29 :voice Profile – Create VoIP User > Voice profile add SIP_URI = telephone number > SIP URI related to voice port [username = ] Authentication username related to voice port [password = ] Authentication password related to voice port [displayname = ] CLIP info Alias name for SIP_URI voiceport = available ports on TG Analogue line number [abbr = ] > Abbreviated number mapped to SIP_URI > abbr. number only supported when URI has NO LETTERS, only numbers =>voice profile list SIP_URI all Port Uri DisplayName Username Abbr Nbr RegStatus Msg Waiting COMMON Registered No
30 :voice Country > =>voice country config country=belgium Pre-loaded country settings > Country = australia | belgium | denmark | etsi | france1 | france2 | france3 |germany | italy | netherlands | northamerica | norway | spain | sweden | uk > Country specific settings: DTMF tones / dial tones / Hook flash timer / polarity / etc. Can be changed to specific needs Special file in dl-directory: vincfg.bin
31 :voice Cac > =>:voice cac help config [max#portsperprofile = ] > Maximum number of ports that can be used with common profile One: only 1 call with common number possible at same time All: multiple calls with common number possible at same time
SIP Services
33 Local Services: 3 Port Call What is needed for 3-way conference call using VoIP? Voice Network hold R+2 3way R+3 switch R+2 1. Answer or make call 2. Put 1 st call on hold 3. Make 2 nd call 4. Switch between calls or put in 3-way conference call Services available?
34 Supplementary Services SpeedTouch 6.1 > Transfer: Call Transfer between local ports > Hold: put active Call on Hold > Waiting: incoming call while active call indication > Mwi: Message Waiting Indication > Clip: Calling Line Identification Presentation > Clir: Calling Line Identification Restriction > 3pty: Three Party Call
35 Supplementary Services SpeedTouch 6.1 – Continued > forcedFXO: switch to FXO (PSTN) > Cfu: Call Forwarding Unconditional > Cfnr: Call Forwarding on No Reply > Cfbs: Call Forwarding on Busy > Ccbs: Call Completion on Busy Subscriber > Clironcall: CLIR for only one call > Waitingoncall: Call Waiting active for only one call
Codec Use
37 Codec Support Codec G.711 audio at 64 Kbit/s, A-law G.711 audio at 64 Kbit/s, µ-law G.723. I at either 5.3 or 6.3 Kbit/s G.723. I at either 5.3 or 6.3 Kbit/s with silence suppression as in AnnexA G.726: ADPCM at 16 Kbit/s G.726: ADPCM at 24 Kbit/s G.726: ADPCM at 32 Kbit/s G.726: ADPCM at 40 Kbit/s G.729AnnexA audio at 8 Kbit/s G.729AnnexA audio at 8 Kbit/s with silence suppression as in AnnexB
Advanced Voice Routing
39 Advanced Routed Scenario > Multiple routed interfaces > How VoIP interface binding? > VoIP routing-based Best route used SIP SoftSwitch is known IP-address UA and RTP? No IP-address known All VoIP GW configured in routing complex
40 Internal Overview dhcp voice_ip_intf default bridge video group id=2 bridge pvc 8/35 ETH ports Flexiport move Eth-port to video group Eth bridge Eth-mer-if ip voice_ip_intf PPP relay PPP Routing PPP - default MAC MER - USB MAC Eth-mer-if is connected to bridge group video VoIP - SIP application
41 VoIP Interface Specific > Source IP address selection (on interface) :voip config static_intf=enabled intf=voip_ip_intf > VoIP label for RTP routing RTP via SIP-ALG and label inheritance (default 7.4) =>connection bindlist Application Proto Portrange Flags SIP udp 5060 SIP_ALG:E RTP_predict_for_term_SIP_ALG:E {Administrator}[label]=>list Name Class Def Ack Bidirect Inherit Tosmark Type Value Use Trace DSCP overwrite dscp prioritize disabled disabled disabled tos 0 1 disabled Interactive increase 8 6 disabled disabled disabled tos 0 14 disabled Management increase disabled disabled disabled tos 0 4 disabled Video increase disabled disabled disabled tos 0 2 disabled VoIP-RTP overwrite enabled disabled disabled tos 0 1 disabled VoIP-Signal overwrite enabled disabled disabled tos 0 2 disabled default increase default prioritize disabled disabled disabled tos 0 1 disabled
42 Add Label Routing default QoS rule :label rule add chain=qos_default_labels index=3 serv=sip log=disabled state=enabled label=VoIP to be added for voice routing: :label add Voip_only inheritance=enabled :label rule add chain=rt_user_labels index=1 srcintf=local serv=sip log=disabled state=enabled label=Voip_only Label rule instructs that all CPE SIP traffic has to use this label
43 Label Routing / Forwarding > Static IP-address :ip rtadd dst /0 label=Voip_only gateway= > PPP VoIP interface :ppp rtadd intf=Internet dst= /0 label=Voip_only > DHCP-Client VoIP interface :dhcp client ifconfig intf=voip_ip_intf label=Voip_only gateway=enabled
Debug VoIP
45 Tips and Tricks > Services not working No hookflash detection etc.? > Change country to etsi or northamerica > Different analogue phone settings / timers > One way voice Codec priority changes > Enable / disable codecs Ptime changes > Ptime acceptable for Gateway? Connection bindlist > SIP-ALG bounded? Symmetrical codec > Enabled for 7G?
46 Debug VoIP: Standard Traces > Ctrl-q start debug > Ctrl-s stop debug > Ctrl-t clear buffer > Ethereal trace has VoIP flow > Statistics : VoIP Call > Additional voice traces > Enable :voice debug exec cmd=trace 1 > Disable :voice debug exec cmd=trace 0
47 Hands on - debugging > Install and configure x-lite (SoftPhone)
48 Debugging
49 Debugging
50 Debugging > 200 OK is received by the CPE but not forwarded to the Computer running x-lite
51 Debugging [IN]LocalNet-> : UDP >5080 [UT]LocalNet->ip_voice : UDP >5080 [IN] ip_voice-> : UDP 5080->62748 [DR] ip_voice->ip_voice : UDP 5080->62748 : error caused by NAT-INPUT > The 200 OK is dropped because the packet is received on the wrong port Why does the SIPServer reply on 62748?
52 Solving > The data sent to the SIPserver is wrong obviously because of NAT. > The ALG should modify the content and generate the appropriated NAT entry. > The SIP ALG is bound to the wrong Port {Administrator}=>connection bindlist Application Proto Portrange Flags SIP udp 5060 SIP_ALG:E RTP_predict_for_term_SIP_ALG:E IKE udp 500 {Administrator}=>:connection bind application=SIP port=5080