/*******   ROAD1,ROAD2,ROAD3の各タイプに応じて接続処理を行う  v1.06用 *******/

%type00{
	cnt:=0;
	loop({
		case(cnt < 7,
		{Yes},{	cnt:=cnt+1;
			wait(1);
			type({.00+});
			wait(20,{im({Yes})
			},{46+},{im({Yes})
			},{+\n00+},{im({Yes})
			},{Enter},{im({No});
			});
		},{No},{ discon; stop; im({No});
		});
	});
};

%Road2c{
	cnt:=0;
	loop({
		case(cnt<7,
		{Yes},{	cnt:=cnt+1;
			type({C NIF\n});
			wait(20,TimeOut,{*},{im({Yes})},{Connect},{im({No})})
		},{No},{ discon; stop; im({No});
		});
	});
};

%Road2p{
	wait(4);
	type({@P\n});
	wait(20,TimeOut,{*});
	Road2c;
};

%Road3{
	wait(60,TimeOut,{*},{type({C NIF\n})});
};

%callrd11{[telno]
	%MNPOff	@case(@getchar(modemtype,5,1),{m},{im({\N0})},{n},{im({})});
	display({ROAD1/1200(}|telno|{)に電話をかけます\n});
	baud(1200);
	dialone({AT}|@head(modem,{/})|MNPOff|{D}|line|{ }|telno,
		{type00;im({No})},{im({Yes})})
};
%callrd12{[telno]
	display({ROAD1/2400(}|telno|{)に電話をかけます\n});
	baud(maxbaud);
	dialone({AT}|@head(modem,{/})|@body(modem,{/},{/})|{D}|line|{ }|telno,
		{type00;im({No})},{im({Yes})})
};
%callrd2{[telno]
	display({ROAD2/2400(}|telno|{)に電話をかけます\n});
	case(maxbaud>4800,
	{Yes}, { baud(4800);
	},{No},{ baud(maxbaud);
	});
	dialone({AT}|@head(modem,{/})|@body(modem,{/},{/})|{D}|line|{ }|telno,
		{Road2p;im({No})},{im({Yes})})
};

%callrd3{[telno]
	display({ROAD3/9600(}|telno|{)に電話をかけます\n});
	case(maxbaud>9600,
	{Yes}, { baud(9600);
	},{No},{ baud(maxbaud);
	});
	dialone({AT}|@head(modem,{/})|@body(modem,{/},{/})|{D}|line|{ }|telno,
		{Road3;im({No})},{im({Yes})})
};

%callone{[telty,telno]
	case(telty,
		{1200},	{callrd11(telno)},
		{2400},	{callrd12(telno)},
		{2400T},{callrd2(telno)} ,
		{9600}, {callrd3(telno)} ,
		       ,{im({Yes})}       )
};

%callnif{
	var cnt[5];
	%modemname @tail(modem,{/},{-});
	%modemtype @tail(modem,{_});
	%maxbaud @head(modemtype,{m});
	dispecho({No});
	case(@getchar(modemtype,@nochar(modemtype),1),{m},{dispecho({Yes})});
	case(@getchar(modemname,1,4),{内蔵},{port0({in})},,{port0({out})});

	loop({
		case(@callone(telty,telno),
		{Yes},{	case(@callone(telty2,telno2),
			{Yes},{callone(telty3,telno3);
			},{No},{im({No})
			});
		},{No},{im({No})
		})
	})
};
callnif;
