Pytania czytelników

Konfiguracja asteriska

  • Przeczytano: 34770
  • Komentarzy: 4
Czytelnik napisał:
Witam



Mam problem z konfiguracja Asteriska pod usluge Naglos z gadu gadu i
easycall.

Wersja Asteriska 1.4.0.
(.....)
Odpowiedź eTelefonia:
Witam,



zacznijmy od sip.conf:



nie wiem jaka jest Pana specyfika sieci (userzy za natem czy nie) - jeżeli tak, to warto dodać parametr nat=yes (w sekcji [general] lub też w samym koncie użytkownika). warto także dodać parametr dtmf=auto do sekcji general.



oraz oczwyiście register dla obu kont (o ile oba konta są z numerem i chce Pan przez nie odbierać połączenia.



w samych kontach np. gadulec proponowałbym jeszcze dodać kilka parametrów pedantic=no dtmfmode=rfc2833 ;zdecydowanie lepszy wybór niż info (info - najgorszy wybór z możliwych). qualify=yes ;opcja ułatwia monitorowanie połączenia -> sip show peers. nat=no|yes ;w zależności czy asterisk stoi na publicznym IP.
disallow=all

allow=alaw ;kodek alaw zużywa więcej pasma niż gsm, ale pozwala juz na w miarę bezproblemową obsługę faxu i zdecydowanie zapewnia lepszą jakość dźwięku (mniej kompresji).



polecam korzystać z ALAW a nie z ULAW, dlatego, że polskie sieci PSTN używają alaw (są mniejsze problemy np. z echem i nawiązaniem poprawnego połączenia).



co do extension.conf, połaczenia przychodzące obsługiwane są w kontekscie default.



Warto moim zdaniem rozdzielić obsługę połączeń przychodzących i dial plan dla połączeń wychodzących z prostem przyczyny - osiągamy łatwość manipulacji kto gdzie może dzwonić.



Nie napisał Pan ile lini jest podpiętych do asteriska i czy tylko VoIP. Ja obsługuję centrale gdzie są obsługiwane ISDNy, ZAPy, E1, SS7. Asterisk pod tym względem jest bardzo prostym narzędziem do administracji ruchem głosowym.



moja propozycja extensions.conf:



;konteksty, w których będą się znajdować użytkownicy - konteksty będą się różniły możliwością wykonywania połączeń -> dodanie usera w sip.conf w danym kontekscie



[1]

include => wewnetrzne

include => komorkowe

include => krajowe

include => zagraniczne

include => blokada700

[2]

include => wewnetrzne

include => komorkowe

include => krajowe

include => blokada700

[3]

include => wewnetrzne



[global] ;definicja zmiennych globalnych

CONSOLE=Console/dsp ;obsługa konsoli asteriskowej



TRUNK1=gadulec/ ;taka definicja zmiennych globalnych pozwoli Panu na zmiane połączeń wychodzących bez przebudowy dial planu. TRUNK2=naglos/





[general]

static=yes

writeprotect=yes



[default]

;obsługa tylko i wyłączeń połączeń przychodzących, zgodnie z numeracją i potrzebami



np.:



include => bezodp

include => zajete



exten => _X., 1, GoTo(s,1) ;wszystko co przyjdzie przesyłamy do wewnętrznego kontekstu s do linii 1.



exten => s,1,Answer

exten => s,n,NVBackgroundDetect(/var/lib/asterisk/sound/disa,t) ;NVBackgroundDetect -> autowykrywanie sygnału faxu podczas odtwarzania disy (wymaga dokomilowania nvbackgrounddetect przynajmniej w wersji 1.2). Można użyć także Background - odtwarzanie disy z możliwością wyboru przez DTMF np. numeru wewnętrznego (też wymaga dokompilowania nvbackground - przynajmniej w wersji 1.2)

exten => s,n,Set(TIMEOUT(response)=4)

exten => s,n,Set(TIMEOUT(digit)=2)



exten => _XX,1,Dial(SIP/${EXTEN},60,t)

exten => _XX,n,GoToIf($["${DIALSTATUS}" = "BUSY"]?zajete,1:)

exten => _XX,n,GoToIf($["${DIALSTATUS}" = "NOANSWER"]?bezodp,1:)

exten => _XX,n,GoToIf($["${DIALSTATUS}" = "CONGESTION"]?bezodp,1:)



;fax
exten => fax,1,Dial(SIP/19,,tT)

exten => fax,n,Dial(SIP/20,,tT)

exten => fax,n,Hangup



;kiedy nic nie wybierzemy:

exten => t,1,Queue(first,t,,,20)

exten => t,n,Queue(second,t,,,30)

exten => t,n,GoTo(bezodp,1)



;kiedy wybierzemy niepoprawnie to wracamy do zapowiedzi:)

