Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

#1  2010-01-01 23:51:16

  johnyjj2 - Użytkownik

johnyjj2
Użytkownik
Zarejestrowany: 2009-12-18

Twinke/X-lite + Asterisk

Witam!

Mam sieć domową, w niej router wifi, komputer stacjonarny z Windows XP i laptopa z Linuksem. Chcę zainstalować na Linuksie aplikację Asterisk i skonfigurować ją. Żeby przetestować Asteriska instaluję albo aplikację Twinkle na Linuksie albo aplikację X-lite pod Windowsami. Słyszałem, że lepiej testować Asteriska z softphonem na innym komputerze, stąd też Asterisk będzie na laptopie a softphone na stacjonarnym.

Próbowałem na dwa sposoby. Na Windowsach zainstalowałem X-lite (http://johnyjj2.za.pl/foto/022.JPG), zaś na Linuksie "sudo apt-get install twinkle" i "sudo apt-get install asterisk". Docelowo chciałbym z softphone'u dodzwonić się do Asteriska i przy pomocy mikrofonu przetestować przykładową aplikację Parking Zone (http://www.automated.it/guidetoasterisk.htm#_Toc49248769). Poczytałem trochę o pliku manager.conf w Asterisku. Wyglądana to, że muszę stworzyć konto w tym pliku konfiguracyjnym i odpalić potem "telnet 192.168.1.102 5038" (czy inny IP?), aby rozpocząć konfigurację Asteriska (to jest AMI czy CLI?). I w tym momencie moja wiedza się raczej kończy. Uruchomiłem Twinkle i zobaczyłem, że jest kilka sposobów konfiguracji konta Twinkle (Wizard, Profile Editor, Diamondcard). (Poprzednio myślałem o uruchomieniu Asterisk Win32, czyli Asteriska portowanego przy pomocy Cygwina na Windowsy. Dowiedziałem się jednak, że nie jest to dobre rozwiązanie. Ewentualnie mogę użyć VMWare do emulacji Linuksa pod Windowsami - wygląda na to, że teraz jest freeware, co mnie zdziwiło. No a najlepiej Asteriska mieć na Linuksie). Zauwazyłem, że konfigurowanie X-lite'a nie było takie proste, ale w końcu mi się to wtedy chyba udało (http://johnyjj2.za.pl/foto/022.JPG). Choć nie połączyłem się z Asteriskiem, więc nie wiem. No i teraz moje pytanie jest następujące - jak skonfigurować tego Twinkle/X-lite'a, żebym mógł przy pomocy mikrofonu porozmawiać z aplikacją Parking Zone (http://www.automated.it/guidetoasterisk.htm#_Toc49248769) na Asterisku? Jakie zmiany są wymagane w plikach konfiguracyjnych Asteriska przy pomocy AMI (CLI?) i jak skonfigurować Twinkle/X-lite'a? ("Twinkle is an OSS SIP phone for KDE/Qt systems and can be downloaded at http://www.twinklephone.com").

Próbowałem skonfigurować Twinkle. Dowiedziałem się, że należy wykonać pewną konfigurację w Asterisku manualnie, jak najzwyklejszy endpoint. Dowiedziałem się również o innym softphone'ie na Linuksa, tj. Zoiper. Wiem, że najważniejsze zmiany mają miejsce w pliku sip.conf. Zastanawiałem się jednak, jak skonfigurować Twinkle. Czy po prostu nazwa użytkownika i domena będzie wystarczające żeby podać? Co podać jako domenę? Myślałem o 192.168.1.102, ale to chyba niekoniecznie to. Sprawdziłem ifconfig i widziałem eth0, lo, wlan0, wmaster0-00. Jedyne adresy, jakie się tam dało znaleźć to pętla zwrotna, czyli lo -> inet addr:127.0.0.1 oraz wlan -> inet addr:192.168.1.102. Konfiguracja w sip.conf nie powinna się różnić niczym od zwykłej konfiguracji endpoint/user w Asterisku. Pomyślałem, że może tak będzie w porządku w sip.conf: [twinkle1] type=friend, username=twinkle1, callerid="johnyjj2" <5678>, host=dynamic, nat=yes, canreinvite=no, disallow=all, allow=gsm, allow=ulaw, allow=alaw . Znalazłem coś podobnego tutaj http://www.voip-info.org/wiki/view/Asterisk+config+sip.conf dla X-lite'a i trochę zmieniłem.

Zaś dla Twinkle to pomyślałem o SIP service provider: None (direct IP to IP calls) [default: None], User name: twinkle1, Domain: 192.168.1.102. Ta konfiguracja zależy od mojej sieci, ale generalnie o to chodzi w konfigurowaniu SIP endpoint. Dowiedziałem się, że w miejsce domain mam podać adres swojego "Asterisk box". Z początku myślałem, że jako user name może być coś innego, np. johnyjj2, ale dowiedziałem się, że ma to być to, co skonfigurowałem jako username w Asterisku. W sumie to wydawało mi się, że nazwa twinkle1 jest potrzebna do dostania się do konfiguracji CLI/AMI, zaś użytkownik softphone'a to niezależna nazwa użytkownika. Przecież softphone to tak jakby ktoś, kto dzwoni pod mój numer i rozmawia z centralką. Nie muszę znać takiej osoby, więc zdziwiło mnie, że muszę tutaj podać twinkle1, czyli to, co napisałem w konfiguracji Asteriska, a nie cokolwiek innego, np. johnyjj2. Z początku wydawało mi się też, że może to być np. numer 101 lub jakikolwiek inny, bo podobne były nazwy użytkowników w tutorialach do X-lite, które przeglądałem parę dni temu.

Jak więc skonfigurować X-lite'a pod Windowsy, Asteriska pod Linuksem i jak połączyć się z Twinkle do demonstracyjnej aplikacji Asteriska o nazwie Parking Zone (http://www.automated.it/guidetoasterisk.htm#_Toc49248769)?

Pozdrawiam!

Offline

 

#2  2010-01-02 15:28:59

  bercik - Moderator Mamut

bercik
Moderator Mamut
Skąd: Warszawa
Zarejestrowany: 2006-09-23
Serwis

Re: Twinke/X-lite + Asterisk

strasznie komplikujesz rzeczy ktore nie sa skomplikowane ... zatem tak:
1. jezeli mieszales cos w konfigach asteriska najlepiej go wywal i zainstaluj od nowa:

Kod:

aptitude purge asterisk
aptitude instal asterisk

po instalacji asterisk powinien sie uruchomic ... jak na razie nie zmieniasz nic w konfigu
2. wywalasz ~/.twinkle i odpalasz twinkle
3. wybierasz konfiguracje przez wizard i podajesz jakas nazwe profilu
4. wybierasz "SIP service provider" jako "None (direct IP to IP clalls)" i podajesz - user name "twinkle-test" oraz domain "localhost" (te parametry sluza tylko do wypelnienia naglowka inforumjacego kto dzwoni)
5. nastepnie otwiera sie okno "System Settings" przechodzisz do zakladki "network" i zmieniasz numer portu SIP na 5061 i zatwierdzasz
6. w polu Call wpisujesz "1000@127.0.0.1" i wybierasz Dial
7. asterisk odbiera polaczenie i zapozanajesz sie z przykladowym systemem IVR

gdy Ci sie to uda to mozna zaczac bawic sie w X-Lite, Parking Zone, itd ...

Edit - tak ogolnie to:
* asteriska konfiguruje sie zasadniczo w plikach i do tego nie jest potrzebne CLI (po zmianie dajesz standardowe /etc/init.d/astersisk reload)
* CLI jest przydatne do debugowania itp ... najprosciej sie do niego dostac komenda asterisk -r
* powyzszy opis uruchomienia zostal przetestowany na wesjach:

Kod:

ii  asterisk                      1:1.4.21.2~dfsg-3             Open Source Private Branch Exchange (PBX)
ii  twinkle                       1:1.2-3                       Voice over Internet Protocol (VoIP) SIP Phone

Ostatnio edytowany przez bercik (2010-01-02 15:34:09)


"Wszyscy wiedzą, że czegoś zrobić nie można. Ale przypadkowo znajduje się jakiś nieuk, który tego nie wie. I on właśnie robi odkrycie." (A.Einstein)

Offline

 

#3  2010-01-02 17:31:57

  johnyjj2 - Użytkownik

johnyjj2
Użytkownik
Zarejestrowany: 2009-12-18

Re: Twinke/X-lite + Asterisk

Dzięki za odpowiedź :-)!

Ad. 1. Instalowałem Asteriska przez apt-get, więc chyba bezpieczniej byłoby 'sudo apt-get --purge remove asterisk', potem 'sudo apt-get clean'. Na Ubuntu do 'apt-get install' potrzebne jest 'sudo', czyli 'sudo apt-get install <package>'.

