ВидеоКонф(ВКС)  ::   Чат  ::   FAQ  ::   Поиск  ::   Регистрация  ::   Вход

Прошу помощи в выборе исходящей линии

Новичком считается только что прочитавший «Астериск - будущее телефонии»
http://asterisk.ru/knowledgebase/books
и пытающийся сделать большее

Модератор: april22

Прошу помощи в выборе исходящей линии

Сообщение sendmi » 10 дек 2021, 11:46

Всем приветствую форумчаны!
Есть задача:
В наличии 4 внешних номера, по юридически каждый номер привязан под каждую компанию, и когда бухгалтерия, или менеджеры набирают на внешний номер, то попадают на один и тот же номер.
Как сделать так чтобы была возможность выбор линии, можно взять к примеру первую цифру 1 и потом городской на первую внешнюю линию, либо 2 на вторую городскую и т.д.

Заранее спасибо.

Из конфигов:
[extensions.conf]

[Показать] Спойлер:
[outcoling]
;exten => _XXXXXXXXXX,1,Set(CALLERID(all)=044xxxxxx)
exten => _XXXXXXXXXX,1,Set(CALLERID(name)="044xxxxxxx")
exten => _XXXXXXXXXX,n,Set(CALLERID(number)=044xxxxxx)
exten => _XXXXXXXXXX,n,Dial(SIP/out2/${EXTEN})
;;exten => _XXXXXXXXXX,1,Dial(SIP/out1/${EXTEN})
exten => _XXX,1,Dial(SIP/${EXTEN},,m)



;exten => _1XXXXXXXXXX,1,Set(CALLERID(name)="044xxxxx")
;exten => _1XXXXXXXXXX,n,Set(CALLERID(number)=044xxxxxx)
;exten => _1XXXXXXXXXX,n,Dial(SIP/out1/${EXTEN:1})

;exten => _2XXXXXXXXXX,2,Set(CALLERID(name)="044xxxxxx")
;exten => _2XXXXXXXXXX,n,Set(CALLERID(number)=044xxxxxx)
;exten => _2XXXXXXXXXX,n,Dial(SIP/out2/${EXTEN:1})

;exten => _3XXXXXXXXXX,3,Set(CALLERID(name)="044xxxxxx")
;exten => _3XXXXXXXXXX,n,Set(CALLERID(number)=044xxxxxx)
;exten => _3XXXXXXXXXX,n,Dial(SIP/out3/${EXTEN:1})

;exten => _4XXXXXXXXXX,4,Set(CALLERID(name)="044xxxxxx")
;exten => _4XXXXXXXXXX,n,Set(CALLERID(number)=044xxxxxx)
;exten => _4XXXXXXXXXX,n,Dial(SIP/out4/${EXTEN:1})

;exten => _[1-4]{1}XXXXXXXXXX,n,Dial(SIP/out4/${EXTEN:1})
;exten => _XXX,1,Dial(SIP/${EXTEN},,m)



[incoming]
exten => _XXXXXXXX44,1,Answer
exten => _XXXXXXXX44,n,Dial(SIP/102,15,tT)
exten => _XXXXXXXX44,n,HangUp()

exten => _XXXXXXXX41,1,Answer
exten => _XXXXXXXX41,n,Dial(SIP/102,15,tT)
exten => _XXXXXXXX41,n,HangUp()

exten => _XXXXXXXX42,1,Answer
exten => _XXXXXXXX42,n,Dial(SIP/102,15,tT)
exten => _XXXXXXXX42,n,HangUp()

exten => _XXXXXXXX03,1,Answer
exten => _XXXXXXXX03,n,Dial(SIP/102,15,tT)
exten => _XXXXXXXX03,n,HangUp()

Далее конфиг
[sip.conf]

[out1]
deny=0.0.0.0/0.0.0.0
permit=ip
host=ip
port=5060
insecure=port,invite
type=friend
disallow=all
allow=alaw:20
allow=ulaw:20
dtmfmode=rfc2833
context=incoming
qualify=yes
canreinvite=no
nat=force_rport,comedia
fromuser=044xxxxxx
fromdomain=ip