exten => i,1,GoTo(s,2)



[zajete]

include => bezodp



exten => zajete,1,Background(/var/lib/asterisk/sound/zajete)

exten => zajete,n,Set(TIMEOUT(response)=3)

exten => zajete,n,Set(TIMEOUT(digit)=2)



exten => t,1,Queue(first,t,,,15)

exten => t,2,Queue(second,t,,,15)

exten => t,3,GoTo(bezodp,1)



exten => i,1,Background(/var/lib/asterisk/sound/disa)

exten => i,n,Goto(zajete,2)



[bezodp]

exten => bezodp,1,Background(/var/lib/asterisk/sound/nieodebrane)

exten => bezodp,n,Set(TIMEOUT(response)=3)

exten => bezodp,n,Set(TIMEOUT(digit)=2)



exten => t,1,Queue(first,t,,,15)

exten => t,2,Queue(second,t,,,15)

exten => t,3,GoTo(bezodp,1)



exten => i,1,Background(/var/lib/asterisk/sound/disa)

exten => i,n,Goto(bezodp,2)





[wewnetrzne]

;przy zalozeniu, ze np. klienci/użytkownik centrali loguje się jako 2 cyfrowy nr.



exten => _XX,1,Dial(SIP/${EXTEN},60,mtT) ;m - obsługujemy musiconhold; tT - transfery

exten => _XX,n,Hangup



[zagraniczne]

;00X.



exten => _00X.,1,SetCallerID(${CALLERIDNUM}) ;warto wiedziec kto gdzie dzwonił -> niezbędny parametr w konci użytkownika callerid=numer|text jeżeli korzysta Pan z CDR-a. Jezeli callerid=text to musi Pan zastosować
SetCallerID(${CALLERIDNAME}).

exten => _00X.,n,Dial(${TRUNK1}${EXTEN}) ;TRUNK1 lub TRANK2 w zależności np. który operator ma tańsze połączenia.
exten => _00X.,n,Hangup



[blokada700]

;070X., 70X.



exten => _70XXXXXXX,1,SetCallerID(${CALLERIDNUM})

exten =>
_70XXXXXXX.,n,PlayTone(/var/lib/asterisk/sound/numer_zablokowany)
exten => _70XXXXXXX.,n,Hangup



exten => _070XXXXXXX,1,SetCallerID(${CALLERIDNUM})

exten => _070XXXXXXX.,n,PlayTone(/var/lib/asterisk/sound/numer_zablokowany)

exten => _070XXXXXXX,n,Hangup



[komorkowe]



;idea
exten => _050XXXXXXX,1,SetCallerID(${CALLERIDNUM})

exten => _050XXXXXXX,n,Dial(${TRUNK1}${EXTEN})

exten => _050XXXXXXX,n,Hangup



exten => _50XXXXXXX,1,SetCallerID(${CALLERIDNUM})

exten => _50XXXXXXX,n,Dial(${TRUNK1}0${EXTEN})

exten => _50XXXXXXX,n,Hangup



exten => _051XXXXXXX,1,SetCallerID(${CALLERIDNUM})

exten => _051XXXXXXX,n,Dial(${TRUNK1}${EXTEN})

exten => _051XXXXXXX,n,Hangup



exten => _51XXXXXXX,1,SetCallerID(${CALLERIDNUM})

exten => _51XXXXXXX,n,Dial(${TRUNK1}0${EXTEN})

exten => _51XXXXXXX,n,Hangup



;i dalej dla każdej z sieci



[krajowe]

;0xxxxxxxxx, xxxxxxxxx



;dolnoslaskie



exten => _071XXXXXXX,1,SetCallerID(${CALLERIDNUM})

exten => _071XXXXXXX,n,Dial(${TRUNK1}${EXTEN})

exten => _071XXXXXXX,n,Hangup

exten => _71XXXXXXX,1,SetCallerID(${CALLERIDNUM})

exten => _71XXXXXXX,n,Dial(${TRUNK1}0${EXTEN})

exten => _71XXXXXXX,n,Hangup



exten => _074XXXXXXX,1,SetCallerID(${CALLERIDNUM})

exten => _074XXXXXXX,n,Dial(${TRUNK1}${EXTEN})

exten => _074XXXXXXX,n,Hangup

exten => _74XXXXXXX,1,SetCallerID(${CALLERIDNUM})

exten => _74XXXXXXX,n,Dial(${TRUNK1}0${EXTEN})

exten => _74XXXXXXX,n,Hangup



exten => _075XXXXXXX,1,SetCallerID(${CALLERIDNUM})

exten => _075XXXXXXX,n,Dial(${TRUNK1}${EXTEN})

exten => _075XXXXXXX,n,Hangup

exten => _75XXXXXXX,1,SetCallerID(${CALLERIDNUM})

exten => _75XXXXXXX,n,Dial(${TRUNK1}0${EXTEN})

exten => _75XXXXXXX,n,Hangup



exten => _076XXXXXXX,1,SetCallerID(${CALLERIDNUM})

exten => _076XXXXXXX,n,Dial(${TRUNK1}${EXTEN})

exten => _076XXXXXXX,n,Hangup

exten => _76XXXXXXX,1,SetCallerID(${CALLERIDNUM})

exten => _76XXXXXXX,n,Dial(${TRUNK1}0${EXTEN})

exten => _76XXXXXXX,n,Hangup



;i dalej dla poszczególnych kierunków



Uważam, że warto wyspecyfikować wszystko możliwe kierunki, gdyż wtedy mamy możliwość zezwalania i blokowania połączeń i jesteśmy w stanie zapanować całkowicie nad centralą. Warto więc poświęcić kilkanaście minut na przygotowanie dialplanów, i korzystać ze zmiennych, bo wszystko to potem ułatwia administrowanie.

Zobacz inne losowo wybrane pytania:

Telefon IP w niskiej cenie
Linksys spa2102 i Qos
Czy przy takich predkościach mam szanse na rozmowy?
Skype bez włączonego komputera?
Bramka Linksys PAP2T i LiveBox TP (cd)

  • Lilu2010-12-10 12:13:00
    Witam mam jedno pytanko :). Jak w sip.configu w przypadku wysyłania ruchu na dwa rózne adresy IP równomiernie go rozłożyć? jaką opcją? Jak na dany adres IP ograniczyć ilość kanałów? naprzykład na pierwsze IP mam 20 kanałó a na drugi 30 kanałów, jak to rozłożyć i jak ograniczyć? pozdrawiam
  • Lilu2010-12-10 10:36:00
    Witam mam jedno pytanko :). Jak w sip.configu w przypadku wysyłania ruchu na dwa rózne adresy IP równomiernie go rozłożyć? jaką opcją? Jak na dany adres IP ograniczyć ilość kanałów? naprzykład na pierwsze IP mam 20 kanałó a na drugi 30 kanałów, jak to rozłożyć i jak ograniczyć? pozdrawiam
  • Przepraszam2008-07-14 08:00:00
    Zadałem pytanie w złym miejscu- przepraszam.
  • X100P ADMYN2008-07-14 07:46:00
    Witam, bardzo prosze o pomoc. Zainstalowałem najnowszą wersję Trixboxa (2.6), ktry wykrył kartę jako Wildcart X100P. Jest to klon X100. Po wybraniu numeru miejskiego i podaniu hasła jest niestety głucho- nic. Zaznaczam, że przy starszych wersjach konfigiurowałem system bez żadnych problemów i wszystko działało. Nie mam już siły- prosze o pomoc.
Dodaj komentarz
TPL_GK_LANG_BACK_TO_TOP