Skip to content

SmsSessionRequest Does not add X-RestComm-AccountSid #2374

@AShabana

Description

@AShabana

Dear all ,
RestComm-Conenct ,Does not add any information regard Account SID in any summited messages ( SMS interpreter , Vase Voice Interpreter nor SmsMessagesEndpoint ) , so integration with billing system for accounting of SMSs will not work .

I patched original source tag -> (8.2.0.1266) as below

(8.2.0.1266) git diff 8742e3d32f5862017603ba58898022c7fd722c48 -- restcomm/restcomm.http/src/main/java/org/restcomm/connect/http/SmsMessagesEndpoint.java restcomm/restcomm.interpreter/src/main/java/org/restcomm/connect/interpreter/BaseVoiceInterpreter.java restcomm/restcomm.interpreter/src/main/java/org/restcomm/connect/interpreter/SmsInterpreter.java diff --git a/restcomm/restcomm.http/src/main/java/org/restcomm/connect/http/SmsMessagesEndpoint.java b/restcomm/restcomm.http/src/main/java/org/restcomm/connect/http/SmsMessagesEndpoint.java index de7b32f..c95b3c4 100644 --- a/restcomm/restcomm.http/src/main/java/org/restcomm/connect/http/SmsMessagesEndpoint.java +++ b/restcomm/restcomm.http/src/main/java/org/restcomm/connect/http/SmsMessagesEndpoint.java @@ -302,6 +302,7 @@ public abstract class SmsMessagesEndpoint extends SecuredEndpoint { customRestOutgoingHeaderMap.put(name, data.getFirst(name)); } } customRestOutgoingHeaderMap.put("X-RestComm-AccountSid", accountSid); final Timeout expires = new Timeout(Duration.create(60, TimeUnit.SECONDS)); try { Future<Object> future = (Future<Object>) ask(aggregator, new CreateSmsSession(sender, recipient, accountSid, true), expires); diff --git a/restcomm/restcomm.interpreter/src/main/java/org/restcomm/connect/interpreter/BaseVoiceInterpreter.java b/restcomm/restcomm.interpreter/src/main/java/org/restcomm/connect/interpreter/BaseVoiceInterpreter.java index 5a0359b..d3453a6 100644 --- a/restcomm/restcomm.interpreter/src/main/java/org/restcomm/connect/interpreter/BaseVoiceInterpreter.java +++ b/restcomm/restcomm.interpreter/src/main/java/org/restcomm/connect/interpreter/BaseVoiceInterpreter.java @@ -122,6 +122,7 @@ import java.util.Map; import java.util.Set; import java.util.concurrent.TimeUnit; import java.util.regex.Pattern; +import java.util.concurrent.ConcurrentHashMap; import static akka.pattern.Patterns.ask; @@ -2089,7 +2090,9 @@ public abstract class BaseVoiceInterpreter extends RestcommUntypedActor { // Store the sms record in the sms session. session.tell(new SmsSessionAttribute("record", record), source); // Send the SMS. final SmsSessionRequest sms = new SmsSessionRequest(from, to, body, null); final ConcurrentHashMap<String, String> _header = new ConcurrentHashMap<String, String>() ; _header.put("X-RestComm-AccountSid",accountId.toString()); final SmsSessionRequest sms = new SmsSessionRequest(from, to, body, _header); session.tell(sms, source); smsSessions.put(sid, session); } diff --git a/restcomm/restcomm.interpreter/src/main/java/org/restcomm/connect/interpreter/SmsInterpreter.java b/restcomm/restcomm.interpreter/src/main/java/org/restcomm/connect/interpreter/SmsInterpreter.java index d43da86..cd1182e 100644 --- a/restcomm/restcomm.interpreter/src/main/java/org/restcomm/connect/interpreter/SmsInterpreter.java +++ b/restcomm/restcomm.interpreter/src/main/java/org/restcomm/connect/interpreter/SmsInterpreter.java @@ -640,6 +640,7 @@ public final class SmsInterpreter extends RestcommUntypedActor { } // Ask the parser for the next action to take. Header[] headers = response.getHeaders(); customHttpHeaderMap.put("X-RestComm-AccountSid", accountId.toString()); for(Header header: headers) { if (header.getName().startsWith("X-")) { customHttpHeaderMap.put(header.getName(), header.getValue());
_

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions