[RRAS][long] comment configurer le contre-appel?

Le
Antoine Leca
[ Publication croisée dans microsoft.public.fr.windows.server.reseau et
fr.comp.os.ms-windows.serveurs, suivis vers ce dernier groupe. ]

Bonjour,

J'ai installé le service d'accès distant, et j'ai réussi à faire fonctionner
tout ce dont j'ai besoin sauf _une_ chose : le contre-appel (callback,
rappel) à initiative de l'appelant (set-by-caller).

Contexte : Serveur 2003 (SBS espagnol si cela a une quelconque importance),
sans IAS; carte RNIS Eicon Diva (BRI2M).
Configuration du serveur RRAS : tout est activé, sauf les protocoles trop
faibles (CHAP, SPAP, PAP).
Au niveau des ports, la carte RNIS est autorisée pour routage et accès
distant, son numéro est bien indiqué.
Au niveau des directives, j'ai essayé sans directive (j'ai très peu
d'utilisateurs), ou avec ; sans différence appréciable.

Ce qui marche : VPN avec PPTP, connexion RAS sans contre-appel (fiche «Appel
entrant», option «Pas de rappel»), et connexion RAS avec rappel d'un numéro
figé dans l'AD (option «Toujours rappeler»).
Ce qui ne marche pas avec 2003 : l'option du milieu, «Défini par l'appelant
(service de routage et d'accès distant uniquement)», avec le même numéro.

J'ai tout revérifier les éléments détaillés dans
http://www.microsoft.com/france/technet/produits/win2003/rrascnfg.mspx (bon
résumé du sujet), mais rien n'y fait. Le même service fonctionnait
auparavant avec un serveur NT4 et la même carte RNIS, donc le problème doit
être purement logiciel. De même, j'ai les mêmes résultats quels que soient
les client utilisés, 98SE ou 2000 ou XP; j'ai aussi essayé plusieurs modems
différents, et aussi plusieurs numéros rappelés, pas de différence.


Voilà. Si quelqu'un a des pistes, je suis preneur !


Antoine

____________
P.S. : Pour les techniciens qui nous lisent, j'ai rajouté les traces (et si
cela ne vous intéresse pas particulièrement, vous pouvez coupez le reste du
message à ce niveau).

Dans la trace, je vois bien le dialogue sur le numéro à rappeler, donc pour
moi tout va bien jusque là. De fait, la conversation PPP
(%windir%/tracing/PPP.LOG) dans le cas des rappels se termine invariablement
par

[5428] 03-03 14:19:23:220: Notifying server to callback at XXXXXXX, delay =
12
[5428] 03-03 14:19:23:220: NotifyCaller(hPort=1, dwMsgId)
[5192] 03-03 14:19:23:642: PPPEMSG_LineDown recvd, hPort=1

[5428] 03-03 14:19:23:642: Line down event occurred on port 1
[5428] 03-03 14:19:23:642: FsmDown event received for protocol c021 on port
1
[5428] 03-03 14:19:23:642: RemoveFromTimerQ []
[7776] 03-03 14:19:23:642: Stopping Accounting for port 1
[5428] 03-03 14:19:23:642: LcpEnd
[5428] 03-03 14:19:25:642: Post line down event occurred on port 1