[out2]
deny=0.0.0.0/0.0.0.0
permit=ip
host=ip
port=5060
insecure=port,invite
type=friend
disallow=all
allow=alaw:20
allow=ulaw:20
dtmfmode=rfc2833
context=incoming
qualify=yes
canreinvite=no
nat=force_rport,comedia
fromuser=044xxxxxx
fromdomain=ip

[out3]
deny=0.0.0.0/0.0.0.0
permit=ip
host=ip
port=5060
insecure=port,invite
type=friend
disallow=all
allow=alaw:20
allow=ulaw:20
dtmfmode=rfc2833
context=incoming
qualify=yes
canreinvite=no
nat=force_rport,comedia
fromuser=044xxxxxx
fromdomain=ip

[out4]
deny=0.0.0.0/0.0.0.0
permit=ip
host=ip
port=5060
insecure=port,invite
type=friend
disallow=all
allow=alaw:20
allow=ulaw:20
dtmfmode=rfc2833
context=incoming
qualify=yes
canreinvite=no
nat=force_rport,comedia
fromuser=044xxxxxx
fromdomain=ip


[102]
deny=0.0.0.0/0.0.0.0
permit=192.168.0.0/24
type=friend
regexten=102
secret=xxxxx
username=102
context=outcoling
host=dynamic
;callerid="Sekretar"
disallow=all
allow=alaw
allow=ulaw
language=ru
callgroup=1
pickupgroup=1
qualify=yes
canreinvite=no
call-limit=4
allowguest=no
sendmi
 
Сообщений: 2
Зарегистрирован: 10 дек 2021, 11:35

Re: Прошу помощи в выборе исходящей линии

Сообщение El_Vago » 13 дек 2021, 15:17

Как понял, вам нужно чтобы при наборе 1 и номера телефона, вызов шел через out1 и т.д.?
Код: выделить все
exten => _1XXXXXXXXXX,1,Dial(SIP/out1/${EXTEN:1})

exten => _2XXXXXXXXXX,1,Dial(SIP/out2/${EXTEN:1})

exten => _3XXXXXXXXXX,1,Dial(SIP/out3/${EXTEN:1})

exten => _4XXXXXXXXXX,1,Dial(SIP/out4/${EXTEN:1})

И там уже добавляете что вам еще нужно. Главное чтобы колличество X было правильным. Или жестко прописать каждому вашему типа:
Код: выделить все
exten => _XXXXXXXXXX/101,1,Dial(SIP/out1/${EXTEN:1})

exten => _XXXXXXXXXX/111,1,Dial(SIP/out2/${EXTEN:1})

...


Надеюсь в sip.conf вы скрыли просто некоторые строчки, а не так у вас и есть в реале?
El_Vago
 
Сообщений: 54
Зарегистрирован: 05 дек 2017, 13:46

Re: Прошу помощи в выборе исходящей линии

Сообщение sendmi » 13 дек 2021, 17:51

Допустим при наборе 1 и номер, уходит через out1,при наборе 2 и номер, уходит через out2 и т.д.

По набору, я посмотрел что можно поставить точку, изменю в конфиге.

В конфиге sip.conf я корректировал только основное, остальные дефолтные, на всякий случай дублирую.

root@gate:/# cat /etc/asterisk/sip.conf
[
[Показать] Спойлер:
out1]
deny=0.0.0.0/0.0.0.0
permit=ip
host=ip
port=5060
insecure=port,invite
type=friend
disallow=all
allow=alaw:20
allow=ulaw:20
dtmfmode=rfc2833
context=incoming
qualify=yes
canreinvite=no
nat=force_rport,comedia
fromuser=044xxx
fromdomain=ip

[out2]
deny=0.0.0.0/0.0.0.0
permit=ip
host=ip
port=5060
insecure=port,invite
type=friend
disallow=all
allow=alaw:20
allow=ulaw:20
dtmfmode=rfc2833
context=incoming
qualify=yes
canreinvite=no
nat=force_rport,comedia
fromuser=044xxx
fromdomain=ip

