Re-fix Bug #705: Asterisk gives tone even if number is not configured

Remove voice_client.sip0.call_lines in the default config. So no voice lines
are bound to "Incoming Phone Lines" of any SIP accounts by default.

Reload FXS channel before chan_sip when voice configuration changes.
This commit is contained in:
Yalu Zhang 2019-06-07 16:31:51 +02:00
parent 829275bc4a
commit 94ad6902f7
2 changed files with 6 additions and 7 deletions

View file

@ -174,5 +174,4 @@ config sip_service_provider 'sip0'
option redial '*66' option redial '*66'
option is_fax '0' option is_fax '0'
option transport 'udp' option transport 'udp'
option call_lines '0'

View file

@ -259,7 +259,7 @@ read_lines()
local loffset=$(ubus -t 1 call voice.asterisk platform | jsonfilter -e @.lineoffset) local loffset=$(ubus -t 1 call voice.asterisk platform | jsonfilter -e @.lineoffset)
loffset=${loffset:-0} loffset=${loffset:-0}
config_get call_lines $1 call_lines "0" config_get call_lines $1 call_lines
for line in $call_lines ; do for line in $call_lines ; do
@ -1844,7 +1844,6 @@ configure_tel()
# #
configure_tel_line() configure_tel_line()
{ {
echo "Configuring $CHANNELNAME line $1"
local extension local extension
local sip_provider local sip_provider
local codecs local codecs
@ -2240,16 +2239,17 @@ stop_service() {
reload_service() { reload_service() {
start start
#stop # turn off voice led; asterisk will turn it on if there is a registered account
# turn off voice led; asterisk will turn it on
# if there is a registered account
ubus call led.voice1 set '{"state":"off"}' ubus call led.voice1 set '{"state":"off"}'
# FXS channel module must be reloaded before sip module. Otherwise some attributes like
# line's registration state which is updated by SIP module through callback might be
# reset.
asterisk -rx "$(getChipVendor) reload"
asterisk -rx "config reload $ASTERISKDIR/sip.conf" asterisk -rx "config reload $ASTERISKDIR/sip.conf"
sleep 1 sleep 1
asterisk -rx "core reload" asterisk -rx "core reload"
asterisk -rx "dialplan reload" asterisk -rx "dialplan reload"
asterisk -rx "$(getChipVendor) reload"
} }
service_triggers() { service_triggers() {