Subject: [rohc] problem with static dictionary

From: "Sarvamangala" <[email-masked]>
Date: Thu, 2 Mar 2006 17:52:23 +0530

Hi
i am using the bytecode given in sigcomp user's guide-04.txt. Announcing additional parameters is working fine(returned parameter data). i am facing problem with sip/sdp static dictionary.
i am storing the dictionary in UDVM buffer from location 1024. but not able to get the correct decompressed output. could someone please tell me if anything has to be done other than inserting the STATE_ACCESS instr for the given bytecode

Regards
Mangala

_______________________________________________
Rohc mailing list
[email-masked]
https://www1.ietf.org/mailman/listinfo/rohc

---

From: "Surtees, Abigail" <[email-masked]>
Date: Thu, 2 Mar 2006 13:37:58 -0000

Hi Mangala,
 
What you have to do depends on the compression algorithm you are using.
You may have to modify the your algorithm or the bytecode for the
additional mechanism to get them to work together (see second paragraph
of section 5).  In particular, for the static dictionary, you have to
make sure that the parameters of the STATE-ACCESS instruction are
appropriate for your algorithm.  For example, do you want the dictionary
to be written beginning at 1024?  If not, you need to change that
parameter.
 
In general the user's guide provides examples of how to write well-known
algorithms and the additional mechanisms in bytecode.  However, these
are simply examples.  The exact bytecode you use is up to you.
 
I hope this helps,
 
Best regards,
 
Abbie
 
________________________________

From: Sarvamangala [mailto:[email-masked]] 
Sent: Thursday, March 02, 2006 12:22 PM
To: [email-masked]
Subject: [rohc] problem with static dictionary

	Hi
	i am using the bytecode given in sigcomp user's guide-04.txt.
Announcing additional parameters is working fine(returned parameter
data). i am facing problem with sip/sdp static dictionary.
	i am storing the dictionary in UDVM buffer from location 1024.
but not able to get the correct decompressed output. could someone
please tell me if anything has to be done other than inserting the
STATE_ACCESS instr for the given bytecode
	 
	Regards
	Mangala

---

From: "John Barber" <[email-masked]>
Date: Thu, 2 Mar 2006 22:50:03 -0000

Hi Mangala,
 
You don't say how you prepared the bytecode. If you hand-coded it, or
prepared it by cutting and pasting excerpts of example byte code, then
the chances of it being correct are very low. The various addressing
modes of the UDVM byte code are quite sophisticated and you would
probably get something wrong.
 
You really need to use a UDVM assembler to prepare your bytecode. If you
have done this, then perhaps you could post the assembler code rather
than raw byte code - this might make it possible to see why the code is
not working. Otherwise, I think you probably should consider either
writing or buying an assembler.
 
Also, you don't say how you tested it, or what went wrong. If you have
your own UDVM implementation available then you should be able to
observe what happens when you run this bytecode and locate the problem.
All you have said is that you do not get correct output - this is not
really enough information to be able to locate the problem.
 
Regards, John

	From: Sarvamangala [mailto:[email-masked]] 
	Sent: 02 March 2006 15:03
	To: [email-masked]
	Subject: [rohc] problem with static dictionary

	Hi abbie
	Thanks for the reply
	 
	I am using the deflate algorithm  and i am enclosing the
