asterisk pbx-re üzenetrögzítő extension

Fórumok

Sziasztok!

Adott egy Asterisk 1.6os PBX , ami egy Fedora 10-es Linuxon fut.

Azt az utasítást kaptam , hogy a 430as számra állítsak be egy üzenetrögzítő funkciót , amely a következőként működik:

Ha a 430at hívom , akkor az üzenetrögzítőként működjön , és lehessen rá bemondani egy üzenetet.
A rögzített üzenetet a rögzítőnek mp3 formátumban kell tudnia tárolni, a következő formában:

A fájlnévben szerepeljen a hívó fél telefonszáma és az időbélyeg. Pl.: "recording_+1234567890_2013_07_07_18:33.mp3".

Az mp3ban tárolt üzenetet emialben kell továbbítania az answermachine@hostname.hu cimre , és mentse le egy könyvtárba is az mp3 filet , archiválási céllal.

Odáig eljutottam , hogy voicemail.conf illetve az extensions.conf filokban kell szerkesztgetnem dolgokat.

Talaltam is eleg sok how to-t ezen temakorhoz , de mindenhol mast irnak , es elegge zavaros nekem meg ez a pbx temakor , mert meg kb tegnap kezdtem el foglalkozni vele.

Tudnatok ajanlani esetleg olyan oldalt , ahol egyszeruen le van irva , mit is kellene irnom a conf fileokba , vagy le tudnatok irni par sorban , hogy mit kellene irnom a conf fileokba , hogy ezen muveleteket vegrehajtsa az Asterisk 1.6-os verzoja?

Előre is köszönöm a válaszokat!

Hozzászólások

Szia!

Szerintem, ha nem kell a voicemail összes funkciója (menürendszer, hangok felmondása, előző-következő üzenet, stb) akkor jobban jársz egy sima hangrögzítéssel. Az 1.6 nem fog tudni felvenni egyből mp3 formátumba, de egy system hívással ezt át tudod konvertálni.

Szerintem a következőt csináld:

Itt elkezded a rögzítést
exten => _X.,1,Answer()
exten => _X.,n,Playback(uzenethagyas)
exten => _X.,n,Beep
exten => _X.,n,Set(MONITOR_FILENAME=recording-${CALLERID(num)}-${STRFTIME(${EPOCH},,%Y%m%d-%H%M%S)}-${UNIQUEID})
exten => _X.,n,MixMonitor(/eleresi/ut/ahova/menteni/szeretnel/${MONITOR_FILENAME}.wav)
exten => _X.,n,Hangup()

Konvertáld át wav-ból mp3-ba és majd töröld ki a wav fájlt:

exten => h,n,System(/usr/bin/lame /eleresi/ut/ahova/menteni/szeretnel/${MONITOR_FILENAME}.wav /eleresi/ut/ahova/menteni/szeretnel/${MONITOR_FILENAME}.mp3 && rm /eleresi/ut/ahova/menteni/szeretnel/${MONITOR_FILENAME}.wav)

Majd küld ki egy bármivel:

