Bonds with embedded options pricing via binomial model

Notation:

t - time; G(t) - zero-coupon yield curve; $r$, $r_d$, $r_u$ - interest rates.

The task is to find market price of a bond for today, while knowing the price of a number of other bonds.

Nelson-sigel model provides interest rate curve G(t). The next thing to do is to calibrate interest rate binomial tree using G(t). Also are known bond cash flow, par value and today market price.

The problem is how to do it properly. The start yield is given by G($t_1$), where $t_1$=0.25 (step for binomial model).

$100=\frac{1}{2}(\frac{100*G(t_2 )}{1+G(t_1)} +\frac{100*G(t_2 )+100}{(1+G(t_1))*(1+r_u )} + \frac{100*G(t_2 )}{1+G(t_1)} +\frac{100*G(t_2 )+100}{(1+G(t_1))*(1+r_d )})$

$r_u= r_d*exp⁡(2*σ)$

$t_2 = 2*t_1$

These conditions provide $r_d$, $r_u$ for the second step of i.r. tree.

Is the next set of conditions for $r_{dd},r_{du},r_{uu}$ correct?

$1= \frac{1}{4} (\frac{G(t_3)}{1+G(t_1)}+\frac{G(t_3)}{(1+G(t_1))(1+r_d)}+\frac{(G(t_3)+1)}{(1+G(t_1))(1+r_d)(1+r_{dd})}) + \frac{1}{4}(\frac{G(t_3)}{1+G(t_1)}+\frac{G(t_3)}{(1+G(t_1))(1+r_d)}+\frac{(G(t_3)+1)}{(1+G(t_1))(1+r_d)(1+r_{ud})}) + \frac{1}{4}(\frac{G(t_3)}{1+G(t_1)}+\frac{G(t_3)}{(1+G(t_1))(1+r_u)}+\frac{(G(t_3)+1)}{(1+G(t_1))(1+r_u)(1+r_{ud})}) + \frac{1}{4}(\frac{G(t_3)}{1+G(t_1)}+\frac{G(t_3)}{(1+G(t_1))(1+r_u)}+\frac{(G(t_3)+1)}{(1+G(t_1))(1+r_u)(1+r_{uu})})$

$r_{du}= exp⁡(2*σ) r_{dd}$

$r_{uu}= exp⁡(2*σ) r_{ud}=exp⁡(4*σ) r_{dd}$

$t_3=3*t_1$

Is there an easy way to define $r_{uuu}$, $r_{uuuu}$ and other interest rates (yields), so it would be possible to do it programmatically?

What are the ways to correctly determine σ?

I'm heavily relying on ideas used in this presentation:

http://faculty.cbpa.drake.edu/root/Auvergne/DESS%20Analyst%20Binomial.ppt