Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
From open-voip.org
This chapter summerize the whole previuos lessons, and bulid a relatime pbx from scratch that includes the following: Calls between extentions -----(Extensions 1000 and 2000) Calls to/from SIP provider ----(DIal 9 to call out to a SIP provider, deltathree in this case) Get calls from SIP provider --(Dial 12121111111 to ext 1000, 12122222222 to ext 2000) Voicemails ------------------------(Dial *0 to your Voicemails) Queues -----------------------------(Dial 12127777777 to call the queue) Conference ------------------------(Dial 12129999999 to a conference bridge) in order to start we need a server with asterisk (1.6.1 in this example)and mysql server installed as described in the chapter Asterisk Install
Contents
1 Configure asterisk MySql connection: 2 Setting the RealTime tables in asterisk 3 Configure sip.conf and exensioncs.conf 4 Creating the database 5 Insert data to the tables: 6 Configure MySQL GUI - sqlyog 7 Test the setup
save the following configuration files, we will use a very short files instead in order to simplefy the setup:
c p/ e t c / a s t e r i s k / e x t e n s i o n s . c o n f/ e t c / a s t e r i s k / e x t e n s i o n s . c o n f _ o r i g c p/ e t c / a s t e r i s k / e x t c o n f i g . c o n f/ e t c / a s t e r i s k / e x t c o n f i g . c o n f _ o r i g c p/ e t c / a s t e r i s k / s i p . c o n f/ e t c / a s t e r i s k / s i p . c o n f _ o r i g
c h k c o n f i gl e v e l3 4 5m y s q l do n
insert the "password" Create the database if not exist, we we call it "asteriskrealtime"
c r e a t ed a t a b a s ei fn o te x i s t s` a s t e r i s k r e a l t i m e ` ;
now we will create the following tables: sip_buddies extensions voicemail_users queue_table queue_member_table meetme
C R E A T ED A T A B A S E I FN O TE X I S T S ` a s t e r i s k r e a l t i m e ` ; U S E` a s t e r i s k r e a l t i m e ` ;
C R E A T ET A B L E` s i p _ b u d d i e s `( ` i d `i n t ( 1 1 )N O TN U L La u t o _ i n c r e m e n t , ` n a m e `v a r c h a r ( 8 0 )N O TN U L L , ` c a l l e r i d `v a r c h a r ( 8 0 )d e f a u l tN U L L , ` d e f a u l t u s e r `v a r c h a r ( 8 0 )N O TN U L L , ` r e g e x t e n `v a r c h a r ( 8 0 )N O TN U L L , ` s e c r e t `v a r c h a r ( 8 0 )d e f a u l tN U L L , ` m a i l b o x `v a r c h a r ( 5 0 )d e f a u l tN U L L , ` a c c o u n t c o d e `v a r c h a r ( 2 0 )d e f a u l tN U L L , ` c o n t e x t `v a r c h a r ( 8 0 )d e f a u l tN U L L , ` a m a f l a g s `v a r c h a r ( 7 )d e f a u l tN U L L , ` c a l l g r o u p `v a r c h a r ( 1 0 )d e f a u l tN U L L , ` c a n r e i n v i t e `c h a r ( 3 )d e f a u l t' y e s ' , ` d e f a u l t i p `v a r c h a r ( 1 5 )d e f a u l tN U L L , ` d t m f m o d e `v a r c h a r ( 7 )d e f a u l tN U L L , ` f r o m u s e r `v a r c h a r ( 8 0 )d e f a u l tN U L L , ` f r o m d o m a i n `v a r c h a r ( 8 0 )d e f a u l tN U L L , ` f u l l c o n t a c t `v a r c h a r ( 8 0 )d e f a u l tN U L L , ` h o s t `v a r c h a r ( 3 1 )N O TN U L L , ` i n s e c u r e `v a r c h a r ( 4 )d e f a u l tN U L L , ` l a n g u a g e `c h a r ( 2 )d e f a u l tN U L L , ` m d 5 s e c r e t `v a r c h a r ( 8 0 )d e f a u l tN U L L ,
` n a t `v a r c h a r ( 5 )N O TN U L Ld e f a u l t' n o ' , ` d e n y `v a r c h a r ( 9 5 )d e f a u l tN U L L , ` p e r m i t `v a r c h a r ( 9 5 )d e f a u l tN U L L , ` m a s k `v a r c h a r ( 9 5 )d e f a u l tN U L L , ` p i c k u p g r o u p `v a r c h a r ( 1 0 )d e f a u l tN U L L , ` p o r t `v a r c h a r ( 5 )N O TN U L L , ` q u a l i f y `c h a r ( 3 )d e f a u l tN U L L , ` r e s t r i c t c i d `c h a r ( 1 )d e f a u l tN U L L , ` r t p t i m e o u t `c h a r ( 3 )d e f a u l tN U L L , ` r t p h o l d t i m e o u t `c h a r ( 3 )d e f a u l tN U L L , ` t y p e `v a r c h a r ( 6 )N O TN U L Ld e f a u l t' f r i e n d ' , ` d i s a l l o w `v a r c h a r ( 1 0 0 )d e f a u l t' a l l ' , ` a l l o w `v a r c h a r ( 1 0 0 )d e f a u l t' g 7 2 9 ; i l b c ; g s m ; u l a w ; a l a w ' , ` m u s i c o n h o l d `v a r c h a r ( 1 0 0 )d e f a u l tN U L L , ` r e g s e c o n d s `i n t ( 1 1 )N O TN U L Ld e f a u l t' 0 ' , ` i p a d d r `v a r c h a r ( 1 5 )N O TN U L L , ` c a n c a l l f o r w a r d `c h a r ( 3 )d e f a u l t' y e s ' , ` l a s t m s `i n t ( 1 1 )N O TN U L L , ` u s e r a g e n t `c h a r ( 2 5 5 )d e f a u l tN U L L , ` r e g s e r v e r `v a r c h a r ( 1 0 0 )d e f a u l tN U L L , P R I M A R YK E Y ( ` i d ` ) , U N I Q U EK E Y` n a m e `( ` n a m e ` ) , K E Y` n a m e _ 2 `( ` n a m e ` ) )E N G I N E = M y I S A MA U T O _ I N C R E M E N T = 8 9 3D E F A U L TC H A R S E T = l a t i n 1 ;
C R E A T ET A B L E` e x t e n s i o n s `( ` i d `i n t ( 1 1 )N O TN U L La u t o _ i n c r e m e n t , ` c o n t e x t `v a r c h a r ( 2 0 )N O TN U L Ld e f a u l t' ' , ` e x t e n `v a r c h a r ( 2 0 )N O TN U L Ld e f a u l t' ' , ` p r i o r i t y `t i n y i n t ( 4 )N O TN U L Ld e f a u l t' 0 ' , ` a p p `v a r c h a r ( 2 0 )N O TN U L Ld e f a u l t' ' , ` a p p d a t a `v a r c h a r ( 1 2 8 )N O TN U L Ld e f a u l t' ' , P R I M A R YK E Y ( ` c o n t e x t ` , ` e x t e n ` , ` p r i o r i t y ` ) , K E Y` i d `( ` i d ` ) )E N G I N E = M y I S A MA U T O _ I N C R E M E N T = 2 5 7D E F A U L TC H A R S E T = l a t i n 1 ;
C R E A T ET A B L E` v o i c e m a i l _ u s e r s `( ` u n i q u e i d `i n t ( 1 1 )N O TN U L La u t o _ i n c r e m e n t , ` c u s t o m e r _ i d `v a r c h a r ( 1 1 )N O TN U L Ld e f a u l t' 0 ' , ` c o n t e x t `v a r c h a r ( 5 0 )N O TN U L L , ` m a i l b o x `v a r c h a r ( 1 1 )N O TN U L Ld e f a u l t' 0 ' , ` p a s s w o r d `v a r c h a r ( 5 )N O TN U L Ld e f a u l t' 0 ' , ` f u l l n a m e `v a r c h a r ( 1 5 0 )N O TN U L L , ` e m a i l `v a r c h a r ( 5 0 )N O TN U L L , ` p a g e r `v a r c h a r ( 5 0 )N O TN U L L , ` t z `v a r c h a r ( 1 0 )N O TN U L Ld e f a u l t' c e n t r a l ' , ` a t t a c h `v a r c h a r ( 4 )N O TN U L Ld e f a u l t' y e s ' , ` s a y c i d `v a r c h a r ( 4 )N O TN U L Ld e f a u l t' y e s ' , ` d i a l o u t `v a r c h a r ( 1 0 )N O TN U L L , ` c a l l b a c k `v a r c h a r ( 1 0 )N O TN U L L , ` r e v i e w `v a r c h a r ( 4 )N O TN U L Ld e f a u l t' n o ' , ` o p e r a t o r `v a r c h a r ( 4 )N O TN U L Ld e f a u l t' n o ' , ` e n v e l o p e `v a r c h a r ( 4 )N O TN U L Ld e f a u l t' n o ' , ` s a y d u r a t i o n `v a r c h a r ( 4 )N O TN U L Ld e f a u l t' n o ' , ` s a y d u r a t i o n m `t i n y i n t ( 4 )N O TN U L Ld e f a u l t' 1 ' , ` s e n d v o i c e m a i l `v a r c h a r ( 4 )N O TN U L Ld e f a u l t' n o ' , ` d e l e t e `v a r c h a r ( 4 )N O TN U L Ld e f a u l t' n o ' , ` n e x t a f t e r c m d `v a r c h a r ( 4 )N O TN U L Ld e f a u l t' y e s ' , ` f o r c e n a m e `v a r c h a r ( 4 )N O TN U L Ld e f a u l t' n o ' , ` f o r c e g r e e t i n g s `v a r c h a r ( 4 )N O TN U L Ld e f a u l t' n o ' , ` h i d e f r o m d i r `v a r c h a r ( 4 )N O TN U L Ld e f a u l t' y e s ' , ` s t a m p `t i m e s t a m pN O TN U L Ld e f a u l tC U R R E N T _ T I M E S T A M Po nu p d a t eC U R R E N T _ T I M E S T A M P , P R I M A R YK E Y ( ` u n i q u e i d ` ) , K E Y` m a i l b o x _ c o n t e x t `( ` m a i l b o x ` , ` c o n t e x t ` ) )E N G I N E = M y I S A MA U T O _ I N C R E M E N T = 2 0 0 1D E F A U L TC H A R S E T = l a t i n 1 ;
C R E A T ET A B L E` q u e u e _ t a b l e `( ` n a m e `v a r c h a r ( 1 2 8 )N O TN U L L , ` m u s i c o n h o l d `v a r c h a r ( 1 2 8 )d e f a u l tN U L L , ` a n n o u n c e `v a r c h a r ( 1 2 8 )d e f a u l tN U L L , ` c o n t e x t `v a r c h a r ( 1 2 8 )d e f a u l tN U L L , ` t i m e o u t `i n t ( 1 1 )d e f a u l tN U L L , ` m o n i t o r _ j o i n `t i n y i n t ( 1 )d e f a u l tN U L L , ` m o n i t o r _ f o r m a t `v a r c h a r ( 1 2 8 )d e f a u l tN U L L , ` q u e u e _ y o u a r e n e x t `v a r c h a r ( 1 2 8 )d e f a u l tN U L L , ` q u e u e _ t h e r e a r e `v a r c h a r ( 1 2 8 )d e f a u l tN U L L , ` q u e u e _ c a l l s w a i t i n g `v a r c h a r ( 1 2 8 )d e f a u l tN U L L , ` q u e u e _ h o l d t i m e `v a r c h a r ( 1 2 8 )d e f a u l tN U L L , ` q u e u e _ m i n u t e s `v a r c h a r ( 1 2 8 )d e f a u l tN U L L , ` q u e u e _ s e c o n d s `v a r c h a r ( 1 2 8 )d e f a u l tN U L L , ` q u e u e _ l e s s t h a n `v a r c h a r ( 1 2 8 )d e f a u l tN U L L , ` q u e u e _ t h a n k y o u `v a r c h a r ( 1 2 8 )d e f a u l tN U L L , ` q u e u e _ r e p o r t h o l d `v a r c h a r ( 1 2 8 )d e f a u l tN U L L , ` a n n o u n c e _ f r e q u e n c y `i n t ( 1 1 )d e f a u l tN U L L , ` a n n o u n c e _ r o u n d _ s e c o n d s `i n t ( 1 1 )d e f a u l tN U L L , ` a n n o u n c e _ h o l d t i m e `v a r c h a r ( 1 2 8 )d e f a u l tN U L L , ` r e t r y `i n t ( 1 1 )d e f a u l tN U L L , ` w r a p u p t i m e `i n t ( 1 1 )d e f a u l tN U L L , ` m a x l e n `i n t ( 1 1 )d e f a u l tN U L L , ` s e r v i c e l e v e l `i n t ( 1 1 )d e f a u l tN U L L , ` s t r a t e g y `v a r c h a r ( 1 2 8 )d e f a u l tN U L L , ` j o i n e m p t y `v a r c h a r ( 1 2 8 )d e f a u l tN U L L , ` l e a v e w h e n e m p t y `v a r c h a r ( 1 2 8 )d e f a u l tN U L L , ` e v e n t m e m b e r s t a t u s `t i n y i n t ( 1 )d e f a u l tN U L L , ` e v e n t w h e n c a l l e d `t i n y i n t ( 1 )d e f a u l tN U L L , ` r e p o r t h o l d t i m e `t i n y i n t ( 1 )d e f a u l tN U L L , ` m e m b e r d e l a y `i n t ( 1 1 )d e f a u l tN U L L , ` w e i g h t `i n t ( 1 1 )d e f a u l tN U L L , ` t i m e o u t r e s t a r t `t i n y i n t ( 1 )d e f a u l tN U L L , ` p e r i o d i c _ a n n o u n c e `v a r c h a r ( 5 0 )d e f a u l tN U L L , ` p e r i o d i c _ a n n o u n c e _ f r e q u e n c y `i n t ( 1 1 )d e f a u l tN U L L , ` r i n g i n u s e `t i n y i n t ( 1 )d e f a u l tN U L L , ` s e t i n t e r f a c e v a r `t i n y i n t ( 1 )d e f a u l tN U L L , P R I M A R YK E Y ( ` n a m e ` ) )E N G I N E = M y I S A MD E F A U L TC H A R S E T = l a t i n 1 ;
C R E A T ET A B L E` q u e u e _ m e m b e r _ t a b l e `( ` u n i q u e i d `i n t ( 1 0 )u n s i g n e dN O TN U L La u t o _ i n c r e m e n t , ` m e m b e r n a m e `v a r c h a r ( 4 0 )d e f a u l tN U L L , ` q u e u e _ n a m e `v a r c h a r ( 1 2 8 )d e f a u l tN U L L , ` i n t e r f a c e `v a r c h a r ( 1 2 8 )d e f a u l tN U L L , ` p e n a l t y `i n t ( 1 1 )d e f a u l tN U L L , ` p a u s e d `i n t ( 1 1 )d e f a u l tN U L L , P R I M A R YK E Y ( ` u n i q u e i d ` ) , U N I Q U EK E Y` q u e u e _ i n t e r f a c e `( ` q u e u e _ n a m e ` , ` i n t e r f a c e ` ) )E N G I N E = M y I S A MA U T O _ I N C R E M E N T = 6D E F A U L TC H A R S E T = l a t i n 1 ;
m y s q l >s h o wt a b l e s ; + + |T a b l e s _ i n _ a s t e r i s k r e a l t i m e| + + |e x t e n s i o n s | |m e e t m e | |q u e u e _ m e m b e r _ t a b l e | |q u e u e _ t a b l e | |s i p _ b u d d i e s | |v o i c e m a i l _ u s e r s | + + 6r o w si ns e t( 0 . 0 1s e c )
I N S E R TI N T Oa s t e r i s k r e a l t i m e . v o i c e m a i l _ u s e r s ( c u s t o m e r _ i d , c o n t e x t , m a i l b o x , P A S S W O R D , f u l l n a m e , e m a i l) V A L U E S ( ' 1 0 0 0 ' , ' f r o m s i p ' , ' 1 0 0 0 ' ,' 1 2 3 4 ', ' U s e r A ' ,' U s e r A @ m y e m a i l . c o m ' ) ; ; I N S E R TI N T Oa s t e r i s k r e a l t i m e . v o i c e m a i l _ u s e r s ( c u s t o m e r _ i d , c o n t e x t , m a i l b o x , P A S S W O R D , f u l l n a m e , e m a i l) V A L U E S ( ' 2 0 0 0 ' , ' f r o m s i p ' , ' 2 0 0 0 ' ,' 1 2 3 4 ', ' U s e r B ' ,' U s e r B @ m y e m a i l . c o m ' ) ;
Test the followig scenarios: Calls between extentions -----(Extensions 1000 and 2000) Calls to/from SIP provider ----(DIal 9 to call out to a SIP provider, deltathree in this case) Get calls from SIP provider --(Dial 12121111111 to ext 1000, 12122222222 to ext 2000) Voicemails ------------------------(Dial *0 to your Voicemails) Queues -----------------------------(Dial 12127777777 to call the queue) Conference ------------------------(Dial 12129999999 to a conference bridge) Retrieved from "http://www.open-voip.org/index.php?title=Asterisk_Full_RealTime_example"