package gov.nist.javax.sip.parser.extensions;
import java.text.ParseException;
import gov.nist.javax.sip.header.*;
import gov.nist.javax.sip.header.extensions.*;
import gov.nist.javax.sip.parser.*;
/**
* ReferredBy Header parser.
*
* <a href="{@docRoot}/uncopyright.html">This code is in the public domain.</a>
*
* Based on JAIN ReferToParser
*
*/
public class ReferredByParser extends AddressParametersParser {
/**
* Creates new ToParser
* @param referBy String to set
*/
public ReferredByParser(String referBy) {
super(referBy);
}
protected ReferredByParser(Lexer lexer) {
super(lexer);
}
public SIPHeader parse() throws ParseException {
headerName(TokenTypes.REFERREDBY_TO);
ReferredBy referBy = new ReferredBy();
super.parse(referBy);
this.lexer.match('\n');
return referBy;
}
public static void main(String args[]) throws ParseException {
String to[] =
{ "Referred-By: <sip:dave@denver.example.org?" +
"Replaces=12345%40192.168.118.3%3Bto-tag%3D12345%3Bfrom-tag%3D5FFE-3994>\n",
"Referred-By: <sip:+1-650-555-2222@ss1.wcom.com;user=phone>;tag=5617\n",
"Referred-By: T. A. Watson <sip:watson@bell-telephone.com>\n",
"Referred-By: LittleGuy <sip:UserB@there.com>\n",
"Referred-By: sip:mranga@120.6.55.9\n",
"Referred-By: sip:mranga@129.6.55.9 ; tag=696928473514.129.6.55.9\n" };
for (int i = 0; i < to.length; i++) {
ReferredByParser tp = new ReferredByParser(to[i]);
ReferredBy t = (ReferredBy) tp.parse();
System.out.println("encoded = " + t.encode());
}
}
}
/*
* $Log:
*
*/