Super Technologies

STEP 1: ( Installation of Asterisk 1.4.19.1 on superphone.us.com )

yum update

init 6

yum install wget

wget http://downloads.asterisk.org/pub/telephony/asterisk/releases/asterisk-1.4.19.1.tar.gz && wgethttp://downloads.asterisk.org/pub/telephony/dahdi-linux-complete/releases/dahdi-linux-complete-2.5.0+2.5.0.tar.gz

tar -xvzf asterisk-1.4* && tar -xvzf dahdi-linux-complete-*

yum install kernel-devel gcc make gcc-c++ libxml2-devel

yum install perl ncurses-devel

cd dahdi-linux-complete*

make all

make install

make config

chkconfig dahdi on

service dahdi start

cd asterisk-*

make clean

./configure

make menuselect

make

make install

make samples

make config

chkconfig asterisk on

asterisk -vvvvc

core stop now

/etc/init.d/asterisk start

STEP 2 (Editing sip.conf)

vi/etc/asterisk/sip.conf

[general]
; added for DUNDi
;regcontext=sipregistration
;
context=sip-incoming
bindport=8891
port=8891
bindaddr = 184.173.238.99
;bindaddr=0.0.0.0
externip= 184.173.238.99
canreinvite=yes
relaxdtmf=no
insecure=yes
;ignoreregexpire=yes
disallow=all
allow=g729
allow=ulaw
allow=alaw
allow=gsm
allow=g726
allow=ilbc
allow=g723.1
dtmfmode=rfc2833
language=en
tos=reliability
tos=0x18
minexpiry=30
maxexpiry=30
defaultexpiry=30
nat=yes
UserAgent=Superphone.us
srvlookup=yes
qualify=no
ignoreregexpire=no

;realtime friends and buddies
rtcachefriends=yes
rtnoupdate=no
rtautoclear=no

;; for DUNDi
[priv]
type=friend
context=dundi

[67.15.128.18]
host = 67.15.128.18
type = peer
canreinvite = no
nat = yes;

STEP 3 : (Editing extensions.conf )

vi/etc/asterisk/extensions.conf

[general]
static=yes
writeprotect=no

[dundi]
exten => _X.,1,NoOP(Incoming Call On: ${EXTEN})
exten => _X.,2,Macro(dundi-priv,${EXTEN})
exten => _X.,3,Hangup

[dundi-priv-local]
include => dundi-priv-canonical

[dundi-priv-switch]
switch => DUNDi/priv

[dundi-priv-lookup]
include => dundi-priv-switch

[macro-dundi-priv]
exten => s,1,Goto(${ARG1},1)
include => dundi-priv-lookup
exten => i,1,Hangup
[super-phone]
;exten => 123,1,Answer
;exten => 123,2,VoiceMailMain,s${Mailbox}@super-phone
;exten => 123,3,Hangup

exten => 123,1,Answer
exten => 123,2,VoiceMailMain(${CALLERID(num)}@super-phone)
;exten => 123,2,VoiceMailMain(${EXTEN}@super-phone)
;exten => 123,2,VoiceMailMain,s${Mailbox}@super-phone
exten => 123,3,Hangup

exten => 1211212,1,DeadAGI,hb.php|${CALLERIDNUM}
exten => 1211212,2,Hangup

exten => 384439,1,DeadAGI,SuperUS_VPL.pl|${EXTEN}|${CDR(accountcode)}
exten => 384439,2,Hangup

exten => *67,1,DeadAGI,SuperUS_VPL.pl|${EXTEN}|${CDR(accountcode)}
exten => *67,2,Hangup

exten => _*68,1,DeadAGI,SuperUS_VPL.pl|${EXTEN}|${CDR(accountcode)}
exten => _*68,2,Hangup

exten => _X.,1,DeadAGI,SuperUS_VPL.pl|${EXTEN}|${CDR(accountcode)}
exten => _X.,2,Hangup

exten => s,1,DeadAGI,SuperUS_VPL.pl|${EXTEN}|${CDR(accountcode)}
exten => s,2,Hangup

exten => _*100,1,DeadAGI,SuperUS_VPL.pl|${EXTEN}|${ACCOUNTCODE}
exten => _*100,2,Hangup

