Closed cynr1c closed 4 years ago
I've also manage to setup the danube-voip package on an Easybox 802 (ARV752PDW) running OpenWrt 14.07. The Easybox is connected to a local wireless network (using a relayd bridge setup) and is registered ("200 OK") as an ip phone on a FritzBox 7490. There's a "FAILED to validate" error message though. I can make and receive calls, but the remote caller can't hear the callees voice on the phone connected to the Easybox (easybox -> external). The other way around it's working (external -> easybox). It doesn't matter who is initiating the call. I'd be interested to hear which dabube-based router you are using. Could you post or send me your svd config file and the parts of the system log when svd is being registered to a sip gateway and when it's receiving a call. THX.
I'm on an EasyBox 803A. Just built the ipks from Luca Google Drive into my 15.01 image and set up the Arcor sip-account through the Luci-Interface. Calling works fine, both ways. What does not work is the ISDN Port. And I do not yet have long-term experience with the packages (regarding stability) as I kept using my old AVM box until to today.
svd:
config main
option log_level '3'
option rtp_port_first '6000'
option rtp_port_last '6100'
option sip_tos '0x10'
option rtp_tos '0x10'
option led 'fxo'
config account 'example'
option disabled 'off'
option user '0xxxxxx'
option password 'xxxxxxx'
option domain '0xxxxxx.sip.arcor.de'
option outbound_proxy '0xxxxxx.sip.arcor.de'
config channel '1'
option hpf 'off'
option cid 'etsi_fsk'
option led 'fxs1'
config channel '2'
option hpf 'off'
option cid 'etsi_fsk'
option led 'fxs2'
syslog after re-applying the voip conf:
Fri Jul 22 12:03:23 2016 local5.info svd[20257]: starting
Fri Jul 22 12:03:23 2016 kern.warn kernel: [ 1041.656000]
Fri Jul 22 12:03:23 2016 kern.warn kernel: [ 1041.656000] WARNING: FW version 12.1.0 too old. Minimum required FW version is 12.4.0
Fri Jul 22 12:03:23 2016 local5.info svd[20257]: Setting caller id standard for channel 1 to etsi_fsk
Fri Jul 22 12:03:23 2016 local5.info svd[20257]: Setting caller id standard for channel 2 to etsi_fsk
Fri Jul 22 12:03:23 2016 local5.info svd[20257]: Event : nua_r_set_params
Fri Jul 22 12:03:23 2016 local5.info svd[20257]: Event : nua_r_get_params
Fri Jul 22 12:03:23 2016 local5.info svd[20257]: sip::from: <sip:92.217.254.x>
Fri Jul 22 12:03:23 2016 local5.info svd[20257]: sip::from_str: "<sip:92.217.254.x>"
Fri Jul 22 12:03:23 2016 local5.info svd[20257]: nua::retry_count: 3
Fri Jul 22 12:03:23 2016 local5.info svd[20257]: nua::max_subscriptions: 20
Fri Jul 22 12:03:23 2016 local5.info svd[20257]: nua::media_enable: true
Fri Jul 22 12:03:23 2016 local5.info svd[20257]: nua::enableInvite: true
Fri Jul 22 12:03:23 2016 local5.info svd[20257]: nua::autoAlert: true
Fri Jul 22 12:03:23 2016 local5.info svd[20257]: nua::early_media: false
Fri Jul 22 12:03:23 2016 local5.info svd[20257]: nua::only183_100rel: false
Fri Jul 22 12:03:23 2016 local5.info svd[20257]: nua::autoAnswer: false
Fri Jul 22 12:03:23 2016 local5.info svd[20257]: nua::autoACK: true
Fri Jul 22 12:03:23 2016 local5.info svd[20257]: nua::invite_timer: 120
Fri Jul 22 12:03:23 2016 local5.info svd[20257]: nua::session_timer: 1800
Fri Jul 22 12:03:23 2016 local5.info svd[20257]: nua::min_se: 120
Fri Jul 22 12:03:23 2016 local5.info svd[20257]: nua::session_refresher: 0
Fri Jul 22 12:03:23 2016 local5.info svd[20257]: nua::update_refresh: false
Fri Jul 22 12:03:23 2016 local5.info svd[20257]: nua::enableMessage: true
Fri Jul 22 12:03:23 2016 local5.info svd[20257]: nua::enableMessenger: false
Fri Jul 22 12:03:23 2016 local5.info svd[20257]: nua::callee_caps: false
Fri Jul 22 12:03:23 2016 local5.info svd[20257]: nua::media_features: false
Fri Jul 22 12:03:23 2016 local5.info svd[20257]: nua::service_route_enable: true
Fri Jul 22 12:03:23 2016 local5.info svd[20257]: nua::path_enable: true
Fri Jul 22 12:03:23 2016 local5.info svd[20257]: nua::refer_expires: 300
Fri Jul 22 12:03:23 2016 local5.info svd[20257]: nua::refer_with_id: true
Fri Jul 22 12:03:23 2016 local5.info svd[20257]: nua::auto302: true
Fri Jul 22 12:03:23 2016 local5.info svd[20257]: nua::auto305: true
Fri Jul 22 12:03:23 2016 local5.info svd[20257]: nua::substate: 2
Fri Jul 22 12:03:23 2016 local5.info svd[20257]: nua::substate: 3600
Fri Jul 22 12:03:23 2016 local5.info svd[20257]: sip::supported: timer, 100rel
Fri Jul 22 12:03:23 2016 local5.info svd[20257]: sip::supported_str: "timer, 100rel"
Fri Jul 22 12:03:23 2016 local5.info svd[20257]: sip::allow: INVITE, ACK, BYE, CANCEL, OPTIONS, PRACK, MESSAGE, SUBSCRIBE, NOTIFY, REFER, UPDATE, INFO
Fri Jul 22 12:03:23 2016 local5.info svd[20257]: sip::allow_str: "INVITE, ACK, BYE, CANCEL, OPTIONS, PRACK, MESSAGE, SUBSCRIBE, NOTIFY, REFER, UPDATE, INFO"
Fri Jul 22 12:03:23 2016 local5.info svd[20257]: nua::appl_method: "INVITE, REGISTER, PUBLISH, SUBSCRIBE"
Fri Jul 22 12:03:23 2016 local5.info svd[20257]: sip::user_agent: svd VoIP agent
Fri Jul 22 12:03:23 2016 local5.info svd[20257]: sip::user_agent_str: "svd VoIP agent"
Fri Jul 22 12:03:23 2016 local5.info svd[20257]: nua::user_agent: "svd VoIP agent"
Fri Jul 22 12:03:23 2016 local5.info svd[20257]: nua::keepalive: 120000
Fri Jul 22 12:03:23 2016 local5.info svd[20257]: nua::outbound: "gruuize no-outbound validate natify use-rport options-keepalive"
Fri Jul 22 12:03:23 2016 local5.info svd[20257]: nua::detect_network_updates: 2
Fri Jul 22 12:03:23 2016 local5.info svd[20257]: nta::contact: <sip:92.217.254.x>
Fri Jul 22 12:03:23 2016 local5.info svd[20257]: nta::udp_mtu: 1300
Fri Jul 22 12:03:23 2016 local5.info svd[20257]: nta::max_proceeding: 4294967295
Fri Jul 22 12:03:23 2016 local5.info svd[20257]: nta::sip_t1: 500
Fri Jul 22 12:03:23 2016 local5.info svd[20257]: nta::sip_t2: 4000
Fri Jul 22 12:03:23 2016 local5.info svd[20257]: nta::sip_t4: 5000
Fri Jul 22 12:03:23 2016 local5.info svd[20257]: nta::sip_t1x64: 32000
Fri Jul 22 12:03:23 2016 local5.info svd[20257]: nta::debug_drop_prob: 0
Fri Jul 22 12:03:23 2016 local5.info svd[20257]: nta::default_proxy: <null>
Fri Jul 22 12:03:23 2016 local5.info svd[20257]: nta::aliases: <NONE>
Fri Jul 22 12:03:23 2016 local5.info svd[20257]: nta::sipflags: 2
Fri Jul 22 12:03:23 2016 local5.info svd[20257]: soa::af: 3
Fri Jul 22 12:03:23 2016 local5.info svd[20257]: soa::srtp_enable: false
Fri Jul 22 12:03:23 2016 local5.info svd[20257]: soa::srtp_confidentiality: false
Fri Jul 22 12:03:23 2016 local5.info svd[20257]: soa::srtp_integrity: false
Fri Jul 22 12:03:23 2016 local5.info svd[20257]: Event : nua_r_unregister
Fri Jul 22 12:03:23 2016 local5.info svd[20257]: ---[ SIP ]---
Fri Jul 22 12:03:23 2016 local5.info svd[20257]: 401 Unauthorized (CSeq 94258437 REGISTER)
Fri Jul 22 12:03:23 2016 local5.info svd[20257]: From: <sip:x@0x.sip.arcor.de>
Fri Jul 22 12:03:23 2016 local5.info svd[20257]: To: <sip:x@0x.sip.arcor.de>
Fri Jul 22 12:03:23 2016 local5.info svd[20257]: ---[ === ]---
Fri Jul 22 12:03:23 2016 local5.info svd[20257]: UN-REGISTER: 401 Unauthorized
Fri Jul 22 12:03:23 2016 local5.info svd[20257]: Server auth: Digest realm="arcor.de", nonce="x", algorithm=MD5
Fri Jul 22 12:03:24 2016 local5.info svd[20257]: Event : nua_r_unregister
Fri Jul 22 12:03:24 2016 local5.info svd[20257]: ---[ SIP ]---
Fri Jul 22 12:03:24 2016 local5.info svd[20257]: 200 OK (CSeq 94258438 REGISTER)
Fri Jul 22 12:03:24 2016 local5.info svd[20257]: From: <sip:x@0x.sip.arcor.de>
Fri Jul 22 12:03:24 2016 local5.info svd[20257]: To: <sip:x@0x.sip.arcor.de>
Fri Jul 22 12:03:24 2016 local5.info svd[20257]: ---[ === ]---
Fri Jul 22 12:03:24 2016 local5.info svd[20257]: UN-REGISTER: 200 OK
Fri Jul 22 12:03:25 2016 local5.info svd[20257]: Event : nua_r_register
Fri Jul 22 12:03:25 2016 local5.info svd[20257]: ---[ SIP ]---
Fri Jul 22 12:03:25 2016 local5.info svd[20257]: 401 Unauthorized (CSeq 94258438 REGISTER)
Fri Jul 22 12:03:25 2016 local5.info svd[20257]: From: <sip:x@0x.sip.arcor.de>
Fri Jul 22 12:03:25 2016 local5.info svd[20257]: To: <sip:x@0x.sip.arcor.de>
Fri Jul 22 12:03:25 2016 local5.info svd[20257]: ---[ === ]---
Fri Jul 22 12:03:25 2016 local5.info svd[20257]: REGISTER: 401 Unauthorized
Fri Jul 22 12:03:25 2016 local5.info svd[20257]: Server auth: Digest realm="arcor.de", nonce="x", algorithm=MD5
Fri Jul 22 12:03:25 2016 local5.info svd[20257]: Event : nua_r_register
Fri Jul 22 12:03:25 2016 local5.info svd[20257]: ---[ SIP ]---
Fri Jul 22 12:03:25 2016 local5.info svd[20257]: 200 OK (CSeq 94258439 REGISTER)
Fri Jul 22 12:03:25 2016 local5.info svd[20257]: From: <sip:x@0x.sip.arcor.de>
Fri Jul 22 12:03:25 2016 local5.info svd[20257]: To: <sip:x@0x.sip.arcor.de>
Fri Jul 22 12:03:25 2016 local5.info svd[20257]: ---[ === ]---
Fri Jul 22 12:03:25 2016 local5.info svd[20257]: REGISTER: 200 OK
Fri Jul 22 12:03:25 2016 local5.info svd[20257]: Contact: <sip:example@92.217.254.x>;expires=3600
Fri Jul 22 12:03:25 2016 local5.info svd[20257]: outbound(0x57d710): FAILED to validate <sip:example@92.217.254.x>
Fri Jul 22 12:03:25 2016 local5.info svd[20257]: outbound(0x57d710): FAILED with 200 OK
Fri Jul 22 12:03:25 2016 local5.info svd[20257]: Event : nua_i_outbound
Fixed the one way only communication problem by editing svd.c around line 300: removed the comment tags to activate 'SOATAG_ADDRESS()' to use the manual 'local_ip' setting; otherwise the ip address for eth0 is used for outbound rtp/udp packets (easybox/wlan0 -> fritzbox:192.168.10.254). However this will break outgoing communication since eth0 is set to a separate (unused) address (in my case 192.168.3.1) from a different local network when using relayd to establish a software bridge between eth0 and the wlan interface (openwrt wireless bridge setup).
Before (log level 5):
soa_init_sdp_connection_with_session: selected IN IP4 192.168.3.1 (a local address)
...
o=- 2856140970662321986 2882795031805088096 IN IP4 192.168.3.1
After (with local_ip set 192.168.10.250):
soa_init_sdp_connection_with_session: using SOATAG_ADDRESS("192.168.10.250")
...
o=- 5558836881994820095 1424336700861334178 IN IP4 192.168.10.250
Now voip communication between the easybox (with a phone connected to a fxs port) and my fritzbox (acting as a local "ip phone" registrar for the easybox) works as expected. I can place internal calls (fritzbox with 3 DECT phones <-> easybox) and external calls to a voip number registered at 1&1 (as part of the fritzbox voip setup) are routed through the fritzbox to the easybox connected to local wireless network (192.168.10.0/24).
I'd like to thank Luca for sharing danube-voip with us.
@cynr1c I don't know how to change the tones, sorry @dosenflieger I don't remember why I commented out the line that sets the SOATAG_ADDRESS, maybe I tried it and it didn't work in my setup or I just didn't understand the documentation of sofia-sip and tried various ways. Unfortunately I don't have a development environment setup now, so it will take a while before I try your modification here.
@dosenflieger at long last I fixed svd.c in commit e5412f1a351d038a46d2734c4207ea0520365adf Sorry for taking this long, I just discovered that I can use a precompiled sdk instead of having to build openwrt from scratch. I'm not closing this bug because it's about line tones, maybe in 4 years I'll discover how to fix that :wink:
Fixed with commits 68160f9537b76c6a98e53bf909ac96156c9d367b 65f8f423934f0688a9bc17466a89177c29b4cd9b c6e10c074c8f4398566c9aefa54075804bbf7047 f753aefe664cd93263ba0170587e403ade731f8a cad795a5ea3ea9378b282042d83a3efa2aa17665 922bb3f62e471131f044b1b5338c3a81db8cd976 2b57b480a9b0ca458434bfbf79a5d34107637243
Hi Luca, first, a big thank you for this project! I've found it today after trying to get SIP/FXS to work on my Danube-based router with the OpenWRT supplied packages for days. Your project just works out of the box, perfect! However I was wondering if it's possible to change the line tones from the American style to local ones? Here in Germany they are quite different, so maybe another option for that would be nice. Best Regards,