Ad. 2. "wywalasz ~/.twinkle" - ?
Po prostu uruchomiłem twinkle przez uruchom program (alt+f2).

Ad. 7. Jakaś miła kobieta powiedziała "you have succesfully installed Asterisk". Dalej laptop paskudnie mi się zawieszał, więc wracam do próby zainstalowania Ubuntu na nowo-zakupionym komputerze stacjonarnym, który najwyraźniej nie polubił się z Linuksem :-) (http://forum.ubuntu.pl/showthread.php?p=685610). Tymczasem jedyne co mi pozostaje to praca na laptopie z Ubuntu lub zainstalowanie VMware na stacjonarnym z Windows XP, za co za chwilę pewnie się zabiorę.

> gdy Ci sie to uda to mozna zaczac bawic sie w X-Lite, Parking Zone, itd ...

Jakieś wskazówki a propos Parking Zone? I skonfigurowania X-lite tak, żebym mógł go odpalić pod Windowsami na innym komputerze (nie tym z Ubuntu i Asteriskiem) w mojej sieci domowej. I właściwie po co (zgaduję, że to lamerskie pytanie :-P) ta konfiguracja użytkownika w pliku manager.conf, skoro już udało mi się połączyć z Asteriskiem przy pomocy Twinkle?

Pozdrawiam!

PS

Kod:

mainaccount@mainaccount-laptop:~$ sudo apt-get install asterisk
[sudo] password for mainaccount: 
Czytanie list pakietów... Gotowe
Budowanie drzewa zależności       
Odczyt informacji o stanie... Gotowe
asterisk jest już w najnowszej wersji.
0 aktualizowanych, 0 nowo instalowanych, 0 usuwanych i 25 nieaktualizowanych.
mainaccount@mainaccount-laptop:~$ asterisk -r
Asterisk 1.6.2.0~rc2-0ubuntu1.1, Copyright (C) 1999 - 2009 Digium, Inc. and others.
Created by Mark Spencer <markster@digium.com>
Asterisk comes with ABSOLUTELY NO WARRANTY; type 'core show warranty' for details.
This is free software, with components licensed under the GNU General Public
License version 2 and other licenses; you are welcome to redistribute it under
certain conditions. Type 'core show license' for details.
==============================================================================
 This package has been modified for the Ubuntu distribution.  Please report
 all bugs to https://bugs.edge.launchpad.net/ubuntu/+source/asterisk/+filebug
==============================================================================
Unable to connect to remote asterisk (does /var/run/asterisk/asterisk.ctl exist?)
mainaccount@mainaccount-laptop:~$

Kod:

Więc sprawdzam:

Kod:

mainaccount@mainaccount-laptop:/var/run/asterisk$ ls -l
razem 8
-rwxrwx--- 1 asterisk asterisk 786 2010-01-02 17:19 alt.asterisk.canary.tweet.tweet.tweet
srwxrwx--- 1 asterisk asterisk   0 2010-01-02 16:58 asterisk.ctl
-rw-rw---- 1 asterisk asterisk   5 2010-01-02 16:58 asterisk.pid
mainaccount@mainaccount-laptop:/var/run/asterisk$ sudo vim asterisk.ctl

[3]+  Stopped                 sudo vim asterisk.ctl
mainaccount@mainaccount-laptop:/var/run/asterisk$ sudo cat asterisk.ctl
cat: asterisk.ctl: No such device or address
mainaccount@mainaccount-laptop:/var/run/asterisk$

Program Vim poinformował mnie: 'asterisk.ctl [Nie dozwolono]'.

Choć to pewnie nieistotne, skoro i tak wiem już, że całość konfiguracji da się zrobić edytując odpowiednie pliki tekstowe.

Ostatnio edytowany przez johnyjj2 (2010-01-02 17:34:39)

Offline

 

#4  2010-01-02 19:28:19

  bercik - Moderator Mamut

bercik
Moderator Mamut
Skąd: Warszawa
Zarejestrowany: 2006-09-23
Serwis

Re: Twinke/X-lite + Asterisk

Ad1.
A) to czy apt-get czy aptitude, czy mozna mieszac czy nie, ... to temat zupelnie innej dyskusji
B) do instalowania paczek zawsze potrzebne sa prawa root'a ... jak je uzyskasz to sprawa wtorna mozesz:
- od razu zalogowac sie jako root lub zrobic su
- zrobic 'sudo bash' lub 'sudo su'
- dawac sudo przed kazda komenda
- ...

Ad2. z tym wywal ~/.twinkle chodzilo o skasowanie katalogu .twinkle z $HOME aby wywalic konfiguracje ktora wczesniej mogles zapisac

Ad7. czyli dziala ...

* manager.conf - ta konfiguracja jest wogole nie potrzebna ... przynajmniej nie do tego co robisz i nie w tym momencie ... od tej pory interesuje Ciebie tylko extension.conf + ew. jakies kosmetyczne zmiany w sip.conf i features.conf
* 'asterisk -r' musisz odpalac jako root lub odpowiednio uprzywilejowany uzytkownik (o ile pamietam nalezacy do grupy asterisk)
* co do problemow z instalacja sproboj moze instalacji Debiana z netinstall (na pocztek mozesz sprobowac stable) z recznym partycjonowanie (utworz tylko partycje / - tak 12GB i /home - cala reszta) ... jak cos sie nie bedzie chcialo odpalic zaloz stosony watek i cierpliwie proboj to uruchomic ...
* co do X-lite to nie znam go, ale jakis opis konfiguracji do bezposredniego dzwonienia na SIP URI masz: http://www.velocityreviews.com/forums/t232879-how-t … h-x-lite.html

Edit:
co parkowania to temat nie jest tak trywialny wiec jezeli to ma byc tylko dla tesow (bo z tego co wiem to chesz zrobic IVR, a to z parkowaniem nie ma wiele wspolnego) to nie warto sie z tym bawic, jezeli jednak potrzebujesz tego to:
- powinenes miec dwa softphony w tym conajmniej jeden rejestrujacy sie jako klient w asterisku - konfiguracja w sip.conf (bo rozmiowy z IVR ciezko sie parkuje, a trzeba zronbic aby SIP miedzy dwoma softphonami szedl przez asteriska)
- dalej konfigurujesz w extension.conf i features.conf

Ostatnio edytowany przez bercik (2010-01-02 19:41:59)


"Wszyscy wiedzą, że czegoś zrobić nie można. Ale przypadkowo znajduje się jakiś nieuk, który tego nie wie. I on właśnie robi odkrycie." (A.Einstein)

Offline

 

#5  2010-01-04 19:18:28

  johnyjj2 - Użytkownik

johnyjj2
Użytkownik
Zarejestrowany: 2009-12-18

Re: Twinke/X-lite + Asterisk

Dzięki wielkie za odpowiedź :-)!

Jaki w takim razie program (prostszy niż parkingowy) sugerowałbyś do testów Asteriska?

W sumie to jest jedna istotna kwestia dotycząca tego Cairo/Zanzibar. Jak już zapewne Ci wiadomo Cairo/Zanzibar można połączyć z Asteriskiem, zaś sam Cairo/Zanzibar zawiera w sobie rozpoznawanie mowy Sphinx. W tym Cairo/Zanzibar jest świetny przykład Parrot (pliki Parrot.java, parrot.vxml, ...), który po prostu powtarza to, co się wypowie. Posiada on jeden plik wav, jednak nie jestem pewien, czy to ten plik jest odtwarzany czy raczej wykorzystuje Cairo/Zanzibar system Text To Speech w celu przeczytania tego, co jest w vxml. Ta druga opcja wydaje mi się bardziej prawdopodobna. No a integracja TTS dla j. polskiego z Cairo/Zanzibar to niepotrzebne utrudnienie. Lepiej byłoby właśnie odgrywać w odpowiednim momencie pliki wav. Z tym, że nigdzie nie widzę w żadnym kodzie źródłowym ani konfiguracji, żeby podany był odnośnik do tego pliku wav, który został nagrany dla aplikacji Parrot. Innymi słowy nie wiem, jak dodać do swojej aplikacji odtwarzanie plików wav.

Odnośnie Cairo/Zanzibar - o głównym programie tutaj: http://www.spokentech.org/openivr/index.html). Pliki Parrot.java i parrot.vxml- upload tutaj: http://www.speedyshare.com/files/20130100/parrot.rar (rozmiar to 2kB). Całość zaś do pobrania tutaj: http://sourceforge.net/projects/openivr/

A tu jest mój temat, na który odpowiedzi się nie doczekałem http://old.nabble.com/using-other-acoustic-models-i … tml#a26998499 . Powyższa kwestia to pytanie pierwsze.

