Asterisk: átirányításkor a név kijelzése

Fórumok

Van egy problémám az Asterisk-ben, és 2 napja hiába túrom a netet, nem lelelem a megoldást, pedig egyszerűnek tűnik.
A problém az, hogy az Asterisk Phonebook-ban levő számokat egy gyorskóddal lehet hívni, ami mondjuk egy mobil számot hív. Azt szeretném megoldani, hogy a gyorskód hivásakor a telefonon amiről hívnak a hívott fél nevét kiirja.
A kód ez:

[systemwide-speeddial]
exten => _8.,1,Macro(user-callerid,)
exten => _8.,n,Set(SPEEDDIALLOCATION=${EXTEN})
exten => _8.,n(lookup),Macro(speeddial-lookup,${SPEEDDIALLOCATION},${AMPUSER})
exten => _8.,n,GotoIf($["${SPEEDDIALNUMBER}"=""]?failed)
exten => _8.,n,Dial(Local/${SPEEDDIALNUMBER}@from-internal/n,)
exten => _8.,lookup+101(failed),Playback(speed-dial-empty)
exten => _8.,n,Congestion()

a ${AMPUSER}-ben van a név, amit vissza kéne küldeni a hívást kezdeményező készülékre, de nem tudom milyen parancs, változó tudja ezt nekem megoldani…

Hozzászólások

Sikerült megoldani, a teljes script a következőképpen néz ki (ha esetleg valakinek kell):

[systemwide-speeddial]
exten => _8.,1,Macro(user-callerid,)
exten => _8.,n,Set(SPEEDDIALLOCATION=${EXTEN})
exten => _8.,n(lookup),Macro(sysspeeddial-lookup,${SPEEDDIALLOCATION})
exten => _8.,n,GotoIf($["${SPEEDDIALNUMBER}"=""]?failed)
exten => _8.,n,Set(CONNECTEDLINE(number,i)=${SPEEDDIALNUMBER})
exten => _8.,n,Set(CONNECTEDLINE(ton,i)=0)
exten => _8.,n,Set(CONNECTEDLINE(name,i)=${SPEEDDIALNAME})
exten => _8.,n,Set(CONNECTEDLINE(pres)=allowed)
exten => _8.,n,Dial(Local/${SPEEDDIALNUMBER}@from-internal/n,)
exten => _8.,lookup+101(failed),Playback(speed-dial-empty)
exten => _8.,n,Congestion()

[macro-sysspeeddial-lookup]
exten => s,1,Set(SPEEDDIALNUMBER=${DB(sysspeeddials/${ARG1})})
exten => s,n,Set(SPEEDDIALNAME=${DB(cidname/${SPEEDDIALNUMBER})})
exten => s,n,GotoIf($["${SPEEDDIALNUMBER}"=""]?failed)
exten => s,n,Noop(Found system speeddial ${SPEEDDIALNAME} ${ARG1}: ${SPEEDDIALNUMBER})
exten => s,n,Goto(end)
exten => s,lookupsys+101(failed),Noop(No system speeddial found)
exten => s,n(end),Noop(End of Syspeeddial-lookup)
; end of [macro-sysspeeddial-lookup]

Ez a 8-al kezdődő, és bármilyen hosszú kódokat használja rendszer szintű gyorskódoknak, a gyorskódokat az Asterisk Phonebook ból veszi. Asterisk 1.8 + FreePBX 2.7 alatt nekem működik.