exten => h,n,System(mutt -e "set realname=\"telefomkozpont.co.hu\" -s "Uzenet: ${CALLERID(num)} " info@telefonkozpont.co.hu -a /eleresi/ut/ahova/menteni/szeretnel/${MONITOR_FILENAME}.mp3 )

Fejből írtam nem teszteltem kérlek ellenőrizt szintaktikailag, illetve a lame/mutt elérési útjai eltérhetnek a Fedoraban természetesen más konvertálót is használhatsz (pl.: sox) vagy levelező klienst, de akkor a paramétereket e szerint módosítsd

Üdv.:
DK

Szerk.: a levélküldő exten az egy sor!

Telefonközpont, VoIP

Szia!

Az adott [context]-en belül az exten => sor után tudod limitálni, hogy mely számokra esetleg szám részletekre működjön a "hangpostád".

_X. ahol:

_ = azt jelenti, hogy valamilyen nem konkrét számról van szó
X = bármilyen szám (0-9) de a *, # nincs közte
. = és ezután bármi lehet

ha pl. a 430-as számra kell működnie akkor:

exten => 430,1,Noop

Ha a 430 elejű számra kell működnie akkor :

exten => _430X.,1,Noop

Ha a 430 végű számra kell működnie akkor (ahol az X-ek egy-egy számot feltételeznek):

exten => _XXXXXX430,1,Noop

Ahol meg leírják hogyan is működik:

http://www.voip-info.org/wiki/view/Asterisk+Dialplan+Patterns

Üdv.:
DK

Telefonközpont, VoIP

ez sajnos nem működik , pedig mindent úgy csináltam ahogy leírtad....:S

probaltama 438as számon is , meg mindent probaltam mar...

Jobb esetben kicsöng , és csön és csöng , aztan timeout.

Rosszabb esetben Call Failed-et dob vissza a PSTN eszköz , azaz a telefon..

asterisk -r consol nem ir semmit , hívás kozben a realtime logban...

Esetleg valakinek más ötlete?:S

Egyebkent ha mar odaig eljutnek , hogy legalabb egy szamra legyen egy mail account is regelve , es wavban mentse a beszelgetest, illetve kuldje ki a megadott amil cimre , mar az is hatalamas sikerelmeny lenne...

őőőő fogalomzavar van:

A PSTN (public switched telephone network) az a telefon hálózat
Telefon az egy végberendezés
Az asteriskben a realtime-ot én arra használom, realtime (valós időben) konfiguráljam az asterisket

próbáld a konzolt sok "v" vel futtani és a kimenetet idemásolni, hogy lássuk mi történik.

asterisk -rvvvvvvvvvvv

DK

Telefonközpont, VoIP

A sip.conf , extensions.conf illetve a voicemail.conf tartalma:

sip.conf

[testvoicemail]
type=friend
username=testvoicemail
callerid=test438
secret=testvoicemail
context=testvoicemail
host=dynamic
allow=all

extensions.conf

VoiceMail(2013@testvoicemail)

exten => 438,1,Dial(SIP/testvoicemail, 3)
exten => 438,2,VoiceMail(testvoicemail@hangrogzito)
exten => 438,3,PlayBack()
exten => 438,4,HangUp()

voicemail.conf

[general]

; Send voice file attachments in email notifications
attach=yes

; Use wav format for all voicemail messages
format=wav

; Limit the maximum message length to 180 seconds
maxmessage=180

; Limit the minimum message length to 2 seconds
minmessage=2

; Announce caller's number before playing message
saycid=no

; Limit the login retires to 3 before disconnecting the caller
maxlogins=3

[hangrogzito]
testvoicemail => testvoicemail, testvoicemail, username@test.hu

Voicemail-el kell megoldanom , főnöki utasításra:S

Holnap leírom azt is , hogy mit dob az asterisk telefonalas kozben, csak itthonrol nem tudok hozzaferni a serverhez:S

A Voicemail alkalmatlan lesz a feladatra, legalábbis ésszerű határokon belül nem lehet megoldani vele. Ráadásul csak konfigurációs fájlok módosításával. (szerintem)

1.6 ban nincs MP3 támogatás voicemail rögzítésre (mondjuk másban sincs)
Voicemail nem támogatja az egyedi fájlformátumokat sem

Az extensions.conf meg azért nem működik, mert egy sor nincs benne abból amit ajánlottam.

Üdv.:
DK

Telefonközpont, VoIP

== Spawn extension (test, 438, 2) exited non-zero on 'SIP/test435-02802210'

ezt a hibaüzenetet dobja az asterisk ha kiadom neki a -r vvvvvvv... kapcsolokat.

ez mit jelenthet?

Jah , és sajnos ennel a cegnel nincsenek ésszerű megoldások , csak parancsok , amiket sajnos teljesítenem kell..... szóval muszály voicemaillel megoldanom , amivel már 2 napja szenvedek....:S

asterisk -r vvvvvvv... kimenete , amikor hívom a 438as melléket a 435ről:

== Using SIP RTP CoS mark 5
-- Executing [438@test:1] Dial("SIP/test435-ac8e5290", "SIP/test438, 3") in new stack
== Using SIP RTP CoS mark 5
-- Called test438
-- SIP/test438-ac9947d0 is ringing
-- Nobody picked up in 3000 ms
[Jan 10 10:03:31] WARNING[15389]: pbx.c:3082 pbx_extension_helper: No application 'VoiceMail' for extension (test, 438, 2)
== Spawn extension (test, 438, 2) exited non-zero on 'SIP/test435-ac8e5290'

sip.conf-ban a 438as mellekre vonatkozo bejegyzes

[test438]
type=friend
username=test438
callerid=test438
secret=test438
context=test438
host=dynamic
allow=all

Helló.

Ha jól értem, azt szeretnéd, hogy az emberek maguknak tudjanak üzenetek elmenteni?! Ha erről van szó, akkor nem a voicemail a helyes út, hanem a dictation:

http://www.voip-info.org/wiki/view/Asterisk+cmd+Dictate
http://www.asteriskguru.com/tutorials/dictate.html

Ezt belőheted úgy, hogy adott számot felhívva a user magának hagyhat üzenetet, amit ki is küldhetsz mailban neki, vagy bárkinek...

<= Powered By Ubuntu & Gentoo Linux =>

'Software is like sex: It's better when it's free!'
By Linus Torvalds

Nem , en csak azt szeretnem , hogy definialt melleken , melynek neve test438 , mellekszama , 438 , olyan funkciot lasson el , hogy ha felhívja valaki , akkor 3masodpercig csörögjön , aztan pedig elindul a hangrögzítés a csörgés abbahagyása után , és a hanganyagot rögzíti mp3 formátumban , aztán kiküldi egy előre definiált mail cimre a rögzített hanganyagot!

extensions.conf bejegyzés:

;uzenetrogzito extenson

exten => 438,1,Noop

;438-as mellek rogzitese

exten => 438,1,Dial()
exten => 438,2,Playback()
exten => 438,3,Beep
exten => 438,4,Set(MONITOR_FILENAME=recording-${CALLERID(num)}-${STRFTIME(${EPOCH},,%Y%m%d-%H%M%S)}-${UNIQUEID})
exten => 438,5,MixMonitor(/etc/asterisk/answers/wav/s${MONITOR_FILENAME}.wav)
exten => 438,6,Hangup()

asterisk -rvvvvvvvvvvv kimenete:

== Using SIP RTP CoS mark 5
-- Executing [438@test:1] NoOp("SIP/mellek435-021aeef0", "") in new stack
-- Executing [438@test:2] Playback("SIP/mellek435-021aeef0", "") in new stack
[Jan 10 13:48:00] WARNING[15656]: app_playback.c:410 playback_exec: Playback requires an argument (filename)
== Spawn extension (test, 438, 2) exited non-zero on 'SIP/mellek435-021aeef0'

Ha jol ertelmezem akkor a Playback requires an argument (filename), azt jelenti , hogy a Playback() utasitasban kell egy filenevet megadnia zarojelek kozott.

De nem tudom , hogy mit adjak meg itt , milyen filet? Ez most lenyegeben a rogzites funkcio , vagy valami filet akar lejatszani?

Vedd ki a Playback részt és a Dial() részt az elejéről (ez amúgy is rossz helyen van) és helyettesítsd az alábbi résszel, szerintem lesz egy kis sikerélményed (remélem).

Próbáld meg így:

exten => 438,1,Noop
exten => 438,n,Beep
exten => 438,n,Set(MONITOR_FILENAME=recording-${CALLERID(num)}-${STRFTIME(${EPOCH},,%Y%m%d-%H%M%S)}-${UNIQUEID})
exten => 438,n,MixMonitor(/etc/asterisk/answers/wav/s${MONITOR_FILENAME}.wav)
exten => 438,n,Dial(SIP/testvoicemail,3)
exten => 438,n,Hangup()

Üdv.:
DK

Telefonközpont, VoIP

nah a Beepet kivettem , mert nem találta.

így már részben működik , de még mindig elakad mikor a rögzítést kezdené..:s

asterisk -r vvvvvv... kimenete:

-- Remote UNIX connection
== Using SIP RTP CoS mark 5
-- Executing [438@test:1] NoOp("SIP/mellek435-014780d0", "") in new stack
-- Executing [438@test:2] Set("SIP/mellek435-014780d0", "MONITOR_FILENAME=recording-mellek435-20130110-141323-1357823603.2") in new stack
-- Executing [438@test:3] MixMonitor("SIP/mellek435-014780d0", "/etc/asterisk/answers/wav/srecording-mellek435-20130110-141323-1357823603.2.wav") in new stack
== Begin MixMonitor Recording SIP/mellek435-014780d0
-- Executing [438@test:4] Dial("SIP/mellek435-014780d0", "SIP/mellek438,3") in new stack
== Using SIP RTP CoS mark 5
-- Called mellek438
-- SIP/mellek438-0147da40 is ringing
-- Nobody picked up in 3000 ms
-- Executing [438@test:5] Hangup("SIP/mellek435-014780d0", "") in new stack
== Spawn extension (test, 438, 5) exited non-zero on 'SIP/mellek435-014780d0'
== End MixMonitor Recording SIP/mellek435-014780d0

Telefon ezt írja ki:

Call Failed

Reason Code: 603

És lerakja 3mp után , ahelyett , hogy elkezdene rögzíteni:S

Azt hiszem megértettem... Tehát nem mellék-mellék között kell. ok!

Akkor:

exten => 438,1,Noop
exten => 438,n,Set(MONITOR_FILENAME=recording-${CALLERID(num)}-${STRFTIME(${EPOCH},,%Y%m%d-%H%M%S)}-${UNIQUEID})
exten => 438,n,Record(/etc/asterisk/answers/wav/${MONITOR_FILENAME}:gsm)
exten => 438,n,Hangup()

Erre gondoltál?

Üdv.:
DK

Telefonközpont, VoIP

435-ös mellékről szeretném felhívni a 438as melléket.

Azt szeretném , ha a 438as mellek uzenetrogzitokent funkcionalna.

Tehat ha felhivom, akkor 3 masodperc utan valtson at a rogzitesre , azt wav-ban rogzitse , es kuldje ki mutt-al egy megadott cimre.

extensions.conf bejegyzes:

;uzenetrogzito extenson definialasa

exten => 438,1,Noop ;exension meghivasa

exten => 438,1,Noop ;1.lepes - noop extension meghivasa
exten => 438,2,Set(MONITOR_FILENAME=recording-${CALLERID(num)}-${STRFTIME(${EPOCH},,%Y%m%d-%H%M%S)}-${UNIQUEID}) ;2.lepes - rogizotett beszelgetes monitorozasa
exten => 438,3,Record(/etc/asterisk/answers/wav/${MONITOR_FILENAME}:wav) ;3.lepes - rogzitett beszelgetes utvonala
exten => 438,4,Hangup() ; 4.lepes - kapcsolat bontasa

;a rogzitett felvetel wav formatumbol mp3 formatumba valo konvertalasa sox hasznalataval

exten => 438,6,System(/usr/bin/sox -t /etc/asterisk/answers/wav/${MONITOR_FILENAME}.wav -r 8000 -c 1 -t /etc/asterisk/answers/mp3/${MONITOR_FILENAME}.mp3 && rm /etc/asterisk/answers/wav/${MONITOR_FILENAME}.wav)

;a konvertalt mp3 file muttal valo kikuldese az elore definialt mail cimre mutt segitsegevel

exten => 438,7,System(mutt -e "set realname=\"UzenetRogzito_Szolgaltatas\" -s "Uzenet: ${CALLERID(num)} " xy@hostname.hu -a /etc/asterisk/answers/mp3/${MONITOR_FILENAME}.mp3 )

asterisk -r vvvvvvv.. kimenete:

== Using SIP RTP CoS mark 5
-- Executing [438@test:1] NoOp("SIP/mellek435-01225630", "") in new stack
-- Executing [438@test:2] Set("SIP/mellek435-01225630", "MONITOR_FILENAME=recording-mellek435-20130111-070534-1357884334.2") in new stack
-- Executing [438@test:3] Record("SIP/mellek435-01225630", "/etc/asterisk/answers/wav/recording-mellek435-20130111-070534-1357884334.2:wav") in new stack
[Jan 11 07:05:34] WARNING[17099]: file.c:582 ast_openstream_full: File beep does not exist in any format
[Jan 11 07:05:34] WARNING[17099]: file.c:891 ast_streamfile: Unable to open beep (format 0x4 (ulaw)): No such file or directory
[Jan 11 07:05:34] WARNING[17099]: app_record.c:227 record_exec: ast_streamfile failed on SIP/mellek435-01225630
[Jan 11 07:05:34] WARNING[17099]: file.c:1063 ast_writefile: No such format '2:wav'
[Jan 11 07:05:34] WARNING[17099]: app_record.c:259 record_exec: Could not create file /etc/asterisk/answers/wav/recording-mellek435-20130111-070534-1357884334
== Spawn extension (test, 438, 3) exited non-zero on 'SIP/mellek435-01225630'

Alakul!

Létezik, van irási joga az asterisknek a /etc/asterisk/answers/wav/ könyvtárra? Próbáld meg először a /tmp/ könyvtárba menteni. Esetleg, ha rootként hoztad létre akkor nem fog menni.

A 4. lépés után (hangup) már nem exten => 438,6,System következik, mert ekkor már bontva van, hanem h

pölö:
exten => 438,4,Hangup() ; 4.lepes - kapcsolat bontasa

majd:

exten => h,1,System(/usr/bin/sox -t /etc/asterisk/answers/wav/${MONITOR_FILENAME}.wav -r 8000 -c 1 -t /etc/asterisk/answers/mp3/${MONITOR_FILENAME}.mp3 && rm /etc/asterisk/answers/wav/${MONITOR_FILENAME}.wav)
exten => h,2,System....

Üdv.:
DK

Telefonközpont, VoIP

Oh yeah , működik a rögzítés az alábbi bejegyzéseket definiáltam az extensions.conf fileban:

;uzenetrogzito extenson

exten => 438,1,Noop

;438-as mellek rogzitese

exten => 438,1,Noop
exten => 438,2,Dial(SIP/mellek438,3)
exten => 438,3,Set(MONITOR_FILENAME=recording-${CALLERID(num)}-${STRFTIME(${EPOCH},,%Y%m%d-%H%M%S)}-${UNIQUEID})
exten => 438,4,Record(/etc/asterisk/answers/wav/${MONITOR_FILENAME}.wav)
exten => 438,5,Hangup()

;a rogzitett felvetel wav formatumbol mp3 formatumba valo konvertalasa sox hasznalataval
exten => 438,6,System(/usr/bin/sox -t /etc/asterisk/answers/wav/${MONITOR_FILENAME}.wav -r 8000 -c 1 -t /etc/asterisk/answers/mp3/${MONITOR_FILENAME}.mp3 && rm /etc/asterisk/answers/wav/${MONITOR_FILENAME}.wav)

;a konvertalt mp3 file muttal valo kikuldese az elore definialt mail cimre mutt segitsegevel
exten => 438,7,System(mutt -e "set realname=\"mellek_UzenetRogzito_Szolgaltatas\" -s "Uzenet: ${CALLERID(num)} " username@hostname.hu -a /etc/asterisk/answers/mp3/${MONITOR_FILENAME}.mp3)

${MONITOR_FILENAME}.wav kelett a ${MONITOR_FILENAME}:wav , helyett..

Mostmár csak azt kellene megoldanom , hogy mp3 formátumban legyenek a rögzítések , aztán a mutt kiküldje egy címre...

A sox "asszem" fel van telepítve , de gyakorlatilag semmit nem csinal....

Muttot meg még életemben nem használtam....

Ezekben tudnál még esetleg segíteni , ha szépen megkérlek?

Előre is köszönöm a segítséget!

Az exten => 438,6 helyett exten => h,1 kellene...
az exten => 438,7 helyett exten => h,2

ha van lame telepítve akkor azt lényegében paraméterezni sem kell különlegesen, elég csak "lame file.wav file.mp3"
mutt meg az én perverzióm bármi mást használhatsz...

Üdv.:
DK

Telefonközpont, VoIP

Nah mostmár rögzíti mp3 formátumban a 438as mellekre felmondott szoveget.

A lame is működik , ugyan eddig csak manualisan kiadva a parancsot konvertalta at a wavot mp3-ra.

Muttal meg soha nem találkoztam , az manualisan sem mukodik , azt meg nem tudom , hogyan fogom megoldani:S

Viszont abban szeretném a segítségedet kérni hogy az alabbi configban szerinted mit kellene átírnom , hogy az asterisk automatikusan a lame hasznalataval
konvertalja a wav ban rogzitett beszelgetest , mp3 formatumba.

Nem tudom, a h illetve az n mit definialhat , az n-re tippelem , hogy egy szamot jelenthet , vagyis a lepes szamat , de a h-ra nem tudok rajonni.

A hangupot kikapcsoltam , hogy ne rakja le , hanem helyette kezdjen el konvertalni az asterisk , es kuldje ki a konvertalt mp3at mailben.

Ki tudnad javítani , az általad helyesnek vélt configra azon sorokat amiket kellene javítani?

Tudom , hogy nagyon sokat kérek , de ezzel 16:00ig vegeznem kellene , es fogalmam sincs , mi lehet a hiba:S

Nagyon szépen köszönöm előre is a segítséget!

És a configom az extensions.conf fileban így néz ki jeelneleg:

;uzenetrogzito extenson

exten => 438,1,Noop

;438-as mellek rogzitese

exten => 438,1,Noop
exten => 438,2,Dial(SIP/mellek438,3)
exten => 438,3,Set(MONITOR_FILENAME=recording-${CALLERID(num)}-${STRFTIME(${EPOCH},,%Y%m%d-%H%M%S)}-${UNIQUEID})
exten => 438,4,Record(/etc/asterisk/answers/wav/${MONITOR_FILENAME}.wav)
;exten => 438,5,Hangup()

;a rogzitett wav filet konvertaljuk lame hasznalataval mp3 formatumba
exten => 438,1,System(/usr/bin/lame /etc/asterisk/answers/wav/${MONITOR_FILENAME}.wav /etc/asterisk/answers/mp3/${MONITOR_FILENAME}.mp3 && rm /etc/asterisk/answers/wav/${MONITOR_FILENAME}.wav)

;a konvertalt mp3 file muttal valo kikuldese az elore definialt mail cimre mutt segitsegevel
;exten => 438,2,System(mutt -e "set realname=\"mellek_UzenetRogzito_Szolgaltatas\" -s "Uzenet: ${CALLERID(num)} " username@hostname.hu -a /etc/asterisk/answers/mp3/${MONITOR_FILENAME}.mp3 )

Az asterisk -r vvvvvvv.. kimeente pedig a kovetkezo:

-- Remote UNIX connection
== Using SIP RTP CoS mark 5
-- Executing [438@test:1] NoOp("SIP/mellek435-0195e4d0", "") in new stack
-- Executing [438@test:2] Dial("SIP/mellek435-0195e4d0", "SIP/mellek438,3") in new stack
== Using SIP RTP CoS mark 5
-- Called mellek438
-- SIP/mellek438-01962890 is ringing
-- Nobody picked up in 3000 ms
-- Executing [438@test:3] Set("SIP/mellek435-0195e4d0", "MONITOR_FILENAME=recording-mellek435-20130111-115850-1357901927.2") in new stack
-- Executing [438@test:4] Record("SIP/mellek435-0195e4d0", "/etc/asterisk/answers/wav/recording-mellek435-20130111-115850-1357901927.2.wav") in new stack
[Jan 11 11:58:50] WARNING[18194]: file.c:582 ast_openstream_full: File beep does not exist in any format
[Jan 11 11:58:50] WARNING[18194]: file.c:891 ast_streamfile: Unable to open beep (format 0x4 (ulaw)): No such file or directory
[Jan 11 11:58:50] WARNING[18194]: app_record.c:227 record_exec: ast_streamfile failed on SIP/mellek435-0195e4d0
== Spawn extension (test, 438, 4) exited non-zero on 'SIP/mellek435-0195e4d0'

Sajnos nem igazán jutottam többre a pénteki állapotnál.
Most az alábbi configom van az extensions.conf fileban:

;uzenetrogzito extension

exten => 438,1,Noop

;438-as mellek rogzitese

;exten => 438,1,Noop
exten => 438,2,Dial(SIP/mellek438,2)
exten => 438,3,Set(MONITOR_FILENAME=recording-${CALLERID(num)}-${STRFTIME(${EPOCH},,%Y%m%d-%H%M%S)}-${UNIQUEID})
exten => 438,4,Record(/etc/asterisk/answers/wav/${MONITOR_FILENAME}.wav)

;a rogzitett wav filet konvertaljuk lame hasznalataval mp3 formatumba aztan toroljuk az eredeti wav filet
exten => 438,5,System(/usr/bin/lame --decode /etc/asterisk/answers/wav/${MONITOR_FILENAME}.wav /etc/asterisk/answers/mp3/${MONITOR_FILENAME}.mp3 && rm /etc/asterisk/answers/wav/${MONITOR_FILENAME}.wav)

;a konvertalt mp3 file muttal valo kikuldese az elore definialt mail cimre
exten => 438,6,System(/usr/bin/mutt -s "Hanguzenet a kovetkezo szamrol - ${CALLERID(num)}" -a /etc/asterisk/answers/mp3/${MONITOR_FILENAME}.mp3 username@hostname.hu < /etc/asterisk/voicemailmessage.txt)

;a muvelet befejezetevel a vonal bontasa
exten => 438,7,Hangup()

És ezen config hatására ezt a kimenetet adja az asterisk tárcsázáskor:

== Using SIP RTP CoS mark 5
-- Executing [438@test:1] NoOp("SIP/mellek435-0164e590", "") in new stack
-- Executing [438@test:2] Dial("SIP/mellek435-0164e590", "SIP/mellek438,2") in new stack
== Using SIP RTP CoS mark 5
-- Called mellek438
-- SIP/mellek438-01652950 is ringing
> Saved useragent "CM5K (707300)" for peer mellek464
-- Nobody picked up in 2000 ms
-- Executing [438@test:3] Set("SIP/mellek435-0164e590", "MONITOR_FILENAME=recording-mellek435-20130114-083455-1358148893.0") in new stack
-- Executing [438@test:4] Record("SIP/mellek435-0164e590", "/etc/asterisk/answers/wav/recording-mellek435-20130114-083455-1358148893.0.wav") in new stack

[Jan 14 08:34:55] WARNING[27682]: file.c:582 ast_openstream_full: File beep does not exist in any format
[Jan 14 08:34:55] WARNING[27682]: file.c:891 ast_streamfile: Unable to open beep (format 0x4 (ulaw)): No such file or directory
[Jan 14 08:34:55] WARNING[27682]: app_record.c:227 record_exec: ast_streamfile failed on SIP/mellek435-0164e590

> Saved useragent "CM5K-TA2S (904290)" for peer mellek423
== Spawn extension (test, 438, 4) exited non-zero on 'SIP/mellek435-0164e590'

A Hiba valószínűleg ez lesz:
[Jan 14 08:34:55] WARNING[27682]: file.c:582 ast_openstream_full: File beep does not exist in any format
[Jan 14 08:34:55] WARNING[27682]: file.c:891 ast_streamfile: Unable to open beep (format 0x4 (ulaw)): No such file or directory
[Jan 14 08:34:55] WARNING[27682]: app_record.c:227 record_exec: ast_streamfile failed on SIP/mellek435-0164e590

De ez mit jelenthet? Google semmit nem mond rá...

Tudna ebben nekem valaki segíteni?

Igen, tudnék segíteni, és meg is tettem már ;), hiszen az a funkció is (amit korább linkeltem) azt valósítja meg, amire neked szükséged van, még ha nem is pont arra találták ki! Egyébként, amit most csinálsz, annak semmi köze a voicemail-hoz, ez csak egy sima rögzítés.

Minden esetre, én írnék egy kis scrip-tet, aminek argumentumban csak a ${MONITOR_FILENAME} -t adod meg, így nincs túlbonyolítva az extensions.conf -od és a debug is egyszerűbb! Ha az a script teszi a dolgát, mehet az externsions.conf -ba, valahogy így:

exten => 438,5,System(/usr/local/bin/recpost.sh /etc/asterisk/answers/wav/${MONITOR_FILENAME}.wav)

Ja, a beep-el kapcs, ott van a logban, mi a baja, csak értelmezd!

Egyébként amiről folyik a diskurzus, az egy alap dolog, ha ilyet nem tudsz megoldani, javasolnám, hogy kicsit olvass jobban utánna az asterisk-nek, vagy keressetek hozzáértőt, már ha valóban fontos egy jól működő rendszer kiépítése...

Nem megbántani akarlak, de ne várd senkitől, hogy a te munkádat elvégezze, az nem fair!

<= Powered By Ubuntu & Gentoo Linux =>

'Software is like sex: It's better when it's free!'
By Linus Torvalds

odaig mar eljutottam , hogy nem dob hibaüzenetet , hanem a beep után elkezd rögzíteni , viszont a system callokat nem értelmezi...

Nem várom el , hogy más helyettem dolgozzon , én csak segítséget kértem , hátha találkozott már más is a problémával.

Recordot használok a dictation helyett , és az működik is , már csak a system hívásokat kellene valahogy megoldanom , hogy felfogja az asterisk.

Manuálisan működik , ha kézzel adom ki a konvertálás & email kuldés parancsot cli-ből , akkor minden jól megy , konvertál , és ki is küldi a fájlt mailben, de az asterisk sajnos nem akarja csinálni.

Esetleg valami ötletetek van , hogy mi lehet a gond?

Chown-al jogot adtam az asterisknek a lame és a mutt futtatasara.

Ma semmi ötletem sincs , hogy mit tudnek meg csinalni:S

Mint már többször írtam

exten => 438,5,Hangup

majd már nem a sorszámozás nő, hanem:

exten => h,1,System....

Szeretném felhívni a figyelmed a sorok külömbözőségére. A hangup után azok a műveletek jönnek amik a hívás bontása után kell csinálni. MP3 konvertálni, kiküldeni e-mailben...

Menni fog az!

Üdv.:
DK

Telefonközpont, VoIP

Szia!

Köszönöm szépen a segítséget!

Rögzítés , konvertálás , eredetileg rogzitett wav torlese mukodik.

Mail kuldes nem , de rajottem arra , hogy azert nem megy a mail kuldes , mert asterisknek nincs joga mailt kuldeni a root neveben,

Sudoers fileba bejegyeztem az asterisk accountot , minden parancs futtatasara jogot adtam neki.

System hívást csinaltam az extension.conf fileban az alabbi modon:

exten => h,3,System(sudo /usr/bin/mutt -s "Hanguzenet" -a /etc/asterisk/answers/${MONITOR_FILENAME}.mp3 username@hostname.hu < /etc/asterisk/voicemailmessage.txt)

Mutt futtatasara jogot adtam az asterisknek , parancssorbol mukodik a mail kuldes....

Esetleg van valami ötletetek , hogy mit lehetne meg csinalni annak erdekeben , hogy az asterisk tudjon levelet kuldeni?

kérdés az, hogy így megy parancssorból root-ként?

sudo -H -u asterisk bash -c "mutt -s \"tárgy\" -a csatolmány -- cimzett@email < level_szovege_fajl"

Ez azt imitálja, mintha asterisk jogán futtatnád a muttot...
Ha nem megy, akkor érdemes megnézni:
1. mailq -t, hogy van-e beragadt email

2. jogosultság:
grep asterisk /etc/passwd
pl: asterisk:x:84:84:Asterisk PBX,,,:/var/lib/asterisk:/bin/sh
ezt követően megnézni a fenti home mappának a jogát:
ls -al /var/lib/asterisk/
ha nincs az asterisk usernek joga írni rá, azt hiszem a mutt nem tudja elküldeni az emailt...

Van valami különleges ok, hogy kézzel oldod meg a hangrögzítést és nem az app_voicemail -t használod? Hangpostára írták meg, ezáltal sok extra szolgáltatást tud (visszahallgatás, MWI, email kiküldést, x sec-ig nem beleszólt esetén mellőzést, stb) Alapból wav/wav49-t tud. wav49 olyan wav, ami gsm tömörítéssel van ellátva -pl Windows-ok általában lejátsszák...