Druga sprawa to model akustyczny (pytanie drugie), ale wygląda na to, że to tylko kwestia czasu (http://sourceforge.net/projects/cmusphinx/forums/fo … topic/3506021). Zresztą, będę musiał poszukać o ModelLoaderze dla Sphinx3, potem zaś przetestować ten model w Cairo/Zanzibar, zobaczymy, czy zadziała.

No a w międzyczasie zainstalowałem Mandrivę (problemem była karta graficzna), jak również VMware'a.

Pozdrawiam!

Offline

 

#6  2010-01-05 01:20:33

  bercik - Moderator Mamut

bercik
Moderator Mamut
Skąd: Warszawa
Zarejestrowany: 2006-09-23
Serwis

Re: Twinke/X-lite + Asterisk

johnyjj2 napisał(-a):

Jaki w takim razie program (prostszy niż parkingowy) sugerowałbyś do testów Asteriska?

najprosciej bawic sie jakims IVR opartym na DTMF - tutaj wystarcza tylko jeden softphon i tylko zabawa z extension.conf

BTW sprecyzuj jak rozumiesz w tym kontekscie "program" ... bo przyjolem zalozenie ze jest to bliskie fragmentowi diallplanu realizujacemu okreslona funkcjonalnosc  ...

johnyjj2 napisał(-a):

No a w międzyczasie zainstalowałem Mandrivę (problemem była karta graficzna), jak również VMware'a.

w ogolnosci do asteriska wogole nie sa potrzebne X'y wiec ... ale jak dziala to dobrze ...

Ostatnio edytowany przez bercik (2010-01-05 01:20:54)


"Wszyscy wiedzą, że czegoś zrobić nie można. Ale przypadkowo znajduje się jakiś nieuk, który tego nie wie. I on właśnie robi odkrycie." (A.Einstein)

Offline

 

#7  2010-01-05 17:33:42

  johnyjj2 - Użytkownik

johnyjj2
Użytkownik
Zarejestrowany: 2009-12-18

Re: Twinke/X-lite + Asterisk

Dzięki za Twoją odpowiedź!

bercik napisał(-a):

BTW sprecyzuj jak rozumiesz w tym kontekscie "program" ... bo przyjąłem zalozenie ze jest to bliskie fragmentowi diallplanu realizujacemu okreslona funkcjonalnosc  ...

No cóż, w zasadzie to w dalszym ciągu jest tylko ten jeden problem, czyli jak odtwarzać pliki wav jako odpowiedź w Cairo/Zanzibar. Domyślam się, że nie miałeś do czynienia z Cairo/Zanzibar, więc jeśli byś się zdecydował jakoś spróbować mi odpowiedzieć na to pytanie, to zapewne nie obyłoby się bez ściągnięcia tego Cairo/Zanzibar (linki podałem wyżej) i przejrzenia pod kątem aplikacji Parrot (Parrot.java, parrot.xml i parę mniej istotnych plików).

No a pisząc aplikacja, to mam na myśli algorytm w rodzaju:

1. ktoś mówi ciąg cyfr, 2. ciąg cyfr zostaje rozpoznany, 3. aplikacja liczy sumę kontrolną na podstawie rozpoznanych cyfr, 4. program odpowiada użytkownikowi a - "suma kontrolna prawidłowa" albo b - "suma kontrolna nieprawidłowa - czy zachować dane pomimo nieprawidłowej sumy?", 5. w wypadku a - powrót do punktu [1], w wypadku b - użytkownik odpowiada tak lub nie, później powrót do punktu [1], 6. na bieżąco rozpoznane i zaakceptowane cyfry są zapisywane do pliku tekstowego lub bazy danych, 7. wszystko trwa tak długo, aż użytkownik powie "koniec". Potem bym jeszcze jakoś rozbudował aplikację o wybór prostego i rozszerzonego podawania danych: proste podawanie (to co właśnie wyjaśniłem, czyli same cyfry) i rozszerzone podawanie (oprócz cyfr byłyby pewne dane dodatkowe, które użytkownik by podawał). Największy problem i właściwie jedynym, na którego rozwiązaniu mi teraz zależy to [4].

Wygląda na to, że najwygodniej wszystko zaimplementować w pliku .java (podobnym do Parrot.java), bo punkt [3] najłatwiej zrealizować właśnie tu (zapewne można by powiedzieć, że jest to możliwe tylko tu). Mam takie podejrzenie, że to, co znajduje się w pliku parrot.vxml to tekst, który Cairo/Zanzibar czyta przy pomoc jakiegoś Text To Speech (coś podobnego do polskiego Ivona). Ja chciałbym uniknąć TTS (bo wtedy musiałbym jakoś zintegrować Cairo/Zanzibar z polskim TTS, co przy braku darmowych modeli akustycznych dla j. polskiego oraz z bardzo dużą dozą prawdopodobieństwa brakiem możliwości użycia Ivony razem z Cairo/Zanzibar, byłoby sporą trudnością). Dużo bardziej by mi pasowało, gdybym mógł sobie nagrać wav-y z odpowiedziami, zapisać je gdzieś na dysku raz a dobrze (potem bym ich nie zmieniał), a program (Parrot.java zmodyfikowany przeze mnie) by ich używał w punkcie [4]. W przykładzie Parrot jest też jakiś parrot.wav, ale wygląda to tak, jakby on w ogóle nie był nigdzie używany (nie zauważyłem, żeby był zaincludowany w jakimkolwiek pliku ze słowem parrot w nazwie pliku). Jednak skoro jest zawarty, to pewnie musi być jakaś możliwość, żeby dodać go w aplikacji Parrot, zamiast tego, co jest wymawiane z parrot.vxml.

Także wdzięczny będę, jeśli uda się jakoś rozwiązać kwestię odtwarzania tych uprzednio nagranych wav-ów.

Pozdrawiam!

Offline

 

#8  2010-01-09 22:47:16

  johnyjj2 - Użytkownik

johnyjj2
Użytkownik
Zarejestrowany: 2009-12-18

Re: Twinke/X-lite + Asterisk

Witam!

Zmieniam konfigurację trzech plików, a potem uruchamiam Cairo/Zanzibar. Następnie nie wiem, jak połączyć się z demo Cairo/Zanzibar o nazwie Parrot.

sip.conf (http://www.spokentech.org/openivr/aik.html)

Kod:

[Zanzibar]
type=peer
host=localhost //nie byłem pewien co tutaj wpisać
port=5090
dtmfmode=info
canreinvite=no

extensions.conf na końcu [mainmenu] (nie wiem, czy to właściwe miejsce):

Kod:

exten => 1,n,SIPAddHeader(x-channel:${CHANNEL})
exten => 1,n,SIPAddHeader(x-application:basic|org.speechforge.apps.demos.Parrot)
exten => 1,n,Dial(SIP/Zanzibar)

/etc/asterisk/manager.conf na końcu pliku (http://www.spokentech.org/openivr/intro.html - ostatnia sekcja na stronie):

Kod:

[twinkle]
secret=password
permit=0.0.0.0/0.0.0.0
read=system,call,log,verbose,agent,command,user
write=system,call,log,verbose,agent,command,user

Zaś w Twinkle.

Profile: 'twinkle', SIP service provider: 'None (direct IP to IP calls), username: twinkle, domain: localhost, system settings -> network -> SIP port: 5061. Call: '1000@127.0.0.1'. Łączy mnie z "Congratulations. You have successfully installed and executed the Asterisk open source". Zgaduję, że muszę coś innego wpisać w call. Co wpisać i czy powyższe konfiguracje są prawidłowe?

Pozdrawiam!

Ostatnio edytowany przez johnyjj2 (2010-01-09 22:47:54)

Offline

 

#9  2010-01-09 23:01:13

  bercik - Moderator Mamut

bercik
Moderator Mamut
Skąd: Warszawa
Zarejestrowany: 2006-09-23
Serwis

Re: Twinke/X-lite + Asterisk

1. wywal to co dodales do extensions.conf i wstaw tam (w sekcji [demo]):

Kod:

exten => 1001,1,SIPAddHeader(x-channel:${CHANNEL})
exten => 1001,n,SIPAddHeader(x-application:basic|org.speechforge.apps.demos.Parrot)
exten => 1001,n,Dial(SIP/Zanzibar)

nastepnie w call w twinkle dajesz "1001@127.0.0.1" aby laczyc sie z Cairo/Zanzibar
2. dlaczego sekcje zwiazana z dostepem Cairo/Zanzibar do AMI nazywasz twinkle?


"Wszyscy wiedzą, że czegoś zrobić nie można. Ale przypadkowo znajduje się jakiś nieuk, który tego nie wie. I on właśnie robi odkrycie." (A.Einstein)

Offline

 

#10  2010-01-10 20:05:39

  johnyjj2 - Użytkownik

johnyjj2
Użytkownik
Zarejestrowany: 2009-12-18

Re: Twinke/X-lite + Asterisk

Dzięki za odpowiedź!

Zmieniłem tak jak napisałeś. Łączę się pod 1001 i niestety, ciągle słyszę sygnał "connecting", nigdy nie jest "established". Z punktu widzenia Cairo/Zanzibar to myślę, że nie popełniłem błędu w konfiguracji i uruchomieniu aplikacji.

Zakładam, że w ogóle nie potrzebuję dodawać tej sekcji z dostępem Cairo/Zanzibar do AMI.

Przy okazji wspomnę, że jeśli uda mi się skończyć tą aplikację (a taką mam nadzieję), to zamierzam ją skonfigurować w sposób mniej więcej taki: http://forum.ipfon.pl/index.php?topic=64

Na razie zabieram się za czytanie o vxml (http://www.w3.org/TR/voicexml20/#dml2.1.4).

Pozdrawiam!

Ostatnio edytowany przez johnyjj2 (2010-01-10 23:54:23)

Offline

 

#11  2010-01-11 00:20:34

  bercik - Moderator Mamut

bercik
Moderator Mamut
Skąd: Warszawa
Zarejestrowany: 2006-09-23
Serwis

Re: Twinke/X-lite + Asterisk

odpal konsole asteriska (asterisk -r z pod roota) daj tam set verbose 7 i obserwoj co pisze w trakcie gdy dzwonisz na ten 1001


"Wszyscy wiedzą, że czegoś zrobić nie można. Ale przypadkowo znajduje się jakiś nieuk, który tego nie wie. I on właśnie robi odkrycie." (A.Einstein)

Offline

 

#12  2010-01-12 11:05:36

  johnyjj2 - Użytkownik

johnyjj2
Użytkownik
Zarejestrowany: 2009-12-18

Re: Twinke/X-lite + Asterisk

Dzięki!

Kod:

localhost*CLI> core set verbose 7
Verbosity was 0 and is now 7
  == Using SIP RTP CoS mark 5
    -- Executing [1001@default:1] SIPAddHeader("SIP/localhost-02d3e158", "x-channel:SIP/localhost-02d3e158") in new stack
    -- Executing [1001@default:2] SIPAddHeader("SIP/localhost-02d3e158", "x-application:basic|org.speechforge.apps.demos.Parrot") in new stack
[Jan 12 10:56:34] WARNING[24634]: pbx.c:956 pbx_exec: The application delimiter is now the comma, not the pipe.  Did you forget to convert your dialplan?  (SIPAddHeader(x-application:basic|org.speechforge.apps.demos.Parrot))
    -- Executing [1001@default:3] Dial("SIP/localhost-02d3e158", "SIP/Zanzibar") in new stack
  == Using SIP RTP CoS mark 5
    -- Called Zanzibar
    -- SIP/Zanzibar-02d440f8 is ringing
localhost*CLI>

Wyszukiwanie "Did you forget to convert your dialplan?" znajduje m.in. taki wynik http://www.freepbx.org/v2/ticket/3987 . Czy mam odpalić ten skrypt w modules/core/functions.inc.php ? W jakim dokładniej katalogu? Znalazłem np. /usr/lib64/asterisk/modules, ale on nie zawiera katalogu core.

Pozdrawiam!

Ostatnio edytowany przez johnyjj2 (2010-01-12 11:30:06)

Offline

 

#13  2010-01-12 12:11:48

  bercik - Moderator Mamut

bercik
Moderator Mamut
Skąd: Warszawa
Zarejestrowany: 2006-09-23
Serwis

Re: Twinke/X-lite + Asterisk

johnyjj2 napisał(-a):

Wyszukiwanie "Did you forget to convert your dialplan?" znajduje m.in. taki wynik http://www.freepbx.org/v2/ticket/3987 . Czy mam odpalić ten skrypt w modules/core/functions.inc.php ? W jakim dokładniej katalogu?

nie ... masz przeczytac komunikat ostrzezenia ze zrozumieniem ...
1. to jest ostrzezenie wiec mozna to zignorowac
2. problem dotyczy uzycia | zamiast ,
3. "Did you forget to convert your dialplan?" oznacza "zapomniales przekonwertowac swoj dialplan?" wiec szukanie tego w google jest troche malo sensowne
4. ja bym nie interweniowal bo skoro manual od integracji Zanzibar z Asteriskiem kaze robic tak to byc moze Zanzibar nie rozumie po nowemu ...
5. najistotniejszy jest koniec ... czyli asterisk dzwoni do Zanzibar a ten nie odbiera ... czyli od strony asteriska wyglada to ok

johnyjj2 napisał(-a):

Zakładam, że w ogóle nie potrzebuję dodawać tej sekcji z dostępem Cairo/Zanzibar do AMI.

http://www.spokentech.org/openivr/aik.html napisał(-a):

Zanzibar use AMI to transfer calls to other extensions or phone numbers. For this to work you must add this to the manager.conf

wiec jezeli nie potrzebujesz tej funkcjonalnosci to raczej nie musisz ...


"Wszyscy wiedzą, że czegoś zrobić nie można. Ale przypadkowo znajduje się jakiś nieuk, który tego nie wie. I on właśnie robi odkrycie." (A.Einstein)

Offline

 

#14  2010-01-14 17:40:35

  johnyjj2 - Użytkownik

johnyjj2
Użytkownik
Zarejestrowany: 2009-12-18

Re: Twinke/X-lite + Asterisk

Dzięki za odpowiedź!

Kluczem do rozwiązania problemu są komunikaty, które wcześniej musiałem przeoczyć. Są one powodowane przez ostatni z czterech programów, które odpalam (te cztery to: rserver.sh, transmitter1.sh, receiver1.sh, asteriskConnector.sh).

Czy dobrze rozumiem z poniższych informacji, że przyczyną, dla której Zanzibar nie działa jest to, że nie może się zalogować do AMI? Jak temu zaradzić?

Poniżej przedstawiam fragmenty tego, co wypisuje ./asteriskConnector.sh. Część z nich związana jest z jego uruchomieniem, część spowodowana jest przez dzwonienie z poziomu Twinkle.

Kod:

Unable to locate MessageSource with name 'messageSource': using default [org.springframework.context.support.DelegatingMessageSource@b8deef]
Unable to locate ApplicationEventMulticaster with name 'applicationEventMulticaster': using default [org.springframework.context.event.SimpleApplicationEventMulticaster@4a6cbf]

...

Starting up the main Server...
***: 127.0.0.1
Connecting to 192.168.0.103:5038
IO Excepton while loging in to asterisk manager interface.  Call control services is disabled.

...

Got an invite request
javax.sip.SipException: IO Error sending request
    at gov.nist.javax.sip.stack.SIPClientTransaction.sendRequest(SIPClientTransaction.java:940)
    at org.speechforge.cairo.sip.SipAgent.sendInviteWithoutProxy(SipAgent.java:443)
    at org.speechforge.zanzibar.sip.SipServer.processInviteRequest(SipServer.java:372)
    at org.speechforge.cairo.sip.SipListenerImpl.processInvite(SipListenerImpl.java:446)
    at org.speechforge.cairo.sip.SipListenerImpl.processRequest(SipListenerImpl.java:123)
    at gov.nist.javax.sip.EventScanner.deliverEvent(EventScanner.java:223)
    at gov.nist.javax.sip.EventScanner.run(EventScanner.java:492)
    at java.lang.Thread.run(Thread.java:619)
Caused by: java.io.IOException: Invalid argument
    at java.net.PlainDatagramSocketImpl.send(Native Method)
    at java.net.DatagramSocket.send(DatagramSocket.java:612)
    at gov.nist.javax.sip.stack.UDPMessageChannel.sendMessage(UDPMessageChannel.java:641)
    at gov.nist.javax.sip.stack.MessageChannel.sendMessage(MessageChannel.java:183)
    at gov.nist.javax.sip.stack.SIPTransaction.sendMessage(SIPTransaction.java:734)
    at gov.nist.javax.sip.stack.SIPClientTransaction.sendMessage(SIPClientTransaction.java:480)
    at gov.nist.javax.sip.stack.SIPClientTransaction.sendRequest(SIPClientTransaction.java:936)
    ... 7 more
Got a dialog terminated event

bercik napisał(-a):

byc moze Zanzibar nie rozumie po nowemu

Jeszcze zanim zauważyłem błędy w terminalu, sprawdziłem i nie w tym rzecz. Zainstalowałem starszą wersję Asteriska (1.4.28 -> ./configure -> make -> make install -> make samples -> edytowałem jeszcze raz /etc/asterisk/extensions.conf i sip.conf -> asterisk -vvvc -> core show version i dialplan są ok). Teraz działa stara wersja dialplanu (z kreską pionową, nie trzeba przecinka). Niestety, problem się powtarza w taki sam sposób, jak wcześniej.

Ten wynik wyszukiwania na google (SIPAddHeader(x-application:basic) wskazuje tylko Zanzibara i moje posty, więc to chyba mniej typowy sposób konfiguracji SIPAddHeadera. Skąd on wie, gdzie znajduje się org.speechforge.apps.demos.Parrot? To nie jest przecież ścieżka do katalogu.

Spróbowałem też z tą linijką

Kod:

exten => 1,n,SIPAddHeader("x-application:vxml|http://localhost:8080/hello.vxml")

ale efekt ten sam. W przeglądarce internetowej nie znajduje http://localhost:8080/hello.vxml. Domyślam się, że to programy Zanzibara odpalane przez pliki sh powinny postawić na nogi port 8080.

Pozdrawiam!

Ostatnio edytowany przez johnyjj2 (2010-01-14 17:43:16)

Offline

 

#15  2010-01-14 18:45:42

  bercik - Moderator Mamut

bercik
Moderator Mamut
Skąd: Warszawa
Zarejestrowany: 2006-09-23
Serwis

Re: Twinke/X-lite + Asterisk

johnyjj2 napisał(-a):

Kod:

Unable to locate MessageSource with name 'messageSource': using default [org.springframework.context.support.DelegatingMessageSource@b8deef]
Unable to locate ApplicationEventMulticaster with name 'applicationEventMulticaster': using default [org.springframework.context.event.SimpleApplicationEventMulticaster@4a6cbf]

Starting up the main Server...
***: 127.0.0.1
Connecting to 192.168.0.103:5038
IO Excepton while loging in to asterisk manager interface.  Call control services is disabled.

to raczej nie jest problemem ...

johnyjj2 napisał(-a):

Kod:

Got an invite request
javax.sip.SipException: IO Error sending request
    at gov.nist.javax.sip.stack.SIPClientTransaction.sendRequest(SIPClientTransaction.java:940)
    at org.speechforge.cairo.sip.SipAgent.sendInviteWithoutProxy(SipAgent.java:443)
    at org.speechforge.zanzibar.sip.SipServer.processInviteRequest(SipServer.java:372)

to jest problemem

johnyjj2 napisał(-a):

bercik napisał(-a):

byc moze Zanzibar nie rozumie po nowemu

Jeszcze zanim zauważyłem błędy w terminalu, sprawdziłem i nie w tym rzecz. Zainstalowałem starszą wersję Asteriska (1.4.28 -> ./configure -> make -> make install -> make samples -> edytowałem jeszcze raz /etc/asterisk/extensions.conf i sip.conf -> asterisk -vvvc -> core show version i dialplan są ok). Teraz działa stara wersja dialplanu (z kreską pionową, nie trzeba przecinka). Niestety, problem się powtarza w taki sam sposób, jak wcześniej.

nie potrzebnie cofales wersje asteriska ...
1. ostrzezenie to nie blad
2. "byc moze Zanzibar nie rozumie po nowemu" odnosilo sie do tego ze lepiej zostawic naglowek w postaci w takiej jakiej byl | bo jakbys zmienil to Zanzibar moglby nie rozumiec ... a asteriskowi i tak obojetne (on tylko ostrzega)


"Wszyscy wiedzą, że czegoś zrobić nie można. Ale przypadkowo znajduje się jakiś nieuk, który tego nie wie. I on właśnie robi odkrycie." (A.Einstein)

Offline

 

#16  2010-01-16 12:54:53

  johnyjj2 - Użytkownik

johnyjj2
Użytkownik
Zarejestrowany: 2009-12-18

Re: Twinke/X-lite + Asterisk

Dzięki za odpowiedź!

Coś mi się widzi, że problemem jest plik konfiguracyjny Cairo/Zanzibar, tzn. pbxconfig.xml, a dokładniej ten fragment:

Kod:

    <bean id="sipService" class="org.speechforge.zanzibar.sip.SipServer"

        init-method="startup" destroy-method="shutdown">

        <property name="dialogService"><ref bean="dialogService"/></property>

        <property name="mySipAddress">

                    <value>sip:cairogate@speechforge.org</value>

        </property>

        <property name="stackName">

                    <value>Zanzibar Sip Stack</value>

        </property>

        <property name="port">

                    <value>5090</value>

        </property>

        <property name="transport">

                    <value>UDP</value>

        </property>

        <property name="cairoSipAddress">

                    <value>sip:cairo@speechforge.org</value>

        </property>

        <property name="cairoSipHostName">

                    <value>192.168.0.100</value>

        </property>

        <property name="cairoSipPort">

                    <value>5050</value>

        </property>

    </bean>

Zapewne muszę zmienić cairoSipAddress na nazwę maszyny, która uruchamia Cairo (a dokładniej to rserver.sh). Czyli jak się domyślam mainaccount@localhost. Nie wiedzieć czemu są dwa pliki pbxconfig.xml, do tego nie tylko one zawierają tą sekcję (również democonfig-cairo.xml i democonfig.xml - w dwóch katalogach config i bin/config w folderze /cairo/zanbizar-0.1 (czyli w binaries)).

Zastanawiam się jednak jaki IP podać w cairoSipAddress. Polecenie ifconfig jedyny 192.168, jaki mi podaje to broadcast 192.168.1.255, na pewno adresu rozgłaszania nie mam podawać jako adresu hosta. Wiem też, że 192.168.x.x to localhost, ale czy będzie to 0.100? Tak też myślę, że musiałbym zmienić numer portu, ale czy w konfiguracji Asteriska czy Twinkle i na który z tych dwóch?

Pozdrawiam!

Offline

 

#17  2010-01-16 21:57:29

  bercik - Moderator Mamut

bercik
Moderator Mamut
Skąd: Warszawa
Zarejestrowany: 2006-09-23
Serwis

Re: Twinke/X-lite + Asterisk

1. pokaz ten ifconfig bo to dziwne co piszesz ...
2. sadze ze nalezy tez zmienic mySipAddress
3. sprawdz w dokumentacji czym rozni sie cairoSipPort od port wystepujace w tym pliku i ktory z nich powinien byc uzywany do dzwonienia do Cairo


"Wszyscy wiedzą, że czegoś zrobić nie można. Ale przypadkowo znajduje się jakiś nieuk, który tego nie wie. I on właśnie robi odkrycie." (A.Einstein)

Offline

 

#18  2010-01-17 11:26:07

  johnyjj2 - Użytkownik

johnyjj2
Użytkownik
Zarejestrowany: 2009-12-18

Re: Twinke/X-lite + Asterisk

Dzięki wielkie za odpowiedź!

W tym miejscu http://www.spokentech.org/openivr/docs/apidocs/org/ … ipServer.html znalazłem między innymi:

mySipAddress - adres agenta SIP
port - port używany przez tego agenta SIP
cairoSipPort - port używany przez serwery mowy agenta SIP

Tutaj zaś http://www.spokentech.org/openivr/intro.html w sekcji "Configuring the Server":

Konfiguracja usługi SIP. Usługa SIP jest używana zarówno dla odbierania przychodzących rozmów jak i ustawiania kanałów MRCPv2. Poniżej znajduje się przykład konfiguracji SipService. Jest to miejsce, w którym ustalasz gdzie znaleźć serwer MRCPv2 (cairoSipHostName oraz cairoSipPort). Również tu ustalasz warstwę transportową SIP (UDP lub TCP). Zauważ, że ta sama warstwa transportowa jest używana zarówno dla serwera MRCP, jak i dla rozmów przychodzących (PBX). Jest to miejsce, gdzie konfigurujesz port, którego usługa używa dla rozmów przychodzących i żądań z serwera MRCP (parametr 'port').

Czyli 'cairoSipPort' umożliwia znalezienie serwera MRCPv2 (serwera mowy agenta SIP), zaś 'port' jest dla rozmów przychodzących i żądań z serwera MRCP. Tak się domyślam, że mogę zostawić 'cairoSipPort' taki, jaki jest, zaś 'port' muszę zmienić na ten, którego używam do łączenia się do Asteriska z Twinkle, czyli 5061. Czy mam rację? Jak się to zmieni potem, podczas konfiguracji pod kątem SIP providera (http://forum.ipfon.pl/index.php?topic=64)? Jak zmienić pozostałe wartości? Nie mam też pomysłu na wartość mySipAddress.

Co do adresu IP dla wlan0 to jest inet addr:192.168.1.101.

Pozdrawiam!

Offline

 

#19  2010-01-17 13:45:18

  bercik - Moderator Mamut

bercik
Moderator Mamut
Skąd: Warszawa
Zarejestrowany: 2006-09-23
Serwis

Re: Twinke/X-lite + Asterisk

johnyjj2 napisał(-a):

Tak się domyślam, że mogę zostawić 'cairoSipPort' taki, jaki jest, zaś 'port' muszę zmienić na ten, którego używam do łączenia się do Asteriska z Twinkle, czyli 5061. Czy mam rację?

nie ... sproboje pokazac na obrazku

Kod:

      twinkle
(sip slucha na 5061)
         |
         |
      asterisk
(sip slucha na 5060)
         |
         |
      openIVR
(sip slucha na 5090)
         |
         |
       cairo
(sip slucha na 5050)

gornej czesci (asterisk i twinkle) jestem pewnien ... dolna tak sobie wyobrazam na podstawie przedstawionego opisu parametrow port i cairoSipPort

johnyjj2 napisał(-a):

Jak się to zmieni potem, podczas konfiguracji pod kątem SIP providera (http://forum.ipfon.pl/index.php?topic=64)? Jak zmienić pozostałe wartości? Nie mam też pomysłu na wartość mySipAddress.

tym sie bedziesz martwic pozniej ... moze do tamtego czasu staniesz sie na tyle biegly w voipie ze nie bedzie to juz zmartwieniem ;-)


"Wszyscy wiedzą, że czegoś zrobić nie można. Ale przypadkowo znajduje się jakiś nieuk, który tego nie wie. I on właśnie robi odkrycie." (A.Einstein)

Offline

 

#20  2010-01-17 14:12:46

  johnyjj2 - Użytkownik

johnyjj2
Użytkownik
Zarejestrowany: 2009-12-18

Re: Twinke/X-lite + Asterisk

Dzięki :-)

Może stanę się na tyle biegły w VoIP-ie do tego czasu, może nie. Grunt, że chciałbym skończyć ten mały projekt, którego większość czasu i tak mi zajęło stworzenie tego modelu akustycznego w SphinxTrainie. Później zapewne zakupię sobie książkę o VoIP-ie, Asterisku itd., żeby Cię nie zamęczać wiecznie pytaniami :-).

Czyli tak sobie wnioskuję. Jeśli nie mogłem się łączyć z Twinkle do Asteriska, kiedy Twinkle miał ten sam port, co Asterisk, a teraz mogę, kiedy te porty są różne, to każde z tych połączeń wymaga osobnego portu. Twinkle używa 5061, żeby się połączyć z Asteriskiem, zaś Asterisk 5060, żeby odpowiedzieć Twinkle'owi. Asterisk używa 5060, żeby się połączyć z openIVR, zaś openIVR 5090, żeby odpowiedzieć Asteriskowi itd. Port przypisany do każdej aplikacji służy zarówno do odbierania jak i wysyłania danych przez tą aplikację. Czyli jeśli wszystkie cztery numery portów są inne, to powinno być OK ze strony konfiguracji numerów portów w różnych aplikacjach.

Innymi słowy jedyne rzeczy, które zmienić muszę to IP oraz dwa adresy, których domyślne wartości to:
mySipAddress -> sip:cairogate@speechforge.org
cairoSipAddress -> sip:cairo@speechforge.org

Zaryzykowałbym zmianę mySipAddress na mainaccount@localhost, plus oczywiście zmiana IP z 192.168.0.100 na 192.168.1.101, choć ten adres IP z ifconfig jest dla wlan0, czyli mojej karty WiFi na USB. Zastanawiałem się, dlaczego mam używać adresu karty bezprzewodowej, skoro wszystko się dzieje lokalnie na komputerze, bez konieczności dostępu do internetu, bezprzewodowego ani jakiegokolwiek innego. Odpowiadam sobie jednak, że są to wszystko aplikacje sieciowe i najzwyczajniej w świecie nie działałyby na localhoście, gdybym nie miał żadnej karty sieciowej. Zaś 192.168.x.x to sieć prywatna, czyli localhost, więc używając adresu 192.168.1.101 korzystam z karty WiFi, ale niczego nie wysyłam bezprzewodowo.

Podsumowując zmienię mySipAddress na mainaccount@localhost i IP na 192.168.1.101 i za chwilę napiszę, czy zadziałała taka konfiguracja.

Pozdrawiam!

Offline

 

#21  2010-01-17 14:55:02

  bercik - Moderator Mamut

bercik
Moderator Mamut
Skąd: Warszawa
Zarejestrowany: 2006-09-23
Serwis

Re: Twinke/X-lite + Asterisk

johnyjj2 napisał(-a):

Twinkle używa 5061, żeby się połączyć z Asteriskiem, zaś Asterisk 5060, żeby odpowiedzieć Twinkle'owi.

prawie tak tyle ze na odwrot - asterisk sluch na (standardowym) porcie 5060 i Twinkle uzywa go aby polaczyc sie z Asteriskiem ... twinkle sucha na 5061 i aby polaczyc sie z Twinkle nalezy laczyc sie z tym portem ...

johnyjj2 napisał(-a):

Czyli jeśli wszystkie cztery numery portów są inne, to powinno być OK ze strony konfiguracji numerów portów w różnych aplikacjach.

tak, ale nalezy pilnowac aby obie strony wiedzialy o tym jakie to sa numery (dla przykladu asterisk jest poinformowany w sip.conf ze Zanzibar jest na porcie 5090)

johnyjj2 napisał(-a):

Zaryzykowałbym zmianę mySipAddress na mainaccount@localhost, plus oczywiście zmiana IP z 192.168.0.100 na 192.168.1.101, choć ten adres IP z ifconfig jest dla wlan0, czyli mojej karty WiFi na USB. Zastanawiałem się, dlaczego mam używać adresu karty bezprzewodowej, skoro wszystko się dzieje lokalnie na komputerze, bez konieczności dostępu do internetu, bezprzewodowego ani jakiegokolwiek innego.

zawsze mozesz uzywac adresu lo - 127.0.0.1

johnyjj2 napisał(-a):

Odpowiadam sobie jednak, że są to wszystko aplikacje sieciowe i najzwyczajniej w świecie nie działałyby na localhoście, gdybym nie miał żadnej karty sieciowej.

nie prawda - po to aby mogly wtedy dzialac jest wlasnie interfejs petli zwrotnej (lo) ... na marginesie mozna powiedziec ze na systemach unixowatych zawsze powinien on byc skonfigurowany bo inaczej moga byc rozne dziwne problemy


"Wszyscy wiedzą, że czegoś zrobić nie można. Ale przypadkowo znajduje się jakiś nieuk, który tego nie wie. I on właśnie robi odkrycie." (A.Einstein)

Offline

 

#22  2010-01-17 17:23:24

  johnyjj2 - Użytkownik

johnyjj2
Użytkownik
Zarejestrowany: 2009-12-18

Re: Twinke/X-lite + Asterisk

Dzięki za odpowiedź!

Zauważyłem, że skrypty muszą być uruchomione z su, bo inaczej nie potrafi utworzyć jakichś plików tymczasowych.

Zmieniłem tylko na 127.0.0.1. Dzwoniąc z Twinkle na 1001@127.0.0.1 od razu odbiera mi połączenie, jednak nic się w tym połączeniu nie dzieje (żadnego dźwięku). Dźwięk działa poprawnie w Twinkle, bo słyszę sygnał dzwonienia przez krótką chwilę. Połączenie trwa, potem je przerywam przyciskiem "bye".

Kod:

localhost*CLI> 
    -- Executing [1001@default:1] SIPAddHeader("SIP/localhost-00000004", "x-channel:SIP/localhost-00000004") in new stack
    -- Executing [1001@default:2] SIPAddHeader("SIP/localhost-00000004", "x-application:basic|org.speechforge.apps.demos.Parrot") in new stack
    -- Executing [1001@default:3] Dial("SIP/localhost-00000004", "SIP/Zanzibar") in new stack
    -- Called Zanzibar
    -- SIP/Zanzibar-00000005 is ringing
    -- SIP/Zanzibar-00000005 answered SIP/localhost-00000004
localhost*CLI> 
  == Spawn extension (default, 1001, 3) exited non-zero on 'SIP/localhost-00000004'

Ze strony czwartego skryptu (asteriskConnector.sh) zaś to wygląda tak:

Kod:

*: 127.0.0.1
Connecting to 192.168.0.103:5038
Got an invite request
Received an unhandled SIP response status code (ignoring it): 183 : Session progress
java.lang.Exception: Application Type basic not supported

Druga próba to 192.168.1.101.

Kod:

    -- Executing [1001@default:1] SIPAddHeader("SIP/localhost-00000000", "x-channel:SIP/localhost-00000000") in new stack
    -- Executing [1001@default:2] SIPAddHeader("SIP/localhost-00000000", "x-application:basic|org.speechforge.apps.demos.Parrot") in new stack
    -- Executing [1001@default:3] Dial("SIP/localhost-00000000", "SIP/Zanzibar") in new stack
    -- Called Zanzibar
    -- SIP/Zanzibar-00000001 is ringing
localhost*CLI> 
  == Spawn extension (default, 1001, 3) exited non-zero on 'SIP/localhost-00000000'
localhost*CLI>

oraz czwarty skrypt:

Kod:

***: 127.0.0.1
Connecting to 192.168.0.103:5038
Got an invite request
Got a dialog terminated even

Do tego podczas tej drugiej próby Twinkle zachowuje się niestabilnie. Podczas przesuwania kursora myszy po środkowej części ekranu (pomiędzy paskiem dolnym i górnym Mandrivy), nie widzi górnego paska. Gdy przechodzę kursorem na dolny pasek, mruga raz i pojawia się pasek u góry, uprzednio niewidoczny. Zapobiec temu można wybierając na Twinkle -> prawy przycisk myszy -> zamknij, choć co prawda nie zamyka to Twinkle. Nie widzę też nigdzie twinkle w poleceniu 'top'.

Trzecia próba. Czyli jednak lepiej spróbować z tym 127.0.0.1. Tym razem oprócz IP na 127.0.0.1 zmieniłem też oba adresy na sip:mainaccount@localhost

Kod:

***: 127.0.0.1
Connecting to 192.168.0.103:5038
Got an invite request
Received an unhandled SIP response status code (ignoring it): 183 : Session progress
java.lang.Exception: Application Type basic not supported
...
Got a bye request
Stopping a  basic|org.speechforge.apps.demos.Parrot
 speechlet with session id = 1958183b53b9b2ac4f576d81258ff3a6@127.0.0.1:2110508818:as220d0c2d

Czyli rezultat jak za pierwszym razem. Twinkle znowu wpływa na stabilność systemu. Wynikałoby, że jest jakiś problem z połączeniem na mój adres IP (192.168.1.101), zaś w wypadku 127.0.0.1 łączy się, ale nie działa prawidłowo. Choć w dalszym ciągu nie podoba mi się to, co jest w polach mySipAddress i cairoSipAddress.

Pozdrawiam!

Offline

 

#23  2010-01-17 18:01:04

  bercik - Moderator Mamut

bercik
Moderator Mamut
Skąd: Warszawa
Zarejestrowany: 2006-09-23
Serwis

Re: Twinke/X-lite + Asterisk

1. co do laczenia z 192.168.1.101 to zalezy na jakich adresach co slucha ... mozna to zobaczyc w wyniku polecenia

Kod:

netstat -l -p

(z pod root'a)
2. jak widac w obu przypadkach asterisk wydzwania Zanzibar'a po SIPie w drugim przypadku Zanzibar nie odbiera polaczenia ...
3. nie podoba mi sie to:

Kod:

java.lang.Exception: Application Type basic not supported

wyglada jakby Zanzibar/Cario nie rozumialy wartosci naglowka ustawianego specjalnie na ich potrzebe ...
4. czy to "Connecting to 192.168.0.103:5038" jest wypisywane w odpowiedzi na dzwonienie czy przy starcie tego asteriskConnector.sh
5. problemow srodowiska graficznego itd bym do tego nie mieszal ...


"Wszyscy wiedzą, że czegoś zrobić nie można. Ale przypadkowo znajduje się jakiś nieuk, który tego nie wie. I on właśnie robi odkrycie." (A.Einstein)

Offline

 

#24  2010-01-17 18:40:07

  johnyjj2 - Użytkownik

johnyjj2
Użytkownik
Zarejestrowany: 2009-12-18

Re: Twinke/X-lite + Asterisk

Dzięki za odpowiedź!

bercik napisał(-a):

1. co do laczenia z 192.168.1.101 to zalezy na jakich adresach co slucha ... mozna to zobaczyc w wyniku polecenia

Kod:

netstat -l -p

(z pod root'a)

Po uruchomieniu czterech skryptów i Asteriska:

Kod:

[root@localhost mainaccount]# netstat -l -p
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address               Foreign Address             State       PID/Program name   
tcp        0      0 *:sieve                     *:*                         LISTEN      22705/asterisk      
tcp        0      0 *:32416                     *:*                         LISTEN      20739/java          
tcp        0      0 *:32417                     *:*                         LISTEN      20413/java          
tcp        0      0 *:1099                      *:*                         LISTEN      20038/java          
tcp        0      0 *:41168                     *:*                         LISTEN      20739/java          
tcp        0      0 *:46545                     *:*                         LISTEN      20413/java          
tcp        0      0 *:56510                     *:*                         LISTEN      20038/java          
udp        0      0 *:2727                      *:*                                     22705/asterisk      
udp        0      0 *:5060                      *:*                                     22705/asterisk      
udp        0      0 *:bootpc                    *:*                                     2184/dhclient       
udp        0      0 *:iax                       *:*                                     22705/asterisk      
udp        0      0 *:5353                      *:*                                     2321/avahi-daemon:  
udp        0      0 *:49777                     *:*                                     2321/avahi-daemon:  
udp        0      0 localhost:5050              *:*                                     20038/java          
udp        0      0 localhost:5090              *:*                                     21046/java          
Active UNIX domain sockets (only servers)
Proto RefCnt Flags       Type       State         I-Node PID/Program name    Path
unix  2      [ ACC ]     STREAM     LISTENING     7490   2321/avahi-daemon:  /var/run/avahi-daemon/socket
unix  2      [ ACC ]     STREAM     LISTENING     9599   3509/gnome-panel    /home/mainaccount/tmp/orbit-mainaccount/linc-db5-0-33d59a8e6061b
unix  2      [ ACC ]     STREAM     LISTENING     10639  3538/beagle-search  /home/mainaccount/tmp/orbit-mainaccount/linc-dd2-0-58d4760668ffd
unix  2      [ ACC ]     STREAM     LISTENING     33651  21343/gconfd-2      /root/tmp/orbit-root/linc-535f-0-4fc8192d63683
unix  2      [ ACC ]     STREAM     LISTENING     33681  21345/gam_server    @/tmp/fam-root-
unix  2      [ ACC ]     STREAM     LISTENING     33668  21334/dolphin       /root/tmp/orbit-root/linc-5356-0-42fc869366d65
unix  2      [ ACC ]     STREAM     LISTENING     33698  21348/kdeinit4: kde /root/tmp/ksocket-root/kdeinit4__0
unix  2      [ ACC ]     STREAM     LISTENING     33717  21349/kdeinit4: kla /root/tmp/ksocket-root/klauncherT21349.slave-socket
unix  2      [ ACC ]     STREAM     LISTENING     33764  21352/kdeinit4: kde /root/tmp/orbit-root/linc-5368-0-1072164dd90c8
unix  2      [ ACC ]     STREAM     LISTENING     33958  21365/dolphinF21334 /root/tmp/orbit-root/linc-5375-0-56c19cf688be8
unix  2      [ ACC ]     STREAM     LISTENING     8469   3309/gnome-keyring- /tmp/keyring-vvqSbk/socket
unix  2      [ ACC ]     STREAM     LISTENING     4846   1151/acpid          /var/run/acpid.socket
unix  2      [ ACC ]     STREAM     LISTENING     8775   3440/gconfd-2       /home/mainaccount/tmp/orbit-mainaccount/linc-d70-0-274754115ba04
unix  2      [ ACC ]     STREAM     LISTENING     8592   3342/ssh-agent      /tmp/ssh-Oxqkpk3313/agent.3313
unix  2      [ ACC ]     STREAM     LISTENING     9342   3472/pulseaudio     /tmp/.esd-500/socket
unix  2      [ ACC ]     STREAM     LISTENING     8715   3313/gnome-session  /tmp/.ICE-unix/3313
unix  2      [ ACC ]     STREAM     LISTENING     35185  22705/asterisk      /var/run/asterisk.ctl
unix  2      [ ACC ]     STREAM     LISTENING     9156   3309/gnome-keyring- /tmp/orbit-mainaccount/linc-ced-0-232a89c8fdc4
unix  2      [ ACC ]     STREAM     LISTENING     9160   3309/gnome-keyring- /tmp/keyring-vvqSbk/socket.ssh
unix  2      [ ACC ]     STREAM     LISTENING     8961   3313/gnome-session  /home/mainaccount/tmp/orbit-mainaccount/linc-cf1-0-6e8768fe6e9b0
unix  2      [ ACC ]     STREAM     LISTENING     9067   3468/gnome-settings /home/mainaccount/tmp/orbit-mainaccount/linc-d8c-0-65feaa8477b80
unix  2      [ ACC ]     STREAM     LISTENING     30111  17613/gnome-termina /home/mainaccount/tmp/orbit-mainaccount/linc-44cd-0-5d1976f31ab1d
unix  2      [ ACC ]     STREAM     LISTENING     9503   3502/metacity       /home/mainaccount/tmp/orbit-mainaccount/linc-dae-0-5f66a71d40700
unix  2      [ ACC ]     STREAM     LISTENING     9345   3472/pulseaudio     /home/mainaccount/.pulse/ef378c8d74c56bc59b2ee0ab4b3fec08-runtime/native
unix  2      [ ACC ]     STREAM     LISTENING     9162   3309/gnome-keyring- /tmp/keyring-vvqSbk/socket.pkcs11
unix  2      [ ACC ]     STREAM     LISTENING     9399   3498/gconf-helper   /home/mainaccount/tmp/orbit-mainaccount/linc-daa-0-382b8eab201af
unix  2      [ ACC ]     STREAM     LISTENING     12150  3536/beagled        /home/mainaccount/tmp/orbit-mainaccount/linc-dd0-0-4b9fa4fe8cfd
unix  2      [ ACC ]     STREAM     LISTENING     5497   1387/hald           @/var/run/hald/dbus-c1FR2wMk53
unix  2      [ ACC ]     STREAM     LISTENING     13356  6736/evince         /home/mainaccount/tmp/orbit-mainaccount/linc-1a50-0-75d11eaeaea02
unix  2      [ ACC ]     STREAM     LISTENING     31378  18251/gedit         /home/mainaccount/tmp/gedit.mainaccount.3034710812
unix  2      [ ACC ]     STREAM     LISTENING     10421  3510/nautilus       /home/mainaccount/tmp/orbit-mainaccount/linc-db6-0-28c9096d62ff1
unix  2      [ ACC ]     STREAM     LISTENING     10017  3546/gnome-screensa /home/mainaccount/tmp/orbit-mainaccount/linc-dc0-0-7fe37ae4e825c
unix  2      [ ACC ]     STREAM     LISTENING     10431  3522/evolution-alar /home/mainaccount/tmp/orbit-mainaccount/linc-dc2-0-33d59a8963323
unix  2      [ ACC ]     STREAM     LISTENING     33610  21339/dbus-daemon   @/tmp/dbus-LBiO8I0UdN
unix  2      [ ACC ]     STREAM     LISTENING     8647   3397/dbus-daemon    @/tmp/dbus-K5prLZwrBM
unix  2      [ ACC ]     STREAM     LISTENING     6706   1889/X              @/tmp/.X11-unix/X0
unix  2      [ ACC ]     STREAM     LISTENING     5584   1387/hald           @/var/run/hald/dbus-AJ9wzNGDhJ
unix  2      [ ACC ]     STREAM     LISTENING     10675  3536/beagled        /home/mainaccount/.beagle/socket
unix  2      [ ACC ]     STREAM     LISTENING     10433  3519/gnome-power-ma /home/mainaccount/tmp/orbit-mainaccount/linc-dbf-0-2e0082f3633b3
unix  2      [ ACC ]     STREAM     LISTENING     29111  16069/beagled-helpe /home/mainaccount/.beagle/socket-helper
unix  2      [ ACC ]     STREAM     LISTENING     5350   1327/dbus-daemon    /var/run/dbus/system_bus_socket
unix  2      [ ACC ]     STREAM     LISTENING     6667   1868/gdm-binary     /var/run/gdm_socket
unix  2      [ ACC ]     STREAM     LISTENING     31387  18251/gedit         /home/mainaccount/tmp/orbit-mainaccount/linc-474b-0-313cbdf5e91e
unix  2      [ ACC ]     STREAM     LISTENING     11573  4161/seamonkey-bin  /home/mainaccount/tmp/orbit-mainaccount/linc-1041-0-70d4a4d2d6b21
unix  2      [ ACC ]     STREAM     LISTENING     6707   1889/X              /tmp/.X11-unix/X0
unix  2      [ ACC ]     STREAM     LISTENING     10470  3545/notification-d /home/mainaccount/tmp/orbit-mainaccount/linc-dd9-0-5dbc49ac8719
unix  2      [ ACC ]     STREAM     LISTENING     8714   3313/gnome-session  @/tmp/.ICE-unix/3313
unix  2      [ ACC ]     STREAM     LISTENING     34115  21555/kfind         /root/tmp/orbit-root/linc-5433-0-4f12f5ac11098
unix  2      [ ACC ]     STREAM     LISTENING     10616  3514/bonobo-activat /home/mainaccount/tmp/orbit-mainaccount/linc-dba-0-5660ceff45080
[root@localhost mainaccount]#

Zastanawiałem się też, czy ten pulseaudio nie powoduje jakichś problemów.

bercik napisał(-a):

4. czy to "Connecting to 192.168.0.103:5038" jest wypisywane w odpowiedzi na dzwonienie czy przy starcie tego asteriskConnector.sh

Też mi się to nie podobało. Wypisuje to na początku. Przeszukałem katalog pod kątem '0.103' i znalazłem je w plikach democonfig-withcairo.xml, democonfig.xml, pbxconfig.xml. W ogóle to mam jakieś wrażenie, że tych plików konfiguracyjnych coś jest dużo z podobnymi właściwościami.

Poprzednie wartości zmieniałem w pliku pbxconfig.xml w katalogu config i kopiowałem zmodyfikowany plik do katalogu bin/config, ponieważ tam znajdują się te same pliki konfiguracyjne (zdublowane). No a sam katalog, z którego uruchamiam skrypty powstał po wypakowaniu zanzibar-0.1-bin.tar.bz2 (wygląda to tak, jakby cairo-client i cairo-rtp w ogóle nie były potrzebne, może są już jakoś zawarte w tym zanizbar, ale po co wtedy osobny download do nich?).

W pliku pbxconfig.xml znajduje się następująca sekcja:

Kod:

    <bean id="callControl" class="org.speechforge.zanzibar.asterisk.CallControl"

        init-method="startup" destroy-method="shutdown">

        <property name="address">

                    <value>192.168.0.103</value>

        </property>

        <property name="name">

                    <value>manager</value>

        </property>

        <property name="password">

                    <value>cairo</value>

        </property>

        <property name="disabled">

                   <value>false</value>

        </property>

    </bean>

Pozostaje więc pytanie, który z plików konfiguracyjnych mnie interesuje. Do wyboru są trzy pliki (democonfig-withcairo.xml, democonfig.xml, pbxconfig.xml). Wygląda na to, że wybór pbxconfig.xml był dobry, bo wyraźnie widać różnice w działaniu.

Pierwotnie pliki były tylko w jednym miejscu (w config), ale musiałem je skopiować do bin/config, bo któregoś ze skryptów nie dało się uruchomić. Pisał, że brakuje mu tych plików konfiguracyjnych, po ich przekopiowaniu uruchamiał się prawidłowo. Również był problem z asteriskConnector.sh, który wygląda bardzo krótko:

Kod:

#!/bin/bash

CLASS=org.speechforge.zanzibar.server.SpeechletServerMain
CONFIG=file:../config/pbxconfig.xml
sh ../launch.sh $CLASS $CONFIG

Nie potrafił znaleźć pliku launch.sh, bo było w skrypcie ..\launch.sh. Zamieniłem backslash na slash i zadziałało. Te dwie drobne zmiany wprowadziłem na samym początku, zaraz po wypakowaniu z zanzibar-0.1-bin.tar.bz2.

Zastanawiam się, jak sformułować pytanie na listę mailingową Cairo/Zanzibar.

Pozdrawiam!

Offline

 

#25  2010-01-17 19:25:22

  bercik - Moderator Mamut

bercik
Moderator Mamut
Skąd: Warszawa
Zarejestrowany: 2006-09-23
Serwis

Re: Twinke/X-lite + Asterisk

johnyjj2 napisał(-a):

Po uruchomieniu czterech skryptów i Asteriska:

wyraznie widac ze asterisk sluch na wszystkich numerach ip (*) i porcie 5060 a java slucha tylko na localhost (typowo 127.0.0.1)

johnyjj2 napisał(-a):

Pozostaje więc pytanie, który z plików konfiguracyjnych mnie interesuje. Do wyboru są trzy pliki (democonfig-withcairo.xml, democonfig.xml, pbxconfig.xml). Wygląda na to, że wybór pbxconfig.xml był dobry, bo wyraźnie widać różnice w działaniu.

Pierwotnie pliki były tylko w jednym miejscu (w config), ale musiałem je skopiować do bin/config, bo któregoś ze skryptów nie dało się uruchomić. Pisał, że brakuje mu tych plików konfiguracyjnych, po ich przekopiowaniu uruchamiał się prawidłowo.

1. lepiej zrobic dowiazanie symboliczne bin/config do config (nie bedzie problemu z utrzymywaniem dwoch kopi konfigu)
2. jezeli nie wiesz w ktorym to ten adres pozmieniaj we wszystkich na 127.0.0.1

johnyjj2 napisał(-a):

Nie potrafił znaleźć pliku launch.sh, bo było w skrypcie ..\launch.sh. Zamieniłem backslash na slash i zadziałało.

to (ztreszta to z tym config takze) to sa bugi w zanzibar ...


"Wszyscy wiedzą, że czegoś zrobić nie można. Ale przypadkowo znajduje się jakiś nieuk, który tego nie wie. I on właśnie robi odkrycie." (A.Einstein)

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
Możesz wyłączyć AdBlock — tu nie ma reklam ;-)