[out3]
deny=0.0.0.0/0.0.0.0
permit=ip
host=ip
port=5060
insecure=port,invite
type=friend
disallow=all
allow=alaw:20
allow=ulaw:20
dtmfmode=rfc2833
context=incoming
qualify=yes
canreinvite=no
nat=force_rport,comedia
fromuser=044xxx
fromdomain=ip

[out4]
deny=0.0.0.0/0.0.0.0
permit=ip
host=ip
port=5060
insecure=port,invite
type=friend
disallow=all
allow=alaw:20
allow=ulaw:20
dtmfmode=rfc2833
context=incoming
qualify=yes
canreinvite=no
nat=force_rport,comedia
fromuser=0444xxx
fromdomain=ip


[100]
deny=0.0.0.0/0.0.0.0
permit=192.168.0.0/24
type=friend
regexten=100
secret=xxx
username=100
context=outcoling
host=dynamic
;callerid="Sekretar"
disallow=all
allow=alaw
allow=ulaw
language=ru
callgroup=1
pickupgroup=1
qualify=yes
canreinvite=no
call-limit=4
allowguest=no

[102]
deny=0.0.0.0/0.0.0.0
permit=192.168.0.0/24
type=friend
regexten=102
secret=xxx
username=102
context=outcoling
host=dynamic
;callerid="Sekretar"
disallow=all
allow=alaw
allow=ulaw
language=ru
callgroup=1
pickupgroup=1
qualify=yes
canreinvite=no
call-limit=4
allowguest=no


[general]


allowguest=no ; Allow or reject guest calls (default is yes)
; 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).



udpbindaddr=0.0.0.0 ; IP address to bind UDP listen socket to (0.0.0.0 binds to all)
; Optionally add a port number, 192.168.1.1:5062 (default is port 5060)


tcpenable=yes ; 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)
; Optionally add a port number, 192.168.1.1:5062 (default is port 5060)

bindport=5060


transport=udp ; Set the default transports. The order determines the primary default transport.
; If tcpenable=no and the transport set is tcp, we will fallback to UDP.

srvlookup=yes ; Enable DNS SRV lookups on outbound calls
; Note: Asterisk only uses the first host
; in SRV records
; Disabling DNS SRV lookups disables the
; ability to place SIP calls based on domain
; names to some other SIP users on the Internet
; Specifying a port in a SIP peer definition or
; when dialing outbound calls will supress SRV
; lookups for that peer or call.


alwaysauthreject = yes ; When an incoming INVITE or REGISTER is to be rejected,
; for any reason, always reject with an identical response
; equivalent to valid username and invalid password/hash
; instead of letting the requester know whether there was
; a matching user or peer for their request. This reduces
; the ability of an attacker to scan for valid SIP usernames.
; This option is set to "yes" by default.

allowsubscribe=no ; Disable support for subscriptions. (Default is yes)


; LOCALNET

localnet=192.168.0.0/255.255.255.0
nat=force_rport,comedia


[basic-options](!) ; a template
dtmfmode=rfc2833
context=from-office
type=friend

[natted-phone](!,basic-options) ; another template inheriting basic-options
directmedia=no
host=dynamic

[public-phone](!,basic-options) ; another template inheriting basic-options
directmedia=yes

[my-codecs](!) ; a template for my preferred codecs
disallow=all
allow=ilbc
allow=g729
allow=gsm
allow=g723
allow=ulaw
; Or, more simply:
;allow=!all,ilbc,g729,gsm,g723,ulaw

[ulaw-phone](!) ; and another one for ulaw-only
disallow=all
allow=ulaw
; Again, more simply:
;allow=!all,ulaw


учимся пользоваться тегами. мало кому охота мотать Ваши портянки
sendmi
 
Сообщений: 2
Зарегистрирован: 10 дек 2021, 11:35


Вернуться в Вопросы новичков

Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 8

© 2008 — 2022 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH