В случае использования своего софта
Для настройки своего sip-сервера, как пример, (Asterisk 13.14.1)
В режиме калитка необходима маршрутизация со стороны сервера, гдепроисходит регистрация. Для примера, как это может быть настроено на Asterisk описано ниже.
extensions.conf
; Это контекст для панели на калитке
[test_place_kalitka]
; Первый подъезд первого дома 1-75 квартира
exten => _0001X,1,Dial(SIP/${EXTEN:4}@2001&SIP/${EXTEN})
exten => _0001[1-6]X,1,Dial(SIP/${EXTEN:4}@2001&SIP/${EXTEN})
exten => _00017[0-5],1,Dial(SIP/${EXTEN:4}@2001&SIP/${EXTEN})
; Второй подъезд первого дома 76-149 квартира
;exten => _00017[6-9],1,Dial(SIP/${EXTEN:4}@2003&SIP/${EXTEN})
;exten => _0001[8-9]X,1,Dial(SIP/${EXTEN:4}@2003&SIP/${EXTEN})
;exten => _00011[0-3]X,1,Dial(SIP/${EXTEN:4}@2003&SIP/${EXTEN})
;exten => _000114[0-9],1,Dial(SIP/${EXTEN:4}@2003&SIP/${EXTEN})
; Первый подъезд второго дома 1-50 квартира
;exten => _0002X,1,Dial(SIP/${EXTEN:4}@2004&SIP/${EXTEN})
;exten => _0002[1-4]X,1,Dial(SIP/${EXTEN:4}@2004&SIP/${EXTEN})
;exten => _000250,1,Dial(SIP/${EXTEN:4}@2004&SIP/${EXTEN})
; Это контект для подъездной панели первого подъезда первого дома
[test_place1]
exten => _0001X,1,Dial(SIP/${EXTEN})
exten => _0001[1-6]X,1,Dial(SIP/${EXTEN})
exten => _00017[0-5],1,Dial(SIP/${EXTEN})
; Это контект для подъездной панели второго подъезда первого дома
;[test_place2]
;exten => _00017[6-9],1,Dial(SIP/${EXTEN})
;exten => _0001[8-9]X,1,Dial(SIP/${EXTEN})
;exten => _00011[0-3]X,1,Dial(SIP/${EXTEN})
;exten => _000114[0-9],1,Dial(SIP/${EXTEN})
sip.conf
; Подъездная панель первого дома
[2001]
type=friend
context = test_place1
secret = 2001
host=dynamic ; This device needs to register
;directmedia=no ; Typically set to NO if behind NAT
canreinvite=no
disallow=all
allow=alaw
allow=ulaw
allow=h264
; Панель на калитке
[2002]
type=friend
context = test_place_kalitka
secret = 2002
host=dynamic ; This device needs to register
;directmedia=no ; Typically set to NO if behind NAT
canreinvite=no
disallow=all
allow=alaw
allow=ulaw
allow=h264
; sip абонент 65 квартиры первого дома
[000165]
type=friend
context = test_context
secret = 000165
host=dynamic ; This device needs to register
;directmedia=no ; Typically set to NO if behind NAT
canreinvite=no
disallow=all
allow=alaw
allow=ulaw
allow=h264
Например, 000115 это префикс 1, квартира 15
000227 - префикс 2 и квартира 27 и т.д.
Сами по себе префиксы в настройке не нуждаются, все отправляется на сервер
В представленном примере, sip-сервер отбрасывает префикс 0001 и направляет входящий вызов от калитки на подъездный домофон и абонента, номер которого равен номеру его квартиры, т. е. 65. Поэтому в Режиме 2 не нужно заполнять номера вызовов для квартир, в отличие от Режима 1.