Pokazywanie postów oznaczonych etykietą voip. Pokaż wszystkie posty
Pokazywanie postów oznaczonych etykietą voip. Pokaż wszystkie posty

środa, 13 maja 2015

Limit kanałów na trunku wraz ze zmianą na żądanie

Szybki sposób, na zastosowania limitowania ilości połączeń wraz z możliwością zmiany ilości kanałów na żądanie

extensions.conf

exten => 4832XXXXXXX,1,Set(GROUP()=trunk)
exten => 4832XXXXXXX,n,Set(ILE=${DB(test/ile)})
exten => 4832XXXXXXX,n,Noop(Tyle polaczen ${GROUP_COUNT(trunk)} ustawiono na ${ILE})
exten => 4832XXXXXXX,n,GotoIf($[${GROUP_COUNT(trunk)} > ${ILE}]?falsz:prawda)
exten => 4832XXXXXXX,n(prawda),NoOP(prawda)
exten => 4832XXXXXXX,......
exten => 4832XXXXXXX,......
exten => 4832XXXXXXX,n(falsz),Set(DIALSTATUS=BUSY)

[kanal1]
exten => s,1,NoOP(bede zmienial liczbe kanalow na 1)
exten => s,n,Set(DB(test/ile)=1)
exten => s,n,Set(ILE=${DB(test/ile)})
exten => s,n,NoOP(kanalow ${ILE})

[kanal2]
exten => s,1,NoOP(bede zmienial liczbe kanalow na 2)
exten => s,n,Set(DB(test/ile)=2)
exten => s,n,Set(ILE=${DB(test/count)})
exten => s,n,NoOP(kanalow ${ILE})


Contexty kanal1 i kanal2 sluza do ustawiania liczby mozliwych polaczen na 1 lub 2.

Jest to jakiś pomysł, na obejście problemu niemożności ustawienia call-limit w deklaracji trunku w sip.conf

piątek, 26 września 2014

Business Livebox MicroPBX - Asterisk trunk

Podłączenie Business Livebox MicroPBX  do Asteriska (konfiguracja peera)

sip.conf


[global]
directmedia=no


register => shortnumber:password@10.0.0.1/shortnumber


[shortnumber]
type=friend
nat=yes
defaultuser=shortnumber
fromuser=shortnumber
secret=password
host=10.0.0.1
qualify=yes
context=tpsa
callerid=048XXXXXXXXX
disallow=all
allow=ulaw
allow=alaw

wtorek, 16 lipca 2013

Hack VoIP #6 - Voice Logger astTECS

Voice Logger astTECS - bypass login & arbitrary file download

Dzisiaj, o błędach w Voice Logger firmy astTECS i o moim doświadczeniu w zgłoszeniu / w próbie zgłoszenia tej podatności. Usiłowałem i nie dałem rady. Próbowałem przez LiveChat na stronie firmy, próbowałem pisać maile do techniki. Nic, zero odzewu i zero zainteresowania ( no może oprócz Pani z LiveChata, która to skierowała mnie do techniki), a czekałem chyba z miesiąc z publikacją.

poniedziałek, 22 kwietnia 2013

Hack VoIP #5 - vBilling dla FreeSWITCH

W tym wpisie znowu poruszę tematykę bezpieczeństwa systemów VoIP, a raczej ich front-end’ów. Tym razem odeszłem troszeczkę od rozwiązań przeznaczonych do współpracy z programową centralą telefoniczną Asterisk, a zająłem się rozwiązaniami open source dla FreeSWITCH. W sumie to aktualnie jednym takim rozwiązaniem jakim jest vBilling.

poniedziałek, 4 lutego 2013

Hack VoIP #4 - Niebezpieczny system telekomunikacyjny - EasyITSP

EasyITSP by Lemens Telephone Systems <= 2.0.7


Drugie podejście do systemu telekomunikacyjnego EasyITSP firmy Lemens Telephone.  Odkryty przeze mnie błąd polega na możliwości wyszukiwania, odczytywania i usuwania plików *.txt  na serwerze, oraz odsłuchiwania poczty głosowej innych użytkowników tego systemu VoIP dzięki atakowi directory traversal - w sumie to nic wielkiego nawet gdy weźmie się pod uwagę to, żeby wykonać atak należy wcześniej być zalogowanym - na szczęście atakującego jako klient, a nie administrator czy reseller.

