2.9 Incoming-Call-Request

The Incoming-Call-Request is a PPTP control message sent by the PAC to the PNS to indicate that an inbound call is to be established from the PAC.  This request provides the PNS with parameter information for the incoming call.

This message is the first in the "three-way handshake" used by PPTP for establishing incoming calls.  The PAC may defer answering the call until it has received an Incoming-Call-Reply from the PNS indicating that the call should be established. This mechanism allows the PNS to obtain sufficient information about the call before it is answered to determine whether the call should be answered or not.

       0                   1                   2                   3

       0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1

      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

      |            Length             |       PPTP Message Type       |

      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

      |                         Magic Cookie                          |

      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

      |     Control Message Type      |           Reserved0           |

      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

      |            Call ID            |      Call Serial Number       |

      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

      |                       Call Bearer Type                        |

      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

      |                      Physical Channel ID                      |

      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

      |     Dialed Number Length      |     Dialing Number Length     |

      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

      |                                                               |

      +                   Dialed Number (64 octets)                   +

      |                                                               |

      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

      |                                                               |

      +                  Dialing Number (64 octets)                   +

      |                                                               |

      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

      |                                                               |

      +                    Subaddress (64 octets)                     +

      |                                                               |

      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

LengthTotal length in octets of this PPTP message, including the entire PPTP header.

PPTP Message Type1 for Control Message.

Magic Cookie0x1A2B3C4D.

Control Message Type9 for Incoming-Call-Request.

Reserved0This field MUST be 0.

Call IDA unique identifier for this tunnel,assigned by the PAC to this session.  It is used to multiplex and demultiplex data sent over the tunnel between the PNS and PAC involved in this session.

Call Serial NumberAn identifier assigned by the PAC to thissession for the purpose of identifying this particular session in logged session information.  Unlike the Call ID, both the PNS and PAC associate the same Call Serial Number to a given session. The combination of IP address and call serial number should be unique.

Bearer TypeA value indicating the bearer capability used for this incoming call.  Currently defined values are:

1 - Call is on an analog channel

2 - Call is on a digital channel

Physical Channel IDThis field is set by the PAC in a vendor-specific manner to the number of the physical channel this call arrived on.

Dialed Number LengthThe actual number of valid digits in the Dialed Number field.

Dialing Number LengthThe actual number of valid digits in the Dialing Number field.

Dialed NumberThe number that was dialed by the caller. For ISDN and analog calls this field is an ASCII string.  If the Dialed Number is less than 64 octets in length, the remainder of this field is filled with octets of value 0.

Dialing NumberThe number from which the call was placed.  For ISDN and analog calls this field is an ASCII string.  If the Dialing Number is less than 64 octets in length, the remainder of this field is filled with octets of value 0.

SubaddressA 64 octet field used to specify additional dialing information.  If the subaddress is less than 64 octets long, the remainder of this field is filled with octets of value 0.