Busy Call Retry

From FreeSWITCH Wiki

Jump to: navigation, search
console_log("notice", "*********** STARTING TO DIAL NUMBER! ***********\n");

//session.answer();

while (callTry()){};

function callTry(){
	// Create new_session 
	new_session = new Session();
	
	console_log("notice", "*********** DIALING NUMBER! ***********\n");
	
	new_session.originate(session, "sofia/gateway/<gateway-name>/<number>");
	
	console_log("notice", "*********** CAUSE: " + new_session.cause + " ***********\n"); 
	
	if(new_session.cause == "USER_BUSY"){
		console_log("notice", "*********** HANGING UP ***********\n"); 
		//new_session.hangup();
		console_log("notice", "*********** TRYING AGAIN ***********\n"); 
		return true;
	}
	
	// wait for it ... answer
	new_session.waitForAnswer(10000);
	
	// IF everybody is ready, then bridge our current session & the new_session
	if (new_session.ready()) {
	   bridge(session, new_session);
	}
	return false;
}
// log to the console
console_log("notice", "*********** CALL CONNECTED! ***********\n");

// hangup when done
new_session.hangup();

See Also: Javascript

Personal tools
Community
Support FreeSWITCH