Błąd pokazuje tylko tyle, że firma Lemens Telephone, która jest autorem systemu telekomunikacyjnego EasyITSP nie za bardzo bierze pod uwagę bezpieczeństwo klientów korzystających z ich systemu VoIP.

Dobre jest przynajmniej to, że Lemens wskazane błędy stara się poprawiać, ale nie informuje nikogo dlaczego wprowadza daną poprawkę. Mam tu na myśli już raz opublikowany przeze mnie exploit za którego pomocą można było poznać wszystkie loginy, hasła oraz dane kart kredytowych użytkowników usług telekomunikacyjnych wykorzystujących system EasyITSP. Błąd zaliczyć należało jako krytyczny, a w ChangeLogu dołączonym do systemu EasyITSP przeczytamy tylko:

....
#################################################
2012-10-31 - Matthew Lemens <support@lemens-ts.com>
        new login system for admin/customer
 ....


Problem w tym, że z takim podejściem  mało kto zaktualizuje wersję swojego EasyITSP bo nie wie o krytycznej luce, którą spotkać można do tej pory w niektórych instalacjach systemu firmy Lemens Telephone.

Wracając do samego błędu, którego tematem miał być ten wpis. Problem znajduje się w pliku voicemail.php w linii 220.

poniedziałek, 21 stycznia 2013

VoIPmonitor Free GUI

Dziś na sourceforge wrzuciłem mały projekt, który robię ze znajomym, Jest to nakładka - GUI na VoIPmonitor. VoIPmonitor to nic innego jak sniffer, który pomaga przy analizie jakości połączeń głosowych.  Co prawda sam projekt posiada GUI i to bardzo dobre, ale płatne i niestety zaciemnione przez ionCube.

VoIPmonitor Free GUI na pewno nie jest i raczej nie będzie konkurencją dla oryginalnego GUI voipmonitora.  Nasze GUI to tylko darmowa alternatywa :)





Dziś wrzucam to co zrobiłem przez jeden dzień. Mamy nadzieję, że projekt będzie rozwijany :)

https://sourceforge.net/projects/voipmonitorgui/


Będę wdzięczny za raportowanie o znalezionych problemach oraz podatnościach w kodzie.

środa, 29 sierpnia 2012

Kolejki

Prosta kolejka w Asterisk

queues.conf

[CallCenter]
music=default
strategy=rrmemory
joinempty = yes
timeout=15
retry=1
wrapuptime=0
maxlen = 1
announce-frequency = 10
announce-holdtime = no
member => SIP/123,0
member => SIP/124,0



extensions.conf

exten => 13,1,Queue(CallCenter)


asterisk*CLI>

asterisk*CLI> queue show CallCenter
CallCenter has 0 calls (max 1) in 'rrmemory' strategy (5s holdtime, 18s talktime), W:0, C:2, A:0, SL:0.0% within 0s
   Members:
      SIP/124 (Not in use) has taken 1 calls (last was 281 secs ago)
      SIP/123 (Not in use) has taken 1 calls (last was 279 secs ago)
   No Callers

Jeśli chcesz aby tylko jeden SIP odbierał jedną rozmowę to koniecznie w sip.conf daj mu call-limit=1, wtedy  asterisk pokaże in use. 




piątek, 17 sierpnia 2012

Rozpoznawanie mowy przez Asterisk [Speech recognition]

Skonfigurowanie Asteriska tak aby zamieniał test na mowę mamy za sobą. Dzisiaj chciałbym zaprezentować kolejny skrypt AGI autora Lefteris Zafiris, który to pozwala zamieniać mowę na słowo pisane.

Potrzebne paczki:
Perl
perl-libwww

Instalacja samego AGI podobnie jak we wcześniejszym poście bardzo prosta i polega na skopiowaniu pliku 
speech-recog.agi do katalogu ze skryptami AGI w asterisku ( u mnie /usr/share/asterisk/agi-bin/ ). 

a w /etc/asterisk/extensions.conf przykładowo dla języka polskiego:

exten => 0,1,Answer()
exten => 0,n,agi(speech-recog.agi,pl-PL)
exten => 0,n,Verbose(1,The text you just said is: ${utterance})
exten => 0,n,Verbose(1,The probability to be right is: ${confidence})
exten => 0,n,Hangup()

wtorek, 14 sierpnia 2012

Asterisk syntezator mowy [Text to speech]

Chcesz aby Twój asterisk w końcu przemówił?
Wystarczy zastosować skrypt AGI, który przerobi nasz tekst na mowę dzięki usłudze Google Translate.

Co będzie potrzebne?
AGI stworzone przez Lefteris Zafiris, które można pobrać z tąd

Oraz trochę niezbędnego softu:
- perl
- perl-libwww
- sox
- mpg123


Cała instalacja jest naprawdę trywialna. Należy skopiować googletts.agi do katalogu ze skryptami AGI w asterisku ( u mnie /usr/share/asterisk/agi-bin/ ).

Została tylko edycja extensions.conf

exten => 4832XXXXXXX,1,Answer()
exten => 4832XXXXXXX,2,agi(googletts.agi,"Asterisk juz mowi.",pl)


Projekt asterisk-googletts: zaf.github.com/asterisk-googletts

poniedziałek, 13 sierpnia 2012

Instalacja dahdi - Debian


Przyszedł czas na MeetMe w Asterisku stojącym na Debianie, więc krótka notka dla tych, którzy mieli przyjemność spotkać się z:

app_meetme.c:1097 build_conf: Unable to open pseudo device


apt-get install dkms

wget http://downloads.digium.com/pub/telephony/dahdi-linux-complete/dahdi-linux-complete-current.tar.gz

tar zxvf dahdi-linux-complete-current.tar.gz 

make all
make install
make config
modprobe dahdi_dummy


to powinno załatwić wszystkie problemy ;)

-- Executing [4832XXXXXXX@incoming:1] MeetMe("SIP/black-00000036", "1234") in new stack

wtorek, 7 sierpnia 2012

Połączenie przychodzące do wielu kont SIP - Asterisk


W razie potrzeby skierowania połączenia przychodzącego do kilku  innych numerów (w tym przypadku 3 wewnętrznych kont SIP) można zastosować poniższe rozwiązanie

/etc/asterisk/extensions.conf


[global]
SIP_GROUP=SIP/100&SIP/101&SIP/102

[context]
exten => 1,n,Ringing
exten => 1,n,Wait(2)
exten => 1,n,Dial(${SIP_GROUP},60,r)


poniedziałek, 2 kwietnia 2012

Asterisk - automatyczne nawiazywanie polaczen

Do pliku /etc/asterisk/modules.conf dodajemy


load => pbx_spool.so

W bashu klepiemy bardzo prosty skrypt 

#!/bin/bash
sounds=/var/lib/asterisk/sounds/
rOut=/var/spool/asterisk/outgoing/
rUser=root
rGroup=root
nFile=call.csv
rtry=1
mtry=2
stime=1
#############################################
for nums in $(cat $nFile)
        do
                num=`echo $nums | awk -F"," {'print $1'}`
                noise=`echo $nums | awk -F"," {'print $2'}`
                                nTrunk=`echo $nums | awk -F"," {'print $3'}`
echo "`date`,$num,$noise" >> call-log.csv
echo "Channel: SIP/$nTrunk/$num" >> $num.call
echo "RetryTime:$rtry" >> $num.call
echo "MaxRetries:$mtry" >> $num.call
echo "Archive: Yes" >> $num.call
echo "Application: Playback" >> $num.call
echo "Data:$noise" >> $num.call
chown $rUser.$rGroup $num.call
mv $num.call $rOut
sleep $stime
done


Do tego tworzymy plik call.csv 
numer1,nagranie,trunk 
numer2,nagranie,trunk 
numer3,nagranie,trunk 
...


I to wszystko ;) 

Odpalamy skrypt, a asterisk sam dzwoni na numery z pliku call.csv i puszcza odpowiedni komunikat glosowy (nagranie - call.csv). 

Dzieki Archive:Yes  pliki call zostaja zarchiwizowane w katalogu /var/spool/asterisk/outgoing_done/