Ansuel / tch-nginx-gui

Modified file to apply to a stock technicolor GUI
GNU General Public License v3.0
340 stars 52 forks source link

FTTH Voip WindTre not registering #1175

Closed apbard closed 5 months ago

apbard commented 6 months ago

Device Model/Firmware: MediaAccess TG789vac v2 with unlocked Tiscali firmware GUI Version: 9.6.65-89342d7b

I have an FTTH fiber connection with WindTre as ISP provider. I have been able to configure the internet connection but I am struggling with the voip one. I have read many posts like this (https://www.ilpuntotecnico.com/forum/index.php?topic=82882.0) however that configuration seems to work only with FTTC connections where the isp use only Vlan 835. For FTTH, windtre uses 2 vlan, one for data and one for voip

VLan: 835(data)
VLan: 836(voice)
Protocol: PPPoE
PPPoE usr: benvenuto
PPPoE pwd: ospite
Encapsulation: LLC
NAT: enabled
COS data: 0 (IEEE 802.1 P)
COS voice: 5 (IEEE 802.1 P)

These are the voip parameters provided by the ISP:

user: 390123123123     # (39<phone number>)
pass: PASSPASS            # (pass ) 
dominio: windtre.it
proxy: voip.windtre.it
VLC: 836

As mentioned in the title I have not been able even to register.

What I tried so far:

1. Reuse broadif1 interface from tiscali default config

In /etc/config/network I already had a broadif1 interface and routing rules and policies defined. I naively tried to change the vid and the dns. Not sure how and if I have to change other things. I tried to change the broadif1 ipaddr to 151.7.XXXX assigned to ppoe-wan.

config device 'voipeth4'
    option enabled '1'
    option type '8021q'
    option name 'voipeth4'
    option macaddr 'MACXXXX:7B:4F'
    option ifname 'eth4'
    option vid '836'  # changed to 836

config interface 'broadif1'
    option proto 'static'
    option ipaddr '10.50.1.1'   # have I to change this?
    option netmask '255.255.255.240'
    option macaddr 'MACXXXX:7B:4F'
    option defaultroute '1'
    option peerdns '0'
    list dns '151.5.216.15'   # set to windtre dns
    list dns '151.5.216.150'   # set to windtre dns
    option ip4table 'voip'
    option ifname 'voipeth4'
    option auto '1'

config route 'broadif1_default'
    option interface 'broadif1'
    option target '10.0.0.0'
    option netmask '255.0.0.0'
    option gateway '10.50.0.0'
    option metric '1'

In the logread | grep mbpx logs I see:

Thu Dec 14 16:56:36 2023 user.debug mmpbxd[7828]: [MMRVSIPIMPL::REGTERMOBJ]:D: profileTimerCb:303 - regTerm->networkDisabled 0
Thu Dec 14 16:56:36 2023 user.debug mmpbxd[7828]: [MMRVSIPIMPL]   :I: mmRvSipPrintMessage:513 - -->
Thu Dec 14 16:56:36 2023 user.debug mmpbxd[7828]: [MMRVSIPIMPL]   :I: mmRvSipPrintMessage:520 - REGISTER sip:windtre.it SIP/2.0
Thu Dec 14 16:56:36 2023 user.debug mmpbxd[7828]: [MMRVSIPIMPL]   :I: mmRvSipPrintMessage:520 - From: <sip:39MYNUM@windtre.it>;tag=e1c620-9707ca1e-13c4-777B4F-7d7a829d-6d889629-3d14f7
Thu Dec 14 16:56:36 2023 user.debug mmpbxd[7828]: [MMRVSIPIMPL]   :I: mmRvSipPrintMessage:520 - To: <sip:39MYNUM@windtre.it>
Thu Dec 14 16:56:36 2023 user.debug mmpbxd[7828]: [MMRVSIPIMPL]   :I: mmRvSipPrintMessage:520 - Call-ID: e5f218-9707ca1e-13c4-777B4F-4b94214d-43a3eed3-3d14f7
Thu Dec 14 16:56:36 2023 user.debug mmpbxd[7828]: [MMRVSIPIMPL]   :I: mmRvSipPrintMessage:520 - CSeq: 1 REGISTER
Thu Dec 14 16:56:36 2023 user.debug mmpbxd[7828]: [MMRVSIPIMPL]   :I: mmRvSipPrintMessage:520 - Via: SIP/2.0/UDP 151.7.XXXX:5060;branch=z9hG4bK-fa3-3d14f8-f64d3fe-de6ec0
Thu Dec 14 16:56:36 2023 user.debug mmpbxd[7828]: [MMRVSIPIMPL]   :I: mmRvSipPrintMessage:520 - Max-Forwards: 70
Thu Dec 14 16:56:36 2023 user.debug mmpbxd[7828]: [MMRVSIPIMPL]   :I: mmRvSipPrintMessage:520 - Supported: replaces,100rel,timer
Thu Dec 14 16:56:36 2023 user.debug mmpbxd[7828]: [MMRVSIPIMPL]   :I: mmRvSipPrintMessage:520 - X-Serialnumber: CP####
Thu Dec 14 16:56:36 2023 user.debug mmpbxd[7828]: [MMRVSIPIMPL]   :I: mmRvSipPrintMessage:520 - Expires: 3600
Thu Dec 14 16:56:36 2023 user.debug mmpbxd[7828]: [MMRVSIPIMPL]   :I: mmRvSipPrintMessage:520 - Contact: <sip:39MYNUM@151.7.XXXX:5060>
Thu Dec 14 16:56:36 2023 user.debug mmpbxd[7828]: [MMRVSIPIMPL]   :I: mmRvSipPrintMessage:520 - User-Agent: MediaAccess TG789vac v2 Build 16.3.7636-2921 --
Thu Dec 14 16:56:36 2023 user.debug mmpbxd[7828]: [MMRVSIPIMPL]   :I: mmRvSipPrintMessage:520 - Content-Length: 0
Thu Dec 14 16:56:36 2023 user.debug mmpbxd[7828]: [MMRVSIPIMPL]   :I: mmRvSipPrintMessage:520 -
Thu Dec 14 16:56:36 2023 user.debug mmpbxd[7828]: [MMRVSIPIMPL]   :I: mmRvSipPrintMessage:522 -
Thu Dec 14 16:56:36 2023 user.debug mmpbxd[7828]: [MMRVSIPIMPL::REGTERMOBJ]:I: registerStateChanged:790 - regTerm=0xcc4f98, hProfile=0xcc5a20, networkRegisterType 0, oldState Unregistered eState Registering, eReason 0
Thu Dec 14 16:56:36 2023 user.debug mmpbxd[7828]: [MMRVSIPIMPL::REGTERMOBJ]:I: registerStateChanged:889 - Set newState Registering to regTerm 0xcc4f98
Thu Dec 14 16:56:36 2023 user.debug mmpbxd[7828]: [MMRVSIPIMPL::REGTERMOBJ]:I: registerStateChanged:946 - Profile:0xcc5a20 register state changed from Unregistered to Registering
Thu Dec 14 16:56:36 2023 user.debug mmpbxd[7828]: [MMUBUS]        :D: sendToThread:317 - going to send to the UBUS thread
Thu Dec 14 16:56:36 2023 user.debug mmpbxd[7828]: [MMUBUS]        :D: parseTriggerFd:112 - parseTrigger receiving
Thu Dec 14 16:56:36 2023 user.debug mmpbxd[7828]: [MMUBUS]        :D: parseTriggerFd:125 - parseTrigger got SEND_EVENT
Thu Dec 14 16:56:36 2023 user.debug mmpbxd[7828]: [MMRVSIPIMPL::REGTERMOBJ]:I: registerTermCompleted:626 - IppTerminal 0xe61c90 registered
Thu Dec 14 16:56:36 2023 user.debug mmpbxd[7828]: [MMRVSIPIMPL::REGTERMOBJ]:D: profileTimerCb:299 - regTerm->state 2
Thu Dec 14 16:56:36 2023 user.debug mmpbxd[7828]: [MMRVSIPIMPL::REGTERMOBJ]:D: profileTimerCb:300 - regTerm->deleted 0
Thu Dec 14 16:56:36 2023 user.debug mmpbxd[7828]: [MMRVSIPIMPL::REGTERMOBJ]:D: profileTimerCb:301 - regTerm->enabled 1
Thu Dec 14 16:56:36 2023 user.debug mmpbxd[7828]: [MMRVSIPIMPL::REGTERMOBJ]:D: profileTimerCb:302 - regTerm->modified 0
Thu Dec 14 16:56:36 2023 user.debug mmpbxd[7828]: [MMRVSIPIMPL::NETWORKOBJ]:C: onStackLogEvent:1836 - TRANSACTION  - TransactionTransportTrxStateChangeEv - pTransc=0x0xe1c620: Message failed to be sent (rv=0:OK)
Thu Dec 14 16:56:36 2023 user.debug mmpbxd[7828]: [MMRVSIPIMPL::REGTERMOBJ]:I: registerStateChanged:790 - regTerm=0xcc4f98, hProfile=0xcc5a20, networkRegisterType 0, oldState Registering eState Msg Send Failure, eReason 11
Thu Dec 14 16:56:36 2023 user.debug mmpbxd[7828]: [MMRVSIPIMPL::REGTERMOBJ]:I: registerStateChanged:889 - Set newState Unregistered to regTerm 0xcc4f98
Thu Dec 14 16:56:36 2023 user.debug mmpbxd[7828]: [MMRVSIPIMPL::REGTERMOBJ]:E: regTermObjFirewallUpdate:2708 - Unable to retrieve currentDestination from SIP network ..
Thu Dec 14 16:56:36 2023 user.debug mmpbxd[7828]: [MMRVSIPIMPL::REGTERMOBJ]:I: registerStateChanged:946 - Profile:0xcc5a20 register state changed from Registering to Unregistered

2. Implementing a new voip interface

Following the discussions #1091, #1174, #1165 and https://www.ilpuntotecnico.com/forum/index.php/topic,82347.0.html that looks similar to what I need to do I tried to implement a new interface voip. (excerpt from /etc/config/network)

config interface 'wan'
    option proto 'pppoe'
    option macaddr 'MACXXXX:7B:4F'
    option auto '1'
    option ifname 'waneth4'
    option peerdns '1'
    option ipv6 '0'
    option username 'ospite'
    option password 'benvenuto'

config interface 'voip'
    option auto '1'
    option proto 'pppoe'
    option demand '0'
    option macaddr 'MACXXXX:7B:4E'
    option ipv6 '0'
    option keepalive_adaptive '0'
    option ifname 'voipeth4'
    option password 'ospite'
    option username 'benvenuto'
    option keepalive '4,20'
    option defaultroute '0'

config device 'voipeth4'
    option type '8021q'
    option name 'voipeth4'
    option macaddr 'MACXXXX:7B:4E'
    option ifname 'eth4'
    option vid '836'

But, according to the guide for vodafone I should see a pppoe-voip interface using the route command. Instead I only see the standard pppoe-wan. Hence, I suspect something is wrong since the beginning.

In both cases I have tried with the SIP 5060 nat helper enabled and disabled.

Can you please give me support? thanks

cc @FrancYescO, @milouk, @Battol02, @vmsh0

FrancYescO commented 6 months ago

did you take a look at https://www.ilpuntotecnico.com/forum/index.php?topic=85155.0 ?

apbard commented 6 months ago

did you take a look at https://www.ilpuntotecnico.com/forum/index.php?topic=85155.0 ?

yep, it is not specified in that thread but that should be telephony config that works for the fttc or adsl. I have ftth and from the parameters shared by windtre it looks different as it use two vlans (with respect to just one (835) used by adsl and fftc).

apbard commented 5 months ago

For future reference and those who may have the same issue:

Steps to have internet and voip working.

  1. root the device
  2. install Ansuel GUI
  3. disable wansensing and cwmpd from the gui
  4. configure SIP as following (mmpbxrvsipnet file):

    mmpbxrvsipnet ``` config mmpbxrvsipnet 'global' option trace_level '4' option radvision_trace_level '0' config syslog 'syslog' option registration '1' option call_signalling '1' option syslog_priority '6' option hide_user_identity '0' config network 'sip_net' option user_friendly_name 'SIP network' option cac '-1' option transparent_soc_transmission '0' option local_port '5060' option primary_proxy_port '5060' option primary_registrar_port '5060' option secondary_registrar 'windtre.it' option secondary_proxy_port '0' option transport_type 'UDP' option realm 'windtre.it' option reg_expire '3600' option reg_expire_T_before '1' option realm_check '0' option 401_407_waiting_time '0' option dtmf_relay 'auto' option dtmf_relay_translation '0' option timer_T1 '500' option timer_T2 '4000' option timer_T4 '5000' option timer_B '32000' option timer_D '50000' option timer_F '32000' option timer_J '32000' option provisional_timer '180' option remote_hold_tone_enabled '0' option sdp_direction_call_hold 'sendonly' option sdp_direction_call_hold_answer 'recvonly' option uri_clir_format 'standard' option privacy_handling 'apply' option rejection_response '486' option no_answer_response '480' option call_waiting_provisional_response '182' option call_waiting_reject_response '486' option reliable_provisional_response 'supported' option forking_mode 'default' option ingress_media_timeout '1000' option session_timer 'disabled' option min_session_expires '90' option fail_behaviour 'stop' option min_period_proxy_redundancy '0' option escape_hash '1' option escape_star '0' option control_qos_field 'dscp' option control_qos_value 'ef' option realtime_qos_field 'dscp' option from_anonymous_handling 'withheld' option sip_over_ipv6 '0' option include_sip_instance '0' option waiting_time_for_registration_on_400_or_503_response '300' option update_support '1' option use_domain_in_contact '0' option use_domain_in_via '0' option sdp_direction_attribute_media_level_only '0' option registration_delay '0' option enable_re_register_on_cancel_timeout '1' option rport_in_via '1' option optimized_authentication '0' option repeat_ringing_interval '60' option re_register_on_403 '0' option re_register_on_504 '1' option check_ttl_for_dns_record '1' option stick_to_outbound_proxy '1' option switch_next_proxy_on_failure_response '0' option dns_query_timeout '5000' option conference_release_call_after_transfer '1' option disconnect_on_bye_response '0' option cancel_invite_timer '32000' option user_agent 'windtre.it' option primary_registrar 'windtre.it' option primary_proxy 'voip.windtre.it' option realtime_qos_value 'af42' option secondary_registrar_port '5060' option switch_back_to_primary_proxy_timer '0' option reg_back_off_timeout '180' option session_expires '180' option re_registration_mode 'ims' option interface 'wan' config profile 'sip_profile_0' option network 'sip_net' option display_name '3902######' option user_name '3902######' option enabled '1' option password 'YOURPASSWORD' option uri '3902######@windtre.it' ```
  5. delete unused interfaces/devices (network file):

    network ``` config interface 'loopback' option ifname 'lo' option proto 'static' option ipaddr '127.0.0.1' option netmask '255.0.0.0' config interface 'lan' option ifname 'eth0 eth1 eth2 eth3' option type 'bridge' option proto 'static' option ipaddr '192.168.1.1' option netmask '255.255.255.0' option ip6assign '64' option force_link '0' list pppoerelay 'atm_8_36' config switch 'bcmsw' option reset '1' option enable_vlan '0' option qosimppauseenable '0' option jumbo '0' config interface 'wan' option proto 'pppoe' option username 'benvenuto' option password 'ospite' option macaddr 'A4:91:BB:BB:BB:BB' option auto '1' option ifname 'waneth4' config device 'waneth4' option enabled '1' option type '8021q' option name 'waneth4' option macaddr 'A4:91:BB:BB:BB:BB' option ifname 'eth4' option vid '835' config interface 'wwan' option proto 'mobiled' option session_id '0' option profile '1' option auto '1' config config 'config' option wan_mode 'pppoe' config interface 'ipoe' option proto 'dhcp' option metric '1' option reqopts '1 3 6 43 51 58 59' option release '1' option neighreachabletime '1200000' option neighgcstaletime '2400' option ipv6 '1' ```
  6. clear the content of mwan file