bytecode which supports returned feedback data + sip/sdp dictionary. i
am making sure the dictionary is stored from location 1024 as specified
in STATE_ACCESS.  
	 
	static const bytecode[307]={
	 0x1f, 0xa2 , 0x6d, 0x06 , 0x00, 0x00, 0xa4, 0x00 ,0x00,  
	 0x0f, 0x86 , 0x7a, 0xa2 , 0x82, 0x8d ,0x05, 0xa2 ,0x82, 0x00,
	 0x03, 0x00 , 0x04, 0x00 , 0x05, 0x00 ,0x06, 0x00 ,0x07, 0x00,
	 0x08, 0x00 , 0x09, 0x00 , 0x0a, 0x01 ,0x0b, 0x01 ,0x0d, 0x01,
	 0x0f, 0x01 , 0x11, 0x02 , 0x13, 0x02 ,0x17, 0x02 ,0x1b, 0x02,
	 0x1f, 0x03 , 0x23, 0x03 , 0x2b, 0x03 ,0x33, 0x03 ,0x3b, 0x04,
	 0xa0, 0x43 , 0x04, 0xa0 , 0x53, 0x04 ,0xa0, 0x63 ,0x04, 0xa0,
	 0x73, 0x05 , 0xa0, 0x83 , 0x05, 0xa0 ,0xa3, 0x05 ,0xa0, 0xc3,
	 0x05, 0xa0 , 0xe3, 0x00 , 0xa1, 0x02 ,0x00, 0x01 ,0x00, 0x02,
	 0x00, 0x03 , 0x00, 0x04 , 0x01, 0x05 ,0x01, 0x07 ,0x02, 0x09,
	 0x02, 0x0d , 0x03, 0x11 , 0x03, 0x19 ,0x04, 0x21 ,0x04, 0x31,
	 0x05, 0xa0 , 0x41, 0x05 , 0xa0, 0x61 ,0x06, 0xa0 ,0x81, 0x06,
	 0xa0, 0xc1 , 0x07, 0xa1 , 0x01, 0x07 ,0xa1, 0x81 ,0x08, 0xa2,
	 0x01, 0x08 , 0xa3, 0x01 , 0x09, 0xa4 ,0x01, 0x09 ,0xa6, 0x01,
	 0x0a, 0xa8 , 0x01, 0x0a , 0xac, 0x01 ,0x0b, 0xb0 ,0x01, 0x0b,
	 0xb8, 0x01 , 0x0c, 0x80 , 0x20, 0x01 ,0x0c, 0x80 ,0x30, 0x01,
	 0x0d, 0x80 , 0x40, 0x01 , 0x0d, 0x80 ,0x60, 0x01 ,0x1d, 0x03,
	 0x22, 0x9f , 0xb4, 0x1e , 0x20, 0xa0 ,0x65, 0x04 ,0x07, 0x00,
	 0x17, 0x80 , 0x40, 0x11 , 0x01, 0x30 ,0xa0, 0xbf ,0x00, 0x00,
	 0xa0, 0xc0 , 0xa0, 0xc7 , 0x80, 0x40 ,0x29, 0x01 ,0xa1, 0x90,
	 0xa1, 0xff , 0xa0, 0x90 , 0x17, 0x50 ,0x80, 0x40 ,0x11, 0x09,
	 0xa0, 0x46 , 0x13, 0x22 , 0x21, 0x01 ,0x13, 0x21 ,0x01, 0x23,
	 0x16, 0x9f , 0xd1, 0x08 , 0x10, 0x04 ,0x12, 0x50 ,0x04, 0x22,
	 0x1d, 0x51 , 0x22, 0x9f , 0xd7, 0x06 ,0x12, 0x51 ,0x1e, 0x20,
	 0x9f, 0xcf , 0x01, 0x05 , 0x00, 0x1f ,0x2f, 0x08 ,0x10, 0x04,
	 0x12, 0x50 , 0x04, 0x26 , 0x1d, 0x53 ,0x26, 0xf6 ,0x06, 0x14,
	 0x53, 0x0e , 0x20, 0x63 , 0x14, 0x54 ,0x52, 0x23 ,0x22, 0x50,
	 0x52, 0x16 , 0x9f, 0x9e , 0x0e, 0xa1 ,0x36, 0xbb ,0x01, 0x1c,
	 0x01, 0xA1 , 0x35, 0xa2 , 0x5a, 0x1c ,0xc1, 0x34 ,0xa1, 0x38,
	 0xa2, 0x5a , 0x23, 0x00 , 0xa1, 0x35 ,0xbf ,0xc0, 0x86,
	 0xa1, 0xde , 0x06, 0xfb , 0xe5, 0x07 ,0xdf, 0xe5, 0xe6 }; 
	
	could u please tell me if this code is correct. 
	Regards
	Mangala

		----- Original Message ----- 
		From: Surtees, Abigail 
		To: Sarvamangala ; [email-masked] 
		Sent: Thursday, March 02, 2006 7:07 PM
		Subject: RE: [rohc] problem with static dictionary

		Hi Mangala,
		 
		What you have to do depends on the compression algorithm