exten => h,1,NoOp(EXTEN : ${EXTEN})
exten => h,2,NoOP(SIPDOMAIN : ${SIPDOMAIN})
exten => h,3,NoOP(CALLER ID : ${CDR(clid)})
exten => h,4,NoOP(disposition : ${CDR(disposition)})
exten => h,5,NoOP(From | ${CDR(src)})
exten => h,6,NoOP(TO | ${CDR(dst)} )
exten => h,7,NoOP(CALL Duration : ${CDR(duration)})
exten => h,8,NoOP(RDNIS : ${RDNIS})
exten => h,9,NoOP(Lastapp : ${CDR(lastapp)})
exten => h,10,NoOP(SIPDOMAIN : ${SIPDOMAIN})
exten => h,11,NoOP(CONTEXT : ${CONTEXT})
exten => h,12,NoOP(FromIP : ${SIPPEER(IP)})
exten => h,13,NoOP({fromip : ${SIP_HEADER(FROM)})
;exten => h,14,NoOP(CODEC : ${SIPPEER(CODEC)}
exten => h,14,Set(peername=${SIPCHANINFO(peername)})
exten => h,15,Noop(FromIP ismaar : ${SIPPEER(${peername}:ip)})
exten => h,16,Noop(FromIP ismaar : ${SIPPEER(${peername}:codec)})
exten => h,17,NoOP({fromip : ${SIP_HEADER(TO)})
exten => h,18,NoOp(nodeid : ${nodeid})
exten => h,19,NoOp(GROUP_COUNT : ${GROUP_COUNT(${EXTEN})})
exten => h,20,NoOp(accountcode : ${CDR(accountcode)})
exten => h,21,NoOP(uniqueid : ${uniqueid})
exten => h,22,NoOP(channel : ${CDR(channel)})

include => SPUL-Services

exten => s,1,DeadAGI,SuperUS_VPL.pl|${EXTEN}|${CDR(accountcode)}
exten => s,2,Hangup

[sip-incoming]
;include =>debug
;exten => geo,1,Answer
;exten => geo,2,MusicOnHold(geo)
;exten => geo,3,Hangup

;exten => aaj,1,Answer
;exten => aaj,2,MP3Player(http://server.pakstop.com:8000/)
;exten => aaj,3,Hangup

;exten => dawn,1,Answer
;exten => dawn,2,MusicOnHold(dawn)
;exten => dawn,3,Hangup

;exten => sergey,1,Answer
;exten => sergey,2,MusicOnHold(geo)
;exten => sergey,3,Hangup

exten => _68XXXX,1,Dial(SIP/${EXTEN},1000,tr)
exten => _68XXXX,2,Hangup

exten => radio,1,Dial(SIP/[email protected])
exten => 12341234,1,Dial(SIP/[email protected])
exten => 2345,1,MeetMe,2345
exten => 900,1,MeetMe,900

exten => superphoneivr,1,DeadAGI(superphoneivr.pl,${CALLERIDNUM}
exten => superphoneivr,2,Hangup

exten => faiz,1,DeadAGI(faiz/mainmenu102.pl,${CALLERIDNUM}
exten => faiz,2,Hangup

exten => 123456,1,DeadAGI,imranivr.pl|${CALLERIDNUM}
exten => 123456,2,Hangup

exten => imranivr,1,DeadAGI,imranivr.pl|${CALLERIDNUM}
exten => imranivr,2,Hangup

exten => recording,1,Answer
exten => recording,2,PlayBack(your-temp-greeting)
exten => recording,3,Hangup

exten => _78XXXX,1,Dial(SIP/${EXTEN},1000,tr)
exten => _78XXXX,2,Hangup

exten => _68XXXX,1,Dial(SIP/${EXTEN},1000,tr)
exten => _68XXXX,2,Hangup

exten => 15672489378,1,DeadAGI(hb.php,${CDR(clid)},${EXTEN},${CDR(answer)})
exten => 15672489378,2,Hangup

exten => 15672515587,1,DeadAGI(HVOIPIN_VPL.pl,${CDR(clid)},${EXTEN},${CDR(answer)})
exten => 15672515587,2,Hangup

exten => _X.,1,DeadAGI(HVOIPIN_VPL.pl,${CDR(clid)},${EXTEN},${CDR(answer)})
exten => _X.,2,Hangup

;exten => X.,1,DeadAGI(HVOIPIN_VPL.pl,${CDR(clid)},${EXTEN},${CDR(answer)})
;exten => X.,2,Hangup

;exten => s,1,DeadAGI(HVOIPIN_VPL.pl,${CDR(clid)},${EXTEN},${CDR(answer)})
;exten => s,2,Hangup

exten => _X.,1,ChanIsAvail(SIP/${EXTEN}|sj)
exten => _X.,2,DeadAGI(HVOIPIN_VPL.pl,${CDR(clid)},${EXTEN},${CDR(answer)})
exten => _X.,3,Hangup
exten => _X.,102,NoOP(${DUNDILOOKUP(${EXTEN}|priv)})
exten => _X,103,SetVar(FARRUKH=${DUNDILOOKUP(${EXTEN}|priv)})
;exten => _X.,103,Dial(${DUNDILOOKUP(${EXTEN}|priv)}|120)
exten => _X.,104,DeadAGI(HVOIPIN_VPL.pl,${CDR(clid)},${FARRUKH},${CDR(answer)})
exten => _X.,105,Hangup

exten => X.,1,ChanIsAvail(SIP/${EXTEN}|sj)
exten => X.,2,DeadAGI(HVOIPIN_VPL.pl,${CDR(clid)},${EXTEN},${CDR(answer)})
exten => X.,3,Hangup
exten => X.,102,NoOP(${DUNDILOOKUP(${EXTEN}|priv)})
exten => X,103,SetVar(FARRUKH=${DUNDILOOKUP(${EXTEN}|priv)})
;exten => X.,103,Dial(${DUNDILOOKUP(${EXTEN}|priv)}|120)
exten => X.,104,DeadAGI(HVOIPIN_VPL.pl,${CDR(clid)},${FARRUKH},${CDR(answer)})
exten => X.,105,Hangup

exten => s,1,ChanIsAvail(SIP/${EXTEN}|sj)
exten => s,2,DeadAGI(HVOIPIN_VPL.pl,${CDR(clid)},${EXTEN},${CDR(answer)})
exten => s,3,Hangup
exten => s,102,NoOP(${DUNDILOOKUP(${EXTEN}|priv)})
exten => s,103,SetVar(FARRUKH=${DUNDILOOKUP(${EXTEN}|priv)})
;exten => s,103,Dial(${DUNDILOOKUP(${EXTEN}|priv)}|120)
exten => s,104,DeadAGI(HVOIPIN_VPL.pl,${CDR(clid)},${FARRUKH},${CDR(answer)})
exten => s,105,Hangup

exten => _XXXXXX,1,Dial(SIP/${EXTEN},30,tr)
exten => _XXXXXX,2,PlayBack(busyorunavailable)
exten => _XXXXXX,3,Congestion
exten => _XXXXXX,4,Hangup

[testdtmf2]
exten => s,1,Playback(echotest)
exten => s,2,Goto,testdtmf|s|1

[testdtmf]
exten => s,1,Background(beep)
exten => s,3,ResponseTimeout(60)
exten => _x,1,SayDigits(${EXTEN})
exten => _x,2,Goto(testdtmf|s|1)
exten => i,1,Goto(testdtmf|s|1)
exten => t,1,Hangup

[testdtmf1]
exten => s,1,Background(beep)
exten => s,2,ResponseTimeout(60)
;exten => _x,1,SayDigits(${EXTEN})
;exten => s,1,Playback(beep)
exten => _x,1,DeadAGI(dtmf1.pl|${CALLERIDNUM|${EXTEN})
exten => _x,2,Goto(testdtmf1|s|1)
exten => i,1,Goto(testdtmf1|s|1)
exten => t,1,Hangup

[ivr]
; We start with what to do when a call first comes in.
;
exten => s,1,Wait,1 ; Wait a second, just for fun
exten => s,2,Answer ; Answer the line
exten => s,3,DigitTimeout,5 ; Set Digit Timeout to 5 seconds
exten => s,4,ResponseTimeout,10 ; Set Response Timeout to 10 seconds
;exten => s,5,BackGround(ivr/advertise)
exten => s,5,BackGround(ivr/first) ; Play a congratulatory message
;exten => s,6,WaitMusicOnHold(5)
exten => _XXXXXX,1,AGI,first
exten => _XXXXXX,2,WaitMusicOnHold(1)
exten => _XXXXXX,3,Goto(ssn,s,1)
exten => _XXXXXX,201,Playback(ivr/deviceidnomatch)
exten => _XXXXXX,202,Goto(s,5)
exten => i,1,Playback(ivr/deviceidnomatch)
exten => i,2,Goto(s,5)
exten => t,1,Playback(ivr/deviceidnomatch)
exten => t,2,Goto(s,5)
exten => h,1,Hangup

[talkTime]
exten => s,1,BackGround(ivr/add)
exten => 3,2,Wait(5)
exten => 3,1,AGI,addTalkTime.agi|${DEVICEID},"100"
exten => 3,3,Playback(ivr/talkTimeAdded)
exten => 3,4,Goto(ivr,s,5)
exten => 4,1,Hangup
exten => i,1,Playback(ivr/invalidOption)
exten => i,2,Goto(ivr,s,5)
exten => t,1,Playback(ivr/invalidOption)
exten => t,2,Goto(ivr,s,5)
[macro-authenticate]
exten => s,1,AGI,${ARG1}

[faizivr]
exten => s,1,Answer
exten => s,2,AGI,faiz/mainmenu102.pl|${CALLERIDNUM}
exten => s,3,Hangup
exten => _X.,1,DeadAGI,imranivr.pl|${CALLERIDNUM}

[imranivr]
exten => s,1,Answer
exten => s,2,AGI,imranivr.pl|${CALLERIDNUM}
exten => s,3,Hangup
exten => _X.,1,DeadAGI,imranivr.pl|${CALLERIDNUM}

[SP-PayAsYouGo]
exten => _78XXXX,1,Dial(SIP/${EXTEN},50,tr)
exten => _78XXXX,2,Voicemail(b${EXTEN})
exten => _78XXXX,3,Hangup
exten => _78XXXX,102,Voicemail(b${EXTEN})
exten => _78XXXX,103,Hangup

exten => _68XXXX,1,Dial(SIP/${EXTEN},50,tr)
exten => _68XXXX,2,Hangup

exten => *123,1,VoiceMailMain,s{EXTEN}
exten => *123,2,Hangup
exten => _1XXXXXXXXXX,1,DeadAGI,SPDialUp.pl|${EXTEN}|${ACCOUNTCODE}
exten => _1XXXXXXXXXX,2,Hangup
exten => _011XXXXXX.,1,DeadAGI,SPDialUp.pl|${EXTEN}|${ACCOUNTCODE}
exten => _011XXXXXX.,2,Hangup
exten => _X,1,DeadAGI,Furqan/FurqanQuickDial.pl|${EXTEN}|${CALLERIDNUM}|${ACCOUNTCODE}
exten => _X,2,Hangup

include => SP-DialUp-Services
[SP-PayAsYouGo1]
; here SP Dial UP devices all prepaid should be managed
;Parameter is 1
exten => _78XXXX,1,Dial(SIP/${EXTEN},1000,tr)

exten => _78XXXX,2,Voicemail(u${EXTEN})
exten => _78XXXX,3,Hangup
exten => _78XXXX,102,Voicemail(b${EXTEN})
exten => _78XXXX,103,Hangup
exten => _68XXXX,1,Dial(SIP/${EXTEN},1000,tr)
exten => _68XXXX,2,Hangup

exten => *123,1,VoiceMailMain(${EXTEN})
exten => _1XXXXXXXXXX,1,DeadAGI,SPDialUp.pl|${EXTEN}|${ACCOUNTCODE}|1
exten => _1XXXXXXXXXX,2,Hangup
exten => _011XXXXXX.,1,DeadAGI,SPDialUp.pl|${EXTEN}|${CALLERIDNUM}|1
exten => _011XXXXXX.,2,Hangup

include => SP-DialUp-Services

[SP-DialUp-Services]
exten => *100,1,DeadAGI,SPSayBalance.pl|${EXTEN}|${ACCOUNTCODE}
x
exten => 100,1,DeadAGI,SPSayBalance.pl|${EXTEN}|${ACCOUNTCODE}
exten => 111,1,Answer
exten => 111,2,AGI,faiz/mainmenu102.pl|${CALLERIDNUM}
exten => 111,3,Hangup

exten => *111,1,Answer
exten => *111,2,AGI,faiz/mainmenu102.pl|${CALLERIDNUM}
exten => *111,3,Hangup

[SPULARF]
exten => _X.,1,DeadAGI,SPUL/SPULMay06.pl|${EXTEN}|${CALLERIDNUM}|${ACCOUNTCODE}
exten => _X.,2,Hangup

[SPULS]
exten => _XXXXXXXXXXX,1,DeadAGI,SPUL/SPULMay26.pl|${EXTEN}|${CALLERIDNUM}|${ACCOUNTCODE}
exten => _XXXXXXXXXXX,2,Hangup
exten => _011X.,1,DeadAGI,SPUL/SPULMay26.pl|${EXTEN}|${CALLERIDNUM}|${ACCOUNTCODE}
exten => _011X.,2,Hangup

include => SPUL-Services

[SPUL]

exten => _XXXXXXXXXXX,1,DeadAGI,SPUL/SPULMay26.pl|${EXTEN}|${CALLERIDNUM}|${ACCOUNTCODE}
exten => _XXXXXXXXXXX,2,Hangup
exten => _011X.,1,DeadAGI,SPUL/SPULMay26.pl|${EXTEN}|${CALLERIDNUM}|${ACCOUNTCODE}
exten => _011X.,2,Hangup

exten => _1567XXXXXXX,1,Dial(SIP/${EXTEN},1000,tr)
exten => _1567XXXXXXX,2,Voicemail(b${EXTEN})
exten => _1567XXXXXXX,3,Hangup
exten => _1567XXXXXXX,102,Voicemail(b${EXTEN})
exten => _1567XXXXXXX,103,Hangup
exten => _1419XXXXXXX,1,Dial(SIP/${EXTEN},1000,tr)
exten => _1419XXXXXXX,2,Voicemail(b${EXTEN})
exten => _1419XXXXXXX,3,Hangup
exten => _1419XXXXXXX,102,Voicemail(b${EXTEN})
exten => _1419XXXXXXX,103,Hangup

include => SPUL-Services

[SPUL-Services]
exten => *100,1,DeadAGI,SPUL/SPULSayBalance.pl|${EXTEN}|${ACCOUNTCODE}
exten => 100,1,DeadAGI,SPUL/SPULSayBalance.pl|${EXTEN}|${ACCOUNTCODE}
exten => *69,1,DeadAGI,SPUL/SPULStar66.pl|${EXTEN}|${ACCOUNTCODE}
exten => *55,1,DeadAGI,SPUL/SPULStart55.pl|${EXTEN}|${ACCOUNTCODE}
exten => 300,1,DeadAGI,SPUL/SPULCLI.pl|${ACCOUNTCODE}|${EXTEN}

[FurqanQuickDial]
exten => _X,1,DeadAGI,Furqan/FurqanQuickDial.pl|${EXTEN}|${CALLERIDNUM}|${ACCOUNTCODE}
exten => _X,2,Hangup
[FurqanTesting]
exten => 13607171692,1,DeadAGI,SPUL/SPULArfeen.pl|${EXTEN}|${CALLERIDNUM}|${ACCOUNTCODE}
exten => h,1,Hangup()

[dialcsr]
exten => s,1,WaitMusicOnHold(5)
exten => s,2,Dial(SIP/[email protected]:8891)
exten => s,3,Hangup()

[numberdialer]
exten => 1,1,Goto(s,5)
exten => 2,1,Goto(dialcsr,s,1)
exten => 4,1,Goto(playmusic,s,1)
exten => h,1,Hangup()
exten => s,1,DigitTimeout(5)
exten => s,2,ResponseTimeout(10)
exten => s,3,Answer()
exten => s,4,Wait(1)
exten => s,5,Background(outboundmsgs/youhaveacall)
exten => t,1,Playback(vm-goodbye)
exten => t,2,Hangup()

STEP 4: ( Copy the AGI and configuration files )

/var/www/vhosts
/var/lib/asterisk
/usr/lib/asterisk
/var/log/asterisk
/etc/openvpn
/etc/my.cnf
/usr/src
/home