sauf que, si le numéro est fourni par négociation, après cela plus rien
ne se passe à ce niveau :-(.
Tandis que si j'ai figé le numéro à rappeler dans l'AD (un peu avant, on
voit passer " Auth Attribute Forced callback to XXXXXX"), le serveur
rappelle bien :
[1388] 03-03 10:10:24:196: Stopping Accounting for port 1
[5428] 03-03 10:10:24:196: LcpEnd
[5428] 03-03 10:10:26:196: Post line down event occurred on port 1
[5668] 03-03 10:10:59:805: PPPEMSG_DdmCallbackDone recvd

[5428] 03-03 10:10:59:805: Line up event occurred on port 1
[5428] 03-03 10:10:59:805: Starting PPP on link with
IfType=0x0,IPIf=0x0,IPXIf=0x0
etc.


La suite se passe au niveau TAPI ; dans %windir%/tracing/RASTAPI.LOG, après
une attente de 14 secondes, cela bavarde: lorsque cela va bien, cela donne
[5192] 03-03 10:10:24:196: PortTestSignalState: DisconnectReason = 2
[5192] 03-03 10:10:24:196: PortDisconnect: ISDN8-0
[5192] 03-03 10:10:24:196:
[5668] 03-03 10:10:38:055: DeviceConnect: calling lineMakeCall for ISDN8-0,
address=XXXXXX
[5668] 03-03 10:10:38:055: DeviceConnect: Changing state for ISDN8-0 from
1 -> 4
[5264] 03-03 10:10:38:055: RasTapicallback: msg , param1f392l ,
param2=0l
[5264] 03-03 10:10:38:055: LINE_REPLY. param1=0x10358
[5264] 03-03 10:10:38:055: RasTapicallback: msg=2 , param1l , param2=0l
[5264] 03-03 10:10:38:055: RasTapicallback: linecallstate=0x10
[5264] 03-03 10:10:38:336: RasTapicallback: msg=2 , param1Q2l , param2=0l
[5264] 03-03 10:10:38:336: RasTapicallback: linecallstate=0x200
[5264] 03-03 10:10:59:805: RasTapicallback: msg=1 , param1=8l , param2=0l
[5264] 03-03 10:10:59:805: RasTapicallback: msg=2 , param1%6l , param2=0l
[5264] 03-03 10:10:59:805: RasTapicallback: linecallstate=0x100
[5264] 03-03 10:10:59:805: DwGetConnectInfo
[5264] 03-03 10:10:59:805: DwGetIDInformation
[5264] 03-03 10:10:59:805: DwGetIDInformation. 0
etc., la suite est sans intérêt àmha.

On peut aussi regarder %windir%/tracing/RASMAN.LOG au même moment:
[5668] 03-03 10:10:38:055: d:tetrasasasmanasmanutil.c: 2538:
port 1 state chg: prev=4, new=0
[5668] 03-03 10:10:38:055: d:tetrasasasmanasmanutil.c: 2583:
port 1 async reqtype chg: prev=0, new
[5668] 03-03 10:10:38:055: Adding timeout of 120 for listen
[5192] 03-03 10:10:38:055: OVEVT_RASMAN_ADJUST_TIMER
[5668] 03-03 10:10:38:055: Connect request on port: ISDN8-0, error code 600
et c'est tout, rien d'autre à voir ici.


Lorsque cela ne marche pas, on obtient dans RASTAPI.LOG
[5192] 03-03 14:19:23:642: PortDisconnect: ISDN8-0
[5192] 03-03 14:19:23:642:
[5468] 03-03 14:19:37:533: DeviceConnect: calling lineMakeCall for ISDN8-0,
address=XXXXXXX
[5468] 03-03 14:19:37:533: DeviceConnect: Changing state for ISDN8-0 from
1 -> 4
[5264] 03-03 14:19:37:533: RasTapicallback: msg , param1e692l ,
param2=0l
[5264] 03-03 14:19:37:533: LINE_REPLY. param1=0x1009c
[5264] 03-03 14:19:37:533: RasTapicallback: msg=2 , param1l , param2=0l
[5264] 03-03 14:19:37:533: RasTapicallback: linecallstate=0x10
[5264] 03-03 14:19:37:720: RasTapicallback: msg=2 , param1Q2l , param2=0l
[5264] 03-03 14:19:37:720: RasTapicallback: linecallstate=0x200
[5264] 03-03 14:19:37:830: RasTapicallback: msg=2 , param1384l ,
param2=1l
[5264] 03-03 14:19:37:830: RasTapicallback: linecallstate=0x4000
[5264] 03-03 14:19:37:830: RasTapiCallback: LINECALLSTATE_DISCONNECTED for
port ISDN8-0. AsyncErr = 651, param2=0x1
[5192] 03-03 14:19:37:830: DeviceWork: ISDN8-0. State = 4
[5264] 03-03 14:19:37:830: RasTapicallback: msg=2 , param1=1l , param2=0l
[5264] 03-03 14:19:37:830: RasTapicallback: linecallstate=0x1
[5468] 03-03 14:19:37:830: PortDisconnect: ISDN8-0
[5468] 03-03 14:19:37:830: InitiatePortDisconnection: ISDN8-0
[5468] 03-03 14:19:37:830: InitiatePortDisconnection: Changing state for
ISDN8-0 from 4 -> 5, id=0x10127
[5468] 03-03 14:19:37:830:
[5468] 03-03 14:19:37:830:
[5264] 03-03 14:19:37:939: RasTapicallback: msg , param1e831l ,
param2=0l
[5264] 03-03 14:19:37:939: LINE_REPLY. param1=0x10127
[5264] 03-03 14:19:37:939: RasTapiCallback: lineDropped. port ISDN8-0,
id=0xffffffff
[5264] 03-03 14:19:37:939: RasTapiCallback: Idle Received for port ISDN8-0
[5264] 03-03 14:19:37:939: RasTapiCallback: changing state of ISDN8-0. 5 ->
1
[5264] 03-03 14:19:37:939: RasTapiCallback: lineDeallocateCall for
ISDN8-0,hcall = 0x10105
[5192] 03-03 14:19:37:939: PortTestSignalState: DeviceState = 0
[5468] 03-03 14:19:37:939: DeviceListen: Changing State for ISDN8-0 from
1 -> 2
[5468] 03-03 14:19:37:939: DeviceListen: Changing Listen State for ISDN8-0
from 4 -> 2
[5468] 03-03 14:19:37:939:

Fin des émissions (et réception d'un évenement erreur 20089 de RemoteAccess
dans le journal système, info complémentaire: 28b hexa, soit 651).
Pour info, l'erreur 651 signifie « votre modem a donné une erreur »

Je vois bien que cela déraille au moment où l'état passe à 0x4000, mais cela
ne m'éclaire pas.

Nettement plus de bavardages dans RASMAN.LOG dans ce cas-là:
[5468] 03-03 14:19:37:533: d:tetrasasasmanasmanutil.c: 2538:
port 1 state chg: prev=4, new=0
[5468] 03-03 14:19:37:533: d:tetrasasasmanasmanutil.c: 2583:
port 1 async reqtype chg: prev=0, new
[5468] 03-03 14:19:37:533: Adding timeout of 120 for listen
[5468] 03-03 14:19:37:533: Connect request on port: ISDN8-0, error code 600
[5192] 03-03 14:19:37:533: OVEVT_RASMAN_ADJUST_TIMER
[5192] 03-03 14:19:37:830: WorkerThread: Async work event signaled on port:
ISDN8-0
[5192] 03-03 14:19:37:830: OVEVT_DEV_ASYNCOP. pOverlapped = 0x31ce000
[5192] 03-03 14:19:37:830: d:tetrasasasmanasmanworker.c: 2356:
port 1 async reqtype chg: prev, new=0
[5192] 03-03 14:19:37:830: ServiceWorkRequest: Async op event 15 for port
ISDN8-0 returned 651
[5468] 03-03 14:19:37:830: PortDisconnectRequest on ISDN8-0 Connection=0x0
,RasmanReceiveFlags=0x0
[5468] 03-03 14:19:37:830: PortDisconnectRequest: Disconnecting ISDN8-0
[5468] 03-03 14:19:37:830: Disconnecting Port 0xISDN8-0, reason 0
[5468] 03-03 14:19:37:830: link handle for ISDN8-0 = INVALID_HANDLE_VALUE
[5468] 03-03 14:19:37:830: d:tetrasasasmanasmanutil.c 1997:
Disconnected Port 1, reason 0. rc=0x258
[5468] 03-03 14:19:37:830: d:tetrasasasmanasmanutil.c: 2218:
port 1 state chg: prev=0, new=3
[5468] 03-03 14:19:37:830: d:tetrasasasmanasmanutil.c: 2288:
port 1 async reqtype chg: prev=0, new=9
[5468] 03-03 14:19:37:830: Disconnect request on port: ISDN8-0
[5192] 03-03 14:19:37:830: OVEVT_RASMAN_ADJUST_TIMER
[5192] 03-03 14:19:37:830: OVEVT_RASMAN_ADJUST_TIMER
[5192] 03-03 14:19:37:939: WorkerThread: Disconnect event signaled on port:
ISDN8-0
[5192] 03-03 14:19:37:939: OVEVT_DEV_STATECHANGE. pOverlapped = 0x31ce040
[5192] 03-03 14:19:37:939: d:tetrasasasmanasmanequest.c: 4723:
port 1 state chg: prev=3, new=4
[5192] 03-03 14:19:37:939: d:tetrasasasmanasmanequest.c: 4734:
port 1 async reqtype chg: prev=9, new=0
[5192] 03-03 14:19:37:939: CompleteDisconnectRequest: signalling 0x258c for
ISDN8-0
[5192] 03-03 14:19:37:939: Disconnect completed on port: ISDN8-0
[5468] 03-03 14:19:37:939: DeviceListenRequest: Clearing Autoclose flag on
port ISDN8-0
[5468] 03-03 14:19:37:939: d:tetrasasasmanasmanutil.c: 2552:
port 1 state chg: prev=4, new=1
[5468] 03-03 14:19:37:939: d:tetrasasasmanasmanutil.c: 2583:
port 1 async reqtype chg: prev=0, new'
[5468] 03-03 14:19:37:939: Listen posted on port: ISDN8-0, error code 600

sauf que pour moi, cela ne signifie rien.
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
GG [MVP]
Le #1203978
Bonjour,

[ Publication croisée dans microsoft.public.fr.windows.server.reseau
et fr.comp.os.ms-windows.serveurs, suivis vers ce dernier groupe. ]


La conceté a ne pas faire, si on est sr deux serveurs différents les
reponses se perdent, je suis sur le serveur MSNEWS donc j'ai arrêté
le crosspost avec ce followup.

Ce qui ne marche pas avec 2003 : l'option du milieu, «Défini par
l'appelant (service de routage et d'accès distant uniquement)», avec
le même numéro.


