Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- include( "./_conf.php" );
- include( "./_fn.php" );
- $q = "select x from reload";
- $reload = query( $q );
- if ( $reload['x'] == 1 )
- {
- unset( $line );
- $q = "select * from user u, line s where u.iduser=s.iduser and u.prepaid='1'";
- $line = query( $q, "idmsn" );
- $dial = "";
- while ( list( $k, $v ) = k )
- {
- $q = "select * from line where iduser='".$v['iduser']."' and parent='".$v['login']."'";
- $parent = query( $q, "idmsn" );
- $od = str_pad( str_replace( "%", "", $v['idmsn'] ), 9, "0" );
- $do = str_pad( str_replace( "%", "", $v['idmsn'] ), 9, "9" );
- $msn = str_pad( str_replace( "%", "", $v['idmsn'] ), 9, "X" );
- if ( $v['callerid'] )
- {
- $callerid = $v['callerid'];
- }
- else
- {
- $callerid = $od;
- }
- if ( $v['callername'] )
- {
- $callername = $v['callername'];
- }
- else
- {
- $callername = $od;
- }
- $dial .= "; NUMBER: ".$msn." / ".$od."-".$do."";
- if ( $v['fax'] == 1 )
- {
- $dial .= "[".$v['login']."]";
- $dial .= "exten => _X.,1,SetVar,SIP_CODEC=alaw";
- $dial .= "exten => _X.,2,NoOp() ;ZapEC(off)";
- $dial .= "exten => _X.,3,SetVar(CALLEDFAX=\${EXTEN})";
- $dial .= "exten => _X.,4,SetVar(FAXEMAIL=".$v['fax2mail'].")";
- $dial .= "exten => _X.,5,SetVar(LOCALSTATIONID=\${EXTEN})";
- $dial .= "exten => _X.,6,SetVar(FAXFILE=/var/spool/asterisk/fax/\${CALLERIDNUM}-\${CALLEDFAX}-\${TIMESTAMP})";
- $dial .= "exten => _X.,7,rxfax(\${FAXFILE}.tif)";
- $dial .= "exten => h,1,System(/etc/asterisk/.sys/fax2mail.sh \"\${FAXEMAIL}\" \"\${CALLERIDNAME}\" \"\${CALLEDFAX}\" \"\${FAXFILE}\" \"\${FAXPAGES}\" \"\${FAXBITRATE}\" \"\${FAXRESOLUTION}\")";
- }
- else if ( $v['dialtransfer'] == "" )
- {
- if ( $v['voicemail'] == 0 )
- {
- $dial .= "[".$v['login']."]";
- $dial .= "exten => _X.,1,SetGroup(".$v['login'].")";
- $dial .= "exten => _X.,2,GetGroupCount()";
- $dial .= "exten => _X.,3,GotoIf(\$[\${GROUPCOUNT} > ".$v['calls']."]?5:4)";
- if ( $od == $do )
- {
- $dial .= "exten => _X.,4,Dial(SIP/".$v['login']."&IAX2/".$v['login'].")";
- }
- else if ( $v['protokol'] == "SIP" || $v['protokol'] == "" )
- {
- $dial .= "exten => _X.,4,Dial(SIP/\${EXTEN}@".$v['login'].")";
- }
- else
- {
- $dial .= "exten => _X.,4,Dial(IAX2/".$v['login'].":".$v['pass']."@".$v['login']."/\${EXTEN})";
- }
- $dial .= "exten => _X.,5,Congestion";
- $dial .= "exten => _X.,105,Busy";
- if ( $v['dialunvail'] )
- {
- $dial .= "exten => _X.,205,SetAccount(".$v['idmsn'].")";
- $dial .= "exten => _X.,206,SetCIDName(\${CALLERIDNAME})";
- $dial .= "exten => _X.,207,SetCIDNum(".$callerid.")";
- $dial .= "exten => _X.,208,GoTo(".$v['login']."-out,".$v['dialunvail'].",1)";
- }
- else
- {
- $dial .= "exten => _X.,205,SetVar(PRI_CAUSE=18)";
- $dial .= "exten => _X.,206,Playback(nedostupne,noanswer)";
- $dial .= "exten => _X.,207,Hangup";
- }
- $dial .= "include => errors";
- }
- else
- {
- $dial .= "[".$v['login']."]";
- $dial .= "exten => _X.,1,NoOp()";
- if ( $od == $do )
- {
- $dial .= "exten => _X.,2,Dial(SIP/".$v['login']."&IAX2/".$v['login'].",".$v['rtime1'].")";
- }
- else if ( $v['protokol'] == "SIP" || $v['protokol'] == "" )
- {
- $dial .= "exten => _X.,2,Dial(SIP/\${EXTEN}@".$v['login'].")";
- }
- else
- {
- $dial .= "exten => _X.,2,Dial(IAX2/".$v['login'].":".$v['pass']."@".$v['login']."/\${EXTEN})";
- }
- $dial .= "exten => _X.,3,Voicemail(u".$callerid.")";
- $dial .= "exten => _X.,4,Hangup";
- $dial .= "exten => _X.,103,Voicemail(b".$callerid.")";
- $dial .= "exten => _X.,104,Hangup";
- $dial .= "exten => _X.,203,Voicemail(u".$callerid.")";
- $dial .= "exten => _X.,204,Hangup";
- $dial .= "include => errors";
- }
- }
- else
- {
- $dial .= "[".$v['login']."]";
- $dial .= "exten => _X.,1,SetCIDName(".$callername.")";
- if ( $od == $do )
- {
- $dial .= "exten => _X.,2,Dial(SIP/".$v['login']."&IAX2/".$v['login'].",".$v['rtime2'].")";
- }
- else if ( $v['protokol'] == "SIP" || $v['protokol'] == "" )
- {
- $dial .= "exten => _X.,2,Dial(SIP/\${EXTEN}@".$v['login'].")";
- }
- else
- {
- $dial .= "exten => _X.,2,Dial(IAX2/".$v['login'].":".$v['pass']."@".$v['login']."/\${EXTEN})";
- }
- $dial .= "exten => _X.,3,GoTo(".$v['login']."-out,".$v['dialtransfer'].",1)";
- $dial .= "exten => _X.,103,GoTo(".$v['login']."-out,".$v['dialtransfer'].",1)";
- $dial .= "exten => _X.,203,GoTo(".$v['login']."-out,".$v['dialtransfer'].",1)";
- $dial .= "include => errors";
- }
- if ( $v['allowout'] == "1" )
- {
- $dial .= "[".$v['login']."-out]";
- if ( $v[callername] )
- {
- $dial .= "exten => _X.,1,SetCIDName(".$v['callername'].")";
- }
- else
- {
- $dial .= "exten => _X.,1,SetCIDName(\${CALLERIDNAME})";
- }
- $dial .= "exten => _X.,2,SetAccount(".$v['idmsn'].")";
- if ( !$parent )
- {
- $dial .= "exten => _X.,3,GotoIf(\$[\$[\${CALLERIDNUM} >= ".$od."] & \$[\${CALLERIDNUM} <= ".$do."]]?5:4)";
- $dial .= "exten => _X.,4,SetCIDNum(".$callerid.")";
- $dial .= "exten => _X.,5,AGI(bill-set-duration-prepaid-v2.php)";
- $dial .= "exten => _X.,6,GoTo(prepaid-out,\${EXTEN},1)";
- }
- else
- {
- $dial .= "exten => _X.,3,GotoIf(\$[\$[\${CALLERIDNUM} >= ".$od."] & \$[\${CALLERIDNUM} <= ".$do."]]?1001:4)";
- $i = 4;
- while ( list( $kk, $vv ) = kk )
- {
- $xod = str_pad( str_replace( "%", "", $vv['idmsn'] ), 9, "0" );
- $xdo = str_pad( str_replace( "%", "", $vv['idmsn'] ), 9, "9" );
- $xmsn = str_pad( str_replace( "%", "", $vv['idmsn'] ), 9, "X" );
- if ( $vv['callerid'] )
- {
- $xcallerid = $vv['callerid'];
- }
- else
- {
- $xcallerid = $xod;
- }
- $next = $i + 1;
- $dial .= "exten => _X.,".$i.",GotoIf(\$[\$[\${CALLERIDNUM} >= ".$xod."] & \$[\${CALLERIDNUM} <= ".$xdo."]]?1001:".$next.")";
- ++$i;
- }
- $dial .= "exten => _X.,".$next.",GoTo(1000)";
- $dial .= "exten => _X.,1000,SetCIDNum(".$callerid.")";
- $dial .= "exten => _X.,1001,AGI(bill-set-duration-prepaid-v2.php)";
- $dial .= "exten => _X.,1002,GoTo(prepaid-out,\${EXTEN},1)";
- }
- $dial .= "";
- }
- else
- {
- $dial .= "[".$v['login']."-out]";
- $dial .= "exten => _X.,1,SetCIDName(\${CALLERIDNAME})";
- $dial .= "exten => _X.,2,SetAccount(".$v['idmsn'].")";
- $dial .= "exten => _X.,3,GoTo(no-out,\${EXTEN},1)";
- $dial .= "";
- }
- }
- $fp = fopen( "/etc/asterisk/_prepaid-dial.conf", "w" );
- fwrite( $fp, $dial, strlen( $dial ) );
- fclose( $fp );
- $dialin = "";
- reset( $line );
- while ( list( $k, $v ) = k )
- {
- if ( $v['dialin'] == 1 )
- {
- $od = str_pad( str_replace( "%", "", $v['idmsn'] ), 9, "0" );
- $do = str_pad( str_replace( "%", "", $v['idmsn'] ), 9, "9" );
- $msn = str_pad( str_replace( "%", "", $v['idmsn'] ), 9, "X" );
- if ( $v['callerid'] )
- {
- $callerid = $v['callerid'];
- }
- else
- {
- $callerid = $od;
- }
- if ( $v['parent'] )
- {
- $dialin .= "exten => _".$msn.",1,GoTo(".$v['parent'].",\${EXTEN},1)";
- }
- else
- {
- $dialin .= "exten => _".$msn.",1,GoTo(".$v['login'].",\${EXTEN},1)";
- }
- }
- }
- $fp = fopen( "/etc/asterisk/_prepaid-dialin.conf", "w" );
- fwrite( $fp, $dialin, strlen( $dialin ) );
- fclose( $fp );
- $dialinall = "";
- reset( $line );
- while ( list( $k, $v ) = k )
- {
- if ( $v['dialin'] == 0 )
- {
- $od = str_pad( str_replace( "%", "", $v['idmsn'] ), 9, "0" );
- $do = str_pad( str_replace( "%", "", $v['idmsn'] ), 9, "9" );
- $msn = str_pad( str_replace( "%", "", $v['idmsn'] ), 9, "X" );
- if ( $v['callerid'] )
- {
- $callerid = $v['callerid'];
- }
- else
- {
- $callerid = $od;
- }
- if ( $v['parent'] )
- {
- $dialinall .= "exten => _".$msn.",1,GoTo(".$v['parent'].",\${EXTEN},1)";
- }
- else
- {
- $dialinall .= "exten => _".$msn.",1,GoTo(".$v['login'].",\${EXTEN},1)";
- }
- }
- }
- $fp = fopen( "/etc/asterisk/_prepaid-dialinall.conf", "w" );
- fwrite( $fp, $dialinall, strlen( $dialinall ) );
- fclose( $fp );
- $xsip = "";
- reset( $line );
- while ( list( $k, $v ) = k )
- {
- $od = str_pad( str_replace( "%", "", $v['idmsn'] ), 9, "0" );
- $do = str_pad( str_replace( "%", "", $v['idmsn'] ), 9, "9" );
- $msn = str_pad( str_replace( "%", "", $v['idmsn'] ), 9, "X" );
- if ( $v['callerid'] )
- {
- $callerid = $v['callerid'];
- }
- else
- {
- $callerid = $od;
- }
- if ( !$v['parent'] )
- {
- $xsip .= "[".$v['login']."]";
- $xsip .= "type=friend";
- $xsip .= "context=".$v['login']."-out";
- $xsip .= "username=".$v['login']."";
- $xsip .= "secret=".$v['pass']."";
- if ( $v['callerid'] )
- {
- $xsip .= "callerid=".$v['callerid']."";
- }
- if ( $v['voicemail'] )
- {
- $xsip .= "mailbox=".$callerid."";
- }
- if ( $v['dip'] )
- {
- $xsip .= "host=".$v['dip']."";
- }
- else
- {
- $xsip .= "host=dynamic";
- }
- $xsip .= "qualify=".$v['qualify']."";
- $xsip .= "nat=".$v['nat']."";
- $xsip .= "canreinvite=".$v['canreinvite']."";
- if ( $v['insecure'] )
- {
- $xsip .= "insecure=".$v['insecure']."";
- }
- $xsip .= "disallow=all";
- if ( $v['codec'] )
- {
- $xsip .= "allow=".$v['codec']."";
- }
- if ( !$v['prefcodonly'] )
- {
- $xsip .= "allow=g729";
- $xsip .= "allow=gsm";
- $xsip .= "allow=alaw";
- $xsip .= "allow=ulaw";
- $xsip .= "allow=g726";
- $xsip .= "allow=ilbc";
- }
- $xsip .= "dtmfmode=".$v['dtmf']."";
- $xsip .= "amaflags=billing";
- $xsip .= "accountcode=".$v['idmsn']."";
- $xsip .= "";
- }
- }
- $fp = fopen( "/etc/asterisk/_prepaid-sip.conf", "w" );
- fputs( $fp, $xsip, strlen( $xsip ) );
- fclose( $fp );
- $xiax = "";
- reset( $line );
- while ( list( $k, $v ) = k )
- {
- $od = str_pad( str_replace( "%", "", $v['idmsn'] ), 9, "0" );
- $do = str_pad( str_replace( "%", "", $v['idmsn'] ), 9, "9" );
- $msn = str_pad( str_replace( "%", "", $v['idmsn'] ), 9, "X" );
- if ( $v['callerid'] )
- {
- $callerid = $v['callerid'];
- }
- else
- {
- $callerid = $od;
- }
- if ( !$v['parent'] )
- {
- $xiax .= "[".$v['login']."]";
- $xiax .= "type=friend";
- $xiax .= "context=".$v['login']."-out"."";
- $xiax .= "username=".$v['login']."";
- $xiax .= "secret=".$v['pass']."";
- if ( $v['callerid'] )
- {
- $xiax .= "callerid=".$v['callerid']."";
- }
- if ( $v['dip'] )
- {
- $xiax .= "host=".$v['dip']."";
- }
- else
- {
- $xiax .= "host=dynamic";
- }
- $xiax .= "qualify=".$v['qualify']."";
- $xiax .= "trunk=".$v['trunk']."";
- $xiax .= "notransfer=yes";
- $xiax .= "disallow=all";
- if ( $v['codec'] )
- {
- $xiax .= "allow=".$v['codec']."";
- }
- if ( !$v['prefcodonly'] )
- {
- $xiax .= "allow=g729";
- $xiax .= "allow=gsm";
- $xiax .= "allow=alaw";
- $xiax .= "allow=ulaw";
- $xiax .= "allow=g726";
- $xiax .= "allow=ilbc";
- }
- $xiax .= "amaflags=billing";
- $xiax .= "accountcode=".$v['idmsn']."";
- $xiax .= "";
- }
- }
- $fp = fopen( "/etc/asterisk/_prepaid-iax.conf", "w" );
- fputs( $fp, $xiax, strlen( $xiax ) );
- fclose( $fp );
- $xvoicemail = "";
- reset( $line );
- while ( list( $k, $v ) = k )
- {
- $od = str_pad( str_replace( "%", "", $v['idmsn'] ), 9, "0" );
- $do = str_pad( str_replace( "%", "", $v['idmsn'] ), 9, "9" );
- $msn = str_pad( str_replace( "%", "", $v['idmsn'] ), 9, "X" );
- if ( $v['callerid'] )
- {
- $callerid = $v['callerid'];
- }
- else
- {
- $callerid = $od;
- }
- $xvoicemail .= "".$callerid." => ".$v['voicepass'].",".$callerid.",".$v['wlogin'].",,tz=cz";
- }
- $fp = fopen( "/etc/asterisk/_prepaid-voicemail.conf", "w" );
- fputs( $fp, $xvoicemail, strlen( $xvoicemail ) );
- fclose( $fp );
- echo "DONE PREPAID - ".date( "r" )."";
- unset( $line );
- $q = "select * from user u, line s where u.iduser=s.iduser and u.prepaid='0'";
- $line = query( $q, "idmsn" );
- $dial = "";
- reset( $line );
- while ( list( $k, $v ) = k )
- {
- $q = "select * from line where iduser='".$v['iduser']."' and parent='".$v['login']."'";
- $parent = query( $q, "idmsn" );
- $od = str_pad( str_replace( "%", "", $v['idmsn'] ), 9, "0" );
- $do = str_pad( str_replace( "%", "", $v['idmsn'] ), 9, "9" );
- $msn = str_pad( str_replace( "%", "", $v['idmsn'] ), 9, "X" );
- if ( $v['callerid'] )
- {
- $callerid = $v['callerid'];
- }
- else
- {
- $callerid = $od;
- }
- if ( $v['callername'] )
- {
- $callername = $v['callername'];
- }
- else
- {
- $callername = $od;
- }
- $dial .= "; NUMBER: ".$msn." / ".$od."-".$do."";
- //=========================================== PAYMENT ===========================================//
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement