metasploit-framework/lib/rex/proto/iax2/constants.rb

263 lines
14 KiB
Ruby

# -*- coding: binary -*-
module Rex
module Proto
module IAX2
IAX2_DEFAULT_PORT = 4569
IAX_TYPE_VOICE = 2
IAX_TYPE_CONTROL = 4
IAX_TYPE_IAX = 6
IAX_TYPE_DTMF_BEGIN = 1
IAX_TYPE_DTMF_END = 12
IAX_CTRL_HANGUP = 1
IAX_CTRL_RINGING = 3
IAX_CTRL_ANSWER = 4
IAX_CTRL_BUSY = 5
IAX_CTRL_PROGRESS = 14
IAX_CTRL_PROCEED = 15
=begin
+-------------+---------------+-------------------------------------+
| VALUE | Name | Description |
+-------------+---------------+-------------------------------------+
| 0x01 | Hangup | The call has been hungup at the |
| | | remote end |
| | | |
| 0x02 | Reserved | Reserved for future use |
| | | |
| 0x03 | Ringing | Remote end is ringing (ring-back) |
| | | |
| 0x04 | Answer | Remote end has answered |
| | | |
| 0x05 | Busy | Remote end is busy |
| | | |
| 0x06 | Reserved | Reserved for future use |
| | | |
| 0x07 | Reserved | Reserved for future use |
| | | |
| 0x08 | Congestion | The call is congested |
| | | |
| 0x09 | Flash Hook | Flash hook |
| | | |
| 0x0a | Reserved | Reserved for future use |
| | | |
| 0x0b | Option | Device-specific options are being |
| | | transmitted |
| | | |
| 0x0c | Key Radio | Key Radio |
| | | |
| 0x0d | Unkey Radio | Unkey Radio |
| | | |
| 0x0e | Call Progress | Call is in progress |
| | | |
| 0x0f | Call | Call is proceeding |
| | Proceeding | |
| | | |
| 0x10 | Hold | Call is placed on hold |
| | | |
| 0x11 | Unhold | Call is taken off hold |
+-------------+---------------+-------------------------------------+
=end
IAX_SUBTYPE_NEW = 1
IAX_SUBTYPE_PING = 2
IAX_SUBTYPE_PONG = 3
IAX_SUBTYPE_ANSWER = 4
IAX_SUBTYPE_ACK = 4
IAX_SUBTYPE_HANGUP = 5
IAX_SUBTYPE_REJECT = 6
IAX_SUBTYPE_ACCEPT = 7
IAX_SUBTYPE_AUTHREQ = 8
IAX_SUBTYPE_AUTHREP = 9
IAX_SUBTYPE_INVAL = 10
IAX_SUBTYPE_LAGRQ = 11
IAX_SUBTYPE_LAGRP = 12
IAX_SUBTYPE_REGREQ = 13
IAX_SUBTYPE_REGAUTH = 14
IAX_SUBTYPE_REGACK = 15
IAX_SUBTYPE_REGREJ = 16
IAX_SUBTYPE_REGREL = 17
IAX_SUBTYPE_VNAK = 18
=begin
+------+-----------+-----------------------------------------+
| Hex | Name | Description |
+------+-----------+-----------------------------------------+
| 0x01 | NEW | Initiate a new call |
| | | |
| 0x02 | PING | Ping request |
| | | |
| 0x03 | PONG | Ping or poke reply |
| | | |
| 0x04 | ACK | Explicit acknowledgment |
| | | |
| 0x05 | HANGUP | Initiate call tear-down |
| | | |
| 0x06 | REJECT | Reject a call |
| | | |
| 0x07 | ACCEPT | Accept a call |
| | | |
| 0x08 | AUTHREQ | Authentication request |
| | | |
| 0x09 | AUTHREP | Authentication reply |
| | | |
| 0x0a | INVAL | Invalid message |
| | | |
| 0x0b | LAGRQ | Lag request |
| | | |
| 0x0c | LAGRP | Lag reply |
| | | |
| 0x0d | REGREQ | Registration request |
| | | |
| 0x0e | REGAUTH | Registration authentication |
| | | |
| 0x0f | REGACK | Registration acknowledgement |
| | | |
| 0x10 | REGREJ | Registration reject |
| | | |
| 0x11 | REGREL | Registration release |
| | | |
| 0x12 | VNAK | Video/Voice retransmit request |
| | | |
| 0x13 | DPREQ | Dialplan request |
| | | |
| 0x14 | DPREP | Dialplan reply |
| | | |
| 0x15 | DIAL | Dial |
| | | |
| 0x16 | TXREQ | Transfer request |
| | | |
| 0x17 | TXCNT | Transfer connect |
| | | |
| 0x18 | TXACC | Transfer accept |
| | | |
| 0x19 | TXREADY | Transfer ready |
| | | |
| 0x1a | TXREL | Transfer release |
| | | |
| 0x1b | TXREJ | Transfer reject |
| | | |
| 0x1c | QUELCH | Halt audio/video [media] transmission |
| | | |
| 0x1d | UNQUELCH | Resume audio/video [media] transmission |
| | | |
| 0x1e | POKE | Poke request |
| | | |
| 0x1f | Reserved | Reserved for future use |
| | | |
| 0x20 | MWI | Message waiting indication |
| | | |
| 0x21 | UNSUPPORT | Unsupported message |
| | | |
| 0x22 | TRANSFER | Remote transfer request |
| | | |
| 0x23 | Reserved | Reserved for future use |
| | | |
| 0x24 | Reserved | Reserved for future use |
| | | |
| 0x25 | Reserved | Reserved for future use |
+------+-----------+-----------------------------------------+
=end
IAX_IE_CALLED_NUMBER = 1
IAX_IE_CALLING_NUMBER = 2
IAX_IE_AUTH_METHODS = 3
IAX_IE_CALLING_NAME = 4
IAX_IE_USERNAME = 6
IAX_IE_DESIRED_CODEC = 9
IAX_IE_ORIGINAL_DID = 10
IAX_IE_ACTUAL_CODECS = 8
IAX_IE_PROTO_VERSION = 11
IAX_IE_REG_REFRESH = 19
IAX_IE_CHALLENGE_DATA = 15
IAX_IE_CHALLENGE_RESP = 16
IAX_IE_APPARENT_ADDR = 18
IAX_IE_REGREJ_CAUSE = 22
IAX_IE_HANGUP_CAUSE = 42
=begin
+------+----------------+-------------------------------------------+
| HEX | NAME | DESCRIPTION |
+------+----------------+-------------------------------------------+
| HEX | NAME | DESCRIPTION |
| 0x01 | CALLED NUMBER | Number/extension being called |
| 0x02 | CALLING NUMBER | Calling number |
| 0x03 | CALLING ANI | Calling number ANI for billing |
| 0x04 | CALLING NAME | Name of caller |
| 0x05 | CALLED CONTEXT | Context for number |
| 0x06 | USERNAME | Username (peer or user) for |
| | | authentication |
| 0x07 | PASSWORD | Password for authentication |
| 0x08 | CAPABILITY | Actual CODEC capability |
| 0x09 | FORMAT | Desired CODEC format |
| 0x0a | LANGUAGE | Desired language |
| 0x0b | VERSION | Protocol version |
| 0x0c | ADSICPE | CPE ADSI capability |
| 0x0d | DNID | Originally dialed DNID |
| 0x0e | AUTHMETHODS | Authentication method(s) |
| 0x0f | CHALLENGE | Challenge data for MD5/RSA |
| 0x10 | MD5 RESULT | MD5 challenge result |
| 0x11 | RSA RESULT | RSA challenge result |
| 0x12 | APPARENT ADDR | Apparent address of peer |
| 0x13 | REFRESH | When to refresh registration |
| 0x14 | DPSTATUS | Dialplan status |
| 0x15 | CALLNO | Call number of peer |
| 0x16 | CAUSE | Cause |
| 0x17 | IAX UNKNOWN | Unknown IAX command |
| 0x18 | MSGCOUNT | How many messages waiting |
| 0x19 | AUTOANSWER | Request auto-answering |
| 0x1a | MUSICONHOLD | Request musiconhold with QUELCH |
| 0x1b | TRANSFERID | Transfer Request Identifier |
| 0x1c | RDNIS | Referring DNIS |
| 0x1d | Reserved | Reserved for future use |
| 0x1e | Reserved | Reserved for future use |
| 0x1f | DATETIME | Date/Time |
| 0x20 | Reserved | Reserved for future use |
| 0x21 | Reserved | Reserved for future use |
| 0x22 | Reserved | Reserved for future use |
| 0x23 | Reserved | Reserved for future use |
| 0x24 | Reserved | Reserved for future use |
| 0x25 | Reserved | Reserved for future use |
| 0x26 | CALLINGPRES | Calling presentation |
| 0x27 | CALLINGTON | Calling type of number |
| 0x28 | CALLINGTNS | Calling transit network select |
| 0x29 | SAMPLINGRATE | Supported sampling rates |
| 0x2a | CAUSECODE | Hangup cause |
| 0x2b | ENCRYPTION | Encryption format |
| 0x2c | ENCKEY | Reserved for future Use |
| 0x2d | CODEC PREFS | CODEC Negotiation |
| 0x2e | RR JITTER | Received jitter, as in RFC 3550 |
| 0x2f | RR LOSS | Received loss, as in RFC 3550 |
| 0x30 | RR PKTS | Received frames |
| 0x31 | RR DELAY | Max playout delay for received frames in |
| | | ms |
| 0x32 | RR DROPPED | Dropped frames (presumably by jitter |
| | | buffer) |
| 0x33 | RR OOO | Frames received Out of Order |
| 0x34 | OSPTOKEN | OSP Token Block |
+------+----------------+-------------------------------------------+
=end
# Codecs
IAX_CODEC_G711_MULAW = 0x00000004
IAX_CODEC_G711_ALAW = 0x00000008
IAX_CODEC_LINEAR_PCM = 0x00000040
# Supported
IAX_SUPPORTED_CODECS = IAX_CODEC_G711_MULAW | IAX_CODEC_G711_ALAW | IAX_CODEC_LINEAR_PCM
# Default timings
IAX_DEFAULT_REG_REFRESH = 60
IAX_DEFAULT_TIMEOUT = 10
end
end
end