Est-ce que depuis le serveur SBS en vous mettent en attente d'appel
sur la station appellante vous pouvez réaliser la connexion ?

(bon résumé du sujet), mais rien n'y fait. Le même service
fonctionnait auparavant avec un serveur NT4 et la même carte RNIS,


Le driver de la DIVA2 est le bon driver pour Windows 2003, il est
signé et validé ?

j'ai aussi essayé plusieurs modems différents, et aussi plusieurs
numéros rappelés, pas de différence.


Et depuis un modem installé sur le SBS en externe ?
Je viens de tester avec un modem US Robotics sur le port COM1
de mon SBS, le callback fonctionne quand je le configure dans le
profil utilisateur dsans la console SBS, au chapitre utilisateurs.


Fin des émissions (et réception d'un évenement erreur 20089 de
RemoteAccess dans le journal système, info complémentaire: 28b hexa,
soit 651).
Pour info, l'erreur 651 signifie « votre modem a donné une erreur »...


La modulation ne semble pas correcte, vous utilisez bien l'émulation
modem de la DIVA2 et non l'appel numerique ? Car de l'autre coté
si c'est une modem analogique que vous utilisez il y a très peu de
chance qu'il comprenne le langage numérique RNIS. :(

Et puis si vous êtes de deux coté en RNIS mais que l'appelant est
au US il est peut-être normal que cela pose quelques soucis :
les canaux de type B (64 kbit/s en Europe, 56 kbit/s en Amérique du Nord)

--
Cordialement.
GG.
Un livre sur SBS en français et un forum
http://sbsfr.mvps.org/livresbs
http://forums.sbsfr.org

Antoine Leca
Le #1203977
En news:, GG [MVP] va escriure:

Merci beaucoup de ton coup de main.

J'ai bien lu toutes les indications que tu as données, et je vais donc
approfondir mes tests en fonction de cela.


Pour les réponses que je peux faire de suite :

Le driver de la DIVA2 est le bon driver pour Windows 2003,


Oui je pense : c'est officiellement le dernier pilote (6.3.2.216) fourni par
Eicon pour cette carte (Diva v1), et ils disaient que ce pilote fonctionnait
avec 2003.

il est signé


D'après l'interface d'installation, toutes les DLL sauf une (disrvci.dll)
sont contresignées par « Microsoft Windows Hardware Compatibility
Publisher ».
Je ne suis pas réveillé ce matin, je n'arrive plus à vérifier en ligne si
les signatures sont valides (non révoquées etc.) ; mais ce serait surprenant
qu'elles ne le soient pas...

et validé ?


Je ne sais pas le dire (au delà de ce qui est ci-dessus).


Je viens de tester avec un modem US Robotics sur le port COM1
de mon SBS, le callback fonctionne quand je le configure dans le
profil utilisateur dsans la console SBS, au chapitre utilisateurs.


Soyons précis : cela fonctionne aussi lorsque sur le serveur tu laisses
l'option «Défini par l'appelant», et que tu donnes ton numéro local à partir
du client, au moment de la communication ?

Si tu as mis le numéro dans l'AD, au niveau du serveur, cela marche pour moi
aussi (et c'est pourquoi je ne comprend pas ce qui se passe, car globalement
le processus est le même en dehors de la négociation LCP/PPP, et celle-là
semble OK).


La modulation ne semble pas correcte, vous utilisez bien l'émulation
modem de la DIVA2 et non l'appel numerique ? Car de l'autre coté
si c'est une modem analogique que vous utilisez il y a très peu de
chance qu'il comprenne le langage numérique RNIS. :(


J'ai suivi les préconisations de Divalogic, je suis en mode numérique et le
serveur RRAS est lié à l'interface RNIS, pas à une émulation port série
(mais je vais tester cela ;-)).

Mais dans tous les autres cas, appels entrants ou rappels, je n'ai pas de
souci, la carte cause bien le RTC avec le modem analogique à l'autre bout.
Donc pourquoi diable choisirait-elle d'appeler en RNIS pour un contre-appel
négocié ?


Et puis si vous êtes de deux coté en RNIS


Non ce n'est pas le cas ; on avait cela il y a quelques années (avec les
deux côtés en Espagne), mais depuis on a laissé tombé vus les tarifs et les
performances de l'ADSL (et les besoins en largeur de bande de la plupart des
applications modernes).
Mais j'ai pris bonne note de la remarque, je n'y avais pas pensé.


Antoine

Publicité
Poster une réponse
Anonyme