mirror of
https://github.com/DSheirer/sdrtrunk.git
synced 2026-11-12 16:47:31 -05:00
Adds parsing of TDULC and LDU1 Link Control messages and LDU1 Low Speed Data ( 16-bit word).
82 lines
2.5 KiB
Java
82 lines
2.5 KiB
Java
package decode.p25.message.ldu.lc;
|
|
|
|
import java.util.ArrayList;
|
|
import java.util.List;
|
|
|
|
import org.slf4j.Logger;
|
|
import org.slf4j.LoggerFactory;
|
|
|
|
import decode.p25.message.ldu.LDU1Message;
|
|
import decode.p25.reference.Digit;
|
|
import decode.p25.reference.LinkControlOpcode;
|
|
|
|
public class TelephoneInterconnectAnswerRequest extends LDU1Message
|
|
{
|
|
private final static Logger mLog = LoggerFactory.getLogger(
|
|
TelephoneInterconnectAnswerRequest.class );
|
|
|
|
public static final int[] DIGIT_1 = { 364,365,366,367 };
|
|
public static final int[] DIGIT_2 = { 372,373,374,375 };
|
|
public static final int[] DIGIT_3 = { 376,377,382,383 };
|
|
public static final int[] DIGIT_4 = { 384,385,386,387 };
|
|
public static final int[] DIGIT_5 = { 536,537,538,539 };
|
|
public static final int[] DIGIT_6 = { 540,541,546,547 };
|
|
public static final int[] DIGIT_7 = { 548,549,550,551 };
|
|
public static final int[] DIGIT_8 = { 556,557,558,559 };
|
|
public static final int[] DIGIT_9 = { 560,561,566,567 };
|
|
public static final int[] DIGIT_10 = { 568,569,570,571 };
|
|
public static final int[] TARGET_ADDRESS = { 720,721,722,723,724,725,730,
|
|
731,732,733,734,735,740,741,742,743,744,745,750,751,752,753,754,755 };
|
|
|
|
public TelephoneInterconnectAnswerRequest( LDU1Message message )
|
|
{
|
|
super( message );
|
|
}
|
|
|
|
@Override
|
|
public String getEventType()
|
|
{
|
|
return LinkControlOpcode.TELEPHONE_INTERCONNECT_ANSWER_REQUEST.getDescription();
|
|
}
|
|
|
|
@Override
|
|
public String getMessage()
|
|
{
|
|
StringBuilder sb = new StringBuilder();
|
|
|
|
sb.append( getMessageStub() );
|
|
|
|
sb.append( " TO:" );
|
|
sb.append( getTargetAddress() );
|
|
|
|
sb.append( " TEL:" );
|
|
sb.append( getTelephoneNumber() );
|
|
|
|
return sb.toString();
|
|
}
|
|
|
|
public String getTargetAddress()
|
|
{
|
|
return mMessage.getHex( TARGET_ADDRESS, 6 );
|
|
}
|
|
|
|
public String getTelephoneNumber()
|
|
{
|
|
List<Integer> digits = new ArrayList<Integer>();
|
|
|
|
digits.add( mMessage.getInt( DIGIT_1 ) );
|
|
digits.add( mMessage.getInt( DIGIT_2 ) );
|
|
digits.add( mMessage.getInt( DIGIT_3 ) );
|
|
digits.add( mMessage.getInt( DIGIT_4 ) );
|
|
digits.add( mMessage.getInt( DIGIT_5 ) );
|
|
digits.add( mMessage.getInt( DIGIT_6 ) );
|
|
digits.add( mMessage.getInt( DIGIT_7 ) );
|
|
digits.add( mMessage.getInt( DIGIT_8 ) );
|
|
digits.add( mMessage.getInt( DIGIT_9 ) );
|
|
digits.add( mMessage.getInt( DIGIT_10 ) );
|
|
|
|
return Digit.decode( digits );
|
|
}
|
|
|
|
}
|