Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- session.answer();
- var domain_name = session.getVariable("domain_name");
- var extension = '7000';
- var result;
- var timeoutpin = 7500;
- var objdate = new Date();
- var adjusthours = 0; //Adjust Server time that is set to GMT 7 hours
- var adjustoperator = "-"; //+ or -
- if (adjustoperator == "-") {
- var objdate2 = new Date(objdate.getFullYear(),objdate.getMonth(),objdate.getDate(),(objdate.getHours() - adjusthours),objdate.getMinutes(),objdate.getSeconds());
- }
- if (adjustoperator == "+") {
- var objdate2 = new Date(objdate.getFullYear(),objdate.getMonth(),objdate.getDate(),(objdate.getHours() + adjusthours),objdate.getMinutes(),objdate.getSeconds());
- }
- var Hours = objdate2.getHours();
- var Mins = objdate2.getMinutes();
- var Seconds = objdate2.getSeconds();
- var Month = objdate2.getMonth() + 1;
- var Date = objdate2.getDate();
- var Year = objdate2.getYear()
- var Day = objdate2.getDay()+1;
- var exit = false;
- function get_sofia_contact(extension,domain_name, profile){
- if (profile == "auto") {
- profile = "internal";
- session.execute("set", "sofia_contact_"+extension+"=${sofia_contact("+profile+"/"+extension+"@"+domain_name+")}");
- sofia_contact = session.getVariable("sofia_contact_"+extension);
- if (sofia_contact == "error/user_not_registered") {
- profile = "external";
- session.execute("set", "sofia_contact_"+extension+"=${sofia_contact("+profile+"/"+extension+"@"+domain_name+")}");
- sofia_contact = session.getVariable("sofia_contact_"+extension);
- }
- }
- else {
- session.execute("set", "sofia_contact_"+extension+"=${sofia_contact("+profile+"/"+extension+"@"+domain_name+")}");
- sofia_contact = session.getVariable("sofia_contact_"+extension);
- }
- console_log( "info", "sofia_contact "+profile+": "+sofia_contact+".\n" );
- return sofia_contact;
- }
- function mycb( session, type, obj, arg ) {
- try {
- if ( type == "dtmf" ) {
- console_log( "info", "digit: "+obj.digit+"\n" );
- if ( obj.digit == "#" ) {
- //console_log( "info", "detected pound sign.\n" );
- exit = true;
- return( false );
- }
- dtmf.digits += obj.digit;
- if ( dtmf.digits.length >= digitmaxlength ) {
- exit = true;
- return( false );
- }
- }
- } catch (e) {
- console_log( "err", e+"\n" );
- }
- return( true );
- } //end function mycb
- dialed_extension = session.getVariable("dialed_extension");
- domain_name = session.getVariable("domain_name");
- domain = session.getVariable("domain");
- us_ring = session.getVariable("us-ring");
- caller_id_name = session.getVariable("caller_id_name");
- caller_id_number = session.getVariable("caller_id_number");
- effective_caller_id_name = session.getVariable("effective_caller_id_name");
- effective_caller_id_number = session.getVariable("effective_caller_id_number");
- outbound_caller_id_name = session.getVariable("outbound_caller_id_name");
- outbound_caller_id_number = session.getVariable("outbound_caller_id_number");
- session.execute("set", "ringback=${hold_music}"); //set to ringtone
- session.execute("set", "transfer_ringback=${hold_music}"); //set to ringtone
- session.execute("set", "ignore_early_media=true"); //set to music
- session.execute("set", "call_timeout=30");
- session.execute("export", "call_timeout=30");
- session.execute("set", "continue_on_fail=true");
- session.execute("set", "hangup_after_bridge=true");
- //console_log( "info", "dialed extension:"+dialed_extension+".\n" );
- //console_log( "info", "domain: "+domain+".\n" );
- //console_log( "info", "us_ring: "+us_ring+".\n" );
- //console_log( "info", "domain: "+domain+".\n" );
- //console_log( "info", "domain_name: "+domain_name+".\n" );
- //console_log( "info", "action call now don't wait for dtmf\n" );
- if ( session.ready() ) {
- session.answer();
- sofia_contact_1000 = get_sofia_contact("1000",domain_name, "auto");
- session.execute("bridge", sofia_contact_1000);
- session.execute("bridge", "sofia/gateway/flowroute.com/16194548924");
- //timeout
- if (session.getVariable("originate_disposition")!="SUCCESS" && session.getVariable("originate_disposition")!="ORIGINATOR_CANCEL"){
- session.execute("info", "");
- session.execute("transfer", "*991000");
- }
- //clear variables
- dialed_extension = "";
- new_extension = "";
- domain_name = "";
- domain = "";
- } //end if session.ready
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement