EasyTransfer,NewSoftSerial Xbee and arduinos

Hi! I have a little problem. I have setup of Fio with Xbee and UNO connected wia serial on one side and the same thing on the other side.

My problem is that without Fios the setup is working right(the servo is changing its angle as the potenciometer is turned) but when I swap the wired serial connection with the Fio with Xbee it is not working.

I have tested the Xbee connection and that looks fine(on two computers with X-CTU they were talking to each other).

On the first UNO there is an example sketch of EasyTransfer

#include <EasyTransfer.h>

//create two objects
EasyTransfer ETin, ETout; 


struct RECEIVE_DATA_STRUCTURE{
  //put your variable definitions here for the data you want to receive
  //THIS MUST BE EXACTLY THE SAME ON THE OTHER ARDUINO
  int buttonstate;
};

struct SEND_DATA_STRUCTURE{
  //put your variable definitions here for the data you want to receive
  //THIS MUST BE EXACTLY THE SAME ON THE OTHER ARDUINO
  int buttonstate;
  int servoval;
};

//give a name to the group of data
RECEIVE_DATA_STRUCTURE rxdata;
SEND_DATA_STRUCTURE txdata;


void setup(){
  Serial.begin(9600);
  //start the library, pass in the data details and the name of the serial port. Can be Serial, Serial1, Serial2, etc.
  ETin.begin(details(rxdata), &Serial);
  ETout.begin(details(txdata), &Serial);
  
  pinMode(13, OUTPUT);  
  pinMode(12, INPUT);
  //enable pull-up
  digitalWrite(12, HIGH);
  
}

void loop(){
  
  //first, lets read our potentiometer and button and store it in our data structure
  txdata.servoval = analogRead(0);
  
  if(!digitalRead(12))
    txdata.buttonstate = HIGH;
  else
    txdata.buttonstate = LOW;
  
  //then we will go ahead and send that data out
  ETout.sendData();
  
 //there's a loop here so that we run the recieve function more often then the 
 //transmit function. This is important due to the slight differences in 
 //the clock speed of different Arduinos. If we didn't do this, messages 
 //would build up in the buffer and appear to cause a delay.
  for(int i=0; i<5; i++){
    //remember, you could use an if() here to check for new data, this time it's not needed.
    ETin.receiveData();
    
    //set our LED on or off based on what we received from the other Arduino    
    digitalWrite(13, rxdata.buttonstate);
    
    //delay
    delay(10);
  }
  
  //delay for good measure
  delay(10);
}

and on the Fio there is an modified sketch of NewSoftSerial example

#include <NewSoftSerial.h>

NewSoftSerial mySerial(12, 13);

void setup()  
{
  Serial.begin(9600);
  mySerial.begin(9600);
}

void loop()                     // run over and over again
{

  if (mySerial.available()) {
      Serial.print(mySerial.read());
  }
  if (Serial.available()) {
      mySerial.print(Serial.read());
  }
}

on the other side the Fio is the same thing and on the uno is this example code:

#include <Servo.h>
#include <EasyTransfer.h>

//create two objects
EasyTransfer ETin, ETout; 
//create servo
Servo myservo;

struct RECEIVE_DATA_STRUCTURE{
  //put your variable definitions here for the data you want to receive
  //THIS MUST BE EXACTLY THE SAME ON THE OTHER ARDUINO
  int buttonstate;
  int servoval;
};

struct SEND_DATA_STRUCTURE{
  //put your variable definitions here for the data you want to receive
  //THIS MUST BE EXACTLY THE SAME ON THE OTHER ARDUINO
  int buttonstate;
};


//give a name to the group of data
RECEIVE_DATA_STRUCTURE rxdata;
SEND_DATA_STRUCTURE txdata;


void setup(){
  Serial.begin(9600);
  //start the library, pass in the data details and the name of the serial port. Can be Serial, Serial1, Serial2, etc.
  ETin.begin(details(rxdata), &Serial);
  ETout.begin(details(txdata), &Serial);
  
  pinMode(13, OUTPUT);  
  pinMode(12, INPUT);
  //enable pull-up
  digitalWrite(12, HIGH);
  
  myservo.attach(9);
}

void loop(){
  
  //first, lets read our button and store it in our data structure
  if(!digitalRead(12))
    txdata.buttonstate = HIGH;
  else
    txdata.buttonstate = LOW;
  
 //then we will go ahead and send that data out
  ETout.sendData();
  
 //there's a loop here so that we run the recieve function more often then the 
 //transmit function. This is important due to the slight differences in 
 //the clock speed of different Arduinos. If we didn't do this, messages 
 //would build up in the buffer and appear to cause a delay.
 
  for(int i=0; i<5; i++){
    //remember, you could use an if() here to check for new data, this time it's not needed.
    ETin.receiveData();
    
    //set our LED on or off based on what we received from the other Arduino
    digitalWrite(13, rxdata.buttonstate);
    
    //set our servo position based on what we received from the other Arduino
    //we will also map the ADC value to a servo value
    myservo.write(map(rxdata.servoval, 0, 1023, 0, 179));
    
    //delay
    delay(10);
  }
  
  //delay for good measure
  delay(10);
}

Can please somebody help me?It is my school project and I am out of mind.I bet that the problem is in the Fio code but where...