Session->exchangeMsg:
- wrap outMsg in HNHBK/HNHBS
- if SIGN: sign message
- if CRYPT: encrypt message
- send message
- receive message


Things to do when creating a session (client):
- AQFINTS_Session_new()
- AQFINTS_Session_SetHbciVersion()
- AQFINTS_Session_SetSecProfileCode()
- AQFINTS_Session_SetSecProfileVersion()
- AQFINTS_Session_SetTanMethod()
- AQFINTS_Session_SetBpd()
- AQFINTS_Session_SetUserData()
- AQFINTS_Session_SetLogFile()
- AQFINTS_Session_SetAppRegKey()
- AQFINTS_Session_SetAppVersion()



Virtual functions:
- encodeMsg()
- decodeMsg()

Oberhalb dieser Ebene hier:
- AQFINTS_UserSession
  - setzt die notwendigen Infos (siehe oben) aus dem User
  - bei RxH/DDV:
    - implementiert
      - encodeMsg()
      - decodeMsg()


Vorgehen beim Server:
- Session::receiveMsg()
- cryptHead?
  - ja: 
    - ermittle Verfahren (PinTan, DDV, RDH)
    - extend mit entsprechender Session (SessionPinTan, SessionDdv etc)    
    - decodeMsg() (kuemmert sich auch um signatur)
    - fertig
- sigHead?
  - ja
    - ermittle Verfahren (PinTan, DDV, RDH)
    - extend mit entsprechender Session (SessionPinTan, SessionDdv etc)    
    - decodeMsg() (kuemmert sich auch um signatur)
    - fertig

