AngularJS $resource parameter is not replaced with its real value?

I have recently decided to use $resource for REST service, but I quickly got in trouble. I have a simple URL:

/r/interface/activate/:active/addr/:address

But calling it in unit test make it fail with:

// expected: POST /r/interface/activate/false/addr/123
// got     : POST /r/interface/activate/false/addr/@address

My defined resource is :

module.factory('NetworkInterfaceActivationService', function ($resource) {
    return $resource("/r/interface/activate/:active/addr/:address", {}, {
        activate:{method:'POST', params:{active:"true", address:'@address'}, isArray:false},
        deactivate:{method:'POST', params:{active:"false", address:'@address'}, isArray:false}
    });
});

And this is how I call my service !

$scope.deactivateNetworkAddress = function (address) {
   NetworkInterfaceActivationService.deactivate({address:address});
};

Am I missing something?

I tried your code with Angular 1.3, but I couldn't reproduce the problem.

jsFiddle

<button ng-click="parentCtrl.doIt('123foobar')">execute</button>
app.controller('ParentCtrl', function (NetworkInterfaceActivationService) {
    this.doIt = function (address) {
        NetworkInterfaceActivationService.deactivate({address:address});
    };
})

app.factory('NetworkInterfaceActivationService', function ($resource) {
    return $resource("/r/interface/activate/:active/addr/:address", {}, {
        activate:{method:'POST', params:{active:"true", address:'@address'}, isArray:false}
    });
});

HTTP call in console:

POST .../r/interface/activate/false/addr/123foobar