you are using.  You may have to modify the your algorithm or the
bytecode for the additional mechanism to get them to work together (see
second paragraph of section 5).  In particular, for the static
dictionary, you have to make sure that the parameters of the
STATE-ACCESS instruction are appropriate for your algorithm.  For
example, do you want the dictionary to be written beginning at 1024?  If
not, you need to change that parameter.
		 
		In general the user's guide provides examples of how to
write well-known algorithms and the additional mechanisms in bytecode.
However, these are simply examples.  The exact bytecode you use is up to
you.
		 
		I hope this helps,
		 
		Best regards,
		 
		Abbie

		From: Sarvamangala
[mailto:[email-masked]] 
		Sent: Thursday, March 02, 2006 12:22 PM
		To: [email-masked]
		Subject: [rohc] problem with static dictionary

			Hi
			i am using the bytecode given in sigcomp user's
guide-04.txt. Announcing additional parameters is working fine(returned
parameter data). i am facing problem with sip/sdp static dictionary.
			i am storing the dictionary in UDVM buffer from
location 1024. but not able to get the correct decompressed output.
could someone please tell me if anything has to be done other than
inserting the STATE_ACCESS instr for the given bytecode
			 
			Regards
			Mangala

---

From: "John Barber" <[email-masked]>
Date: Thu, 2 Mar 2006 23:36:37 -0000

Hi again,
 
Having said that, I just ran your code through my UDVM to see what
happened.
 
On the assumption that your code is supposed to load at UDVM address
128, I added the bytes 0xF8, 0x13, 0x31 at the front of your bytecode to
make it conform to the SIGCOMP message format, code_len = 307,
destination = 128.
 
The first instruction executed is STATE_ACCESS. The
partial_identifier_start parameter resolves to 0x026D,
partial_identifier_length is 6. The 6 bytes at UDVM address 0x026D are
all zero bytes. So a decompression failure occurs, state not found.
 
Regards, John

	From: John Barber [mailto:[email-masked]] 
	Sent: 02 March 2006 22:50
	To: Sarvamangala; [email-masked]
	Subject: RE: [rohc] problem with static dictionary

	Hi Mangala,
	 
	You don't say how you prepared the bytecode. If you hand-coded
it, or prepared it by cutting and pasting excerpts of example byte code,
then the chances of it being correct are very low. The various
addressing modes of the UDVM byte code are quite sophisticated and you
would probably get something wrong.
	 
	You really need to use a UDVM assembler to prepare your
bytecode. If you have done this, then perhaps you could post the
assembler code rather than raw byte code - this might make it possible
to see why the code is not working. Otherwise, I think you probably
should consider either writing or buying an assembler.
	 
	Also, you don't say how you tested it, or what went wrong. If
you have your own UDVM implementation available then you should be able
to observe what happens when you run this bytecode and locate the
problem. All you have said is that you do not get correct output - this
is not really enough information to be able to locate the problem.
	 
	Regards, John

		From: Sarvamangala

		Hi abbie
		Thanks for the reply

		 0x0f, 0x86 , 0x7a, 0xa2 , 0x82, 0x8d ,0x05, 0xa2 ,0x82,
0x00,
		 0x03, 0x00 , 0x04, 0x00 , 0x05, 0x00 ,0x06, 0x00 ,0x07,
0x00,
		 0x08, 0x00 , 0x09, 0x00 , 0x0a, 0x01 ,0x0b, 0x01 ,0x0d,
0x01,
		 0x0f, 0x01 , 0x11, 0x02 , 0x13, 0x02 ,0x17, 0x02 ,0x1b,
0x02,
		 0x1f, 0x03 , 0x23, 0x03 , 0x2b, 0x03 ,0x33, 0x03 ,0x3b,
0x04,
		 0xa0, 0x43 , 0x04, 0xa0 , 0x53, 0x04 ,0xa0, 0x63 ,0x04,
0xa0,
		 0x73, 0x05 , 0xa0, 0x83 , 0x05, 0xa0 ,0xa3, 0x05 ,0xa0,
0xc3,
		 0x05, 0xa0 , 0xe3, 0x00 , 0xa1, 0x02 ,0x00, 0x01 ,0x00,
0x02,
		 0x00, 0x03 , 0x00, 0x04 , 0x01, 0x05 ,0x01, 0x07 ,0x02,
0x09,
		 0x02, 0x0d , 0x03, 0x11 , 0x03, 0x19 ,0x04, 0x21 ,0x04,
0x31,
		 0x05, 0xa0 , 0x41, 0x05 , 0xa0, 0x61 ,0x06, 0xa0 ,0x81,
0x06,
		 0xa0, 0xc1 , 0x07, 0xa1 , 0x01, 0x07 ,0xa1, 0x81 ,0x08,
0xa2,
		 0x01, 0x08 , 0xa3, 0x01 , 0x09, 0xa4 ,0x01, 0x09 ,0xa6,
0x01,
		 0x0a, 0xa8 , 0x01, 0x0a , 0xac, 0x01 ,0x0b, 0xb0 ,0x01,
0x0b,
		 0xb8, 0x01 , 0x0c, 0x80 , 0x20, 0x01 ,0x0c, 0x80 ,0x30,
0x01,
		 0x0d, 0x80 , 0x40, 0x01 , 0x0d, 0x80 ,0x60, 0x01 ,0x1d,
0x03,
		 0x22, 0x9f , 0xb4, 0x1e , 0x20, 0xa0 ,0x65, 0x04 ,0x07,
0x00,
		 0x17, 0x80 , 0x40, 0x11 , 0x01, 0x30 ,0xa0, 0xbf ,0x00,
0x00,
		 0xa0, 0xc0 , 0xa0, 0xc7 , 0x80, 0x40 ,0x29, 0x01 ,0xa1,
0x90,
		 0xa1, 0xff , 0xa0, 0x90 , 0x17, 0x50 ,0x80, 0x40 ,0x11,
0x09,
		 0xa0, 0x46 , 0x13, 0x22 , 0x21, 0x01 ,0x13, 0x21 ,0x01,
0x23,
		 0x16, 0x9f , 0xd1, 0x08 , 0x10, 0x04 ,0x12, 0x50 ,0x04,
0x22,
		 0x1d, 0x51 , 0x22, 0x9f , 0xd7, 0x06 ,0x12, 0x51 ,0x1e,
0x20,
		 0x9f, 0xcf , 0x01, 0x05 , 0x00, 0x1f ,0x2f, 0x08 ,0x10,
0x04,
		 0x12, 0x50 , 0x04, 0x26 , 0x1d, 0x53 ,0x26, 0xf6 ,0x06,
0x14,
		 0x53, 0x0e , 0x20, 0x63 , 0x14, 0x54 ,0x52, 0x23 ,0x22,
0x50,
		 0x52, 0x16 , 0x9f, 0x9e , 0x0e, 0xa1 ,0x36, 0xbb ,0x01,
0x1c,
		 0x01, 0xA1 , 0x35, 0xa2 , 0x5a, 0x1c ,0xc1, 0x34 ,0xa1,
0x38,
		 0xa2, 0x5a , 0x23, 0x00 , 0xa1, 0x35 ,0xbf ,0xc0, 0x86,
		 0xa1, 0xde , 0x06, 0xfb , 0xe5, 0x07 ,0xdf, 0xe5, 0xe6
}; 

			----- Original Message ----- 
			From: Surtees, Abigail 
			To: Sarvamangala ; [email-masked] 
			Sent: Thursday, March 02, 2006 7:07 PM
			Subject: RE: [rohc] problem with static
dictionary

			Hi Mangala,
			 
			What you have to do depends on the compression
algorithm you are using.  You may have to modify the your algorithm or
the bytecode for the additional mechanism to get them to work together
(see second paragraph of section 5).  In particular, for the static
dictionary, you have to make sure that the parameters of the
STATE-ACCESS instruction are appropriate for your algorithm.  For
example, do you want the dictionary to be written beginning at 1024?  If
not, you need to change that parameter.
			 
			In general the user's guide provides examples of
how to write well-known algorithms and the additional mechanisms in
bytecode.  However, these are simply examples.  The exact bytecode you
use is up to you.
			 
			I hope this helps,
			 
			Best regards,
			 
			Abbie

			From: Sarvamangala

				Hi
				i am using the bytecode given in sigcomp
user's guide-04.txt. Announcing additional parameters is working
fine(returned parameter data). i am facing problem with sip/sdp static
dictionary.
				i am storing the dictionary in UDVM
buffer from location 1024. but not able to get the correct decompressed
output. could someone please tell me if anything has to be done other
than inserting the STATE_ACCESS instr for the given bytecode
				 
				Regards
				Mangala