casoft se puede hacer de diferentes formas, yo lo he echo con esto
//para sip
puts($socket, "Channel: SIP/ruta/34$num\r\n" );
//para numero externo
fputs($socket, "Channel: Local/$num@from-internal\r\n" );
//para followme
fputs($socket, "Channel: Local/FMGL-123456#@from-internal\r\n" );//follow me numero# porque es externo
para una cola te paso este ejemplo
$timeout = 10;
$asterisk_ip = "yourIP";
$socket = fsockopen($asterisk_ip, "5038", $errno, $errstr, $timeout);
fputs($socket, "Action: Login\r\n");
fputs($socket, "UserName: yourmanagerUser\r\n");
fputs($socket, "Secret: youmanagerPass\r\n\r\n");
$wrets = fgets($socket,128);
fputs($socket, "Action: Originate\r\n" );
fputs($socket, "Channel: Local/yourphoneNum@interal\r\n" );
fputs($socket, "Exten: 1000\r\n" ); AQUI EL NUMERO DE COLA
fputs($socket, "Context: internal\r\n" ); CONTEXTO
fputs($socket, "Priority: 1\r\n" );
fputs($socket, "Async: yes\r\n\r\n" );
$wrets = fgets($socket,128);
donde
fputs($socket, "Exten: 1000\r\n" );
es el numero de la cola, cambia 1000 por la cola que sea, deberia funcionar asi