Regarding INVITE retransmission (BEA sip server)
Hi all,
I have a question about the WebLogic SIP server (version 3.1) behavior.
I am testing a simple call scenario from UAC to UAS on UDP transport (please see the call flow below).
It seems that the WebLogic SIP server generated a retransmission of an INVITE even if the 100 response had already been sent to the server.
According to RFC3261 page 124,
"After
receiving a 1xx response, any retransmissions cease altogether, and
the client waits for further responses",
the server (acting as a UAC in this case) should stop the t1 timer and do not generate any retransmissions of the INVITE after the 100 response had been received.
I wonder if there is something wrong with my configuration. Has anyone come across this issue before ?
Any ideas would be greatly appreciated.
PS: I have verified that the Call-ID are the same in the 100 response and the initial INVITE.
Best Regards,
kirati
BEA WebLogic Server---------------OpenSIPS proxy---------------SIPP UAS
|---------INVITE-------------------------> | |
| | |
|<---------100------------------------------| |
| |---------INVITE----------------->|
| |<---------180--------------------- |
| |<---------200----------------------|
|--------re-INVITE---------------------->| |
| |-----------re-INVITE------------>|
|<------180-------------------------------- | |
|<------200-------------------------------- | |
|<------200-------------------------------- | |
|--------re-INVITE----------------------->| |
|<------200-------------------------------- | |
|--------re-INVITE----------------------->| |
|<------200-------------------------------- | |
|---------ACK-----------------------------> | |
| |---------ACK---------------------->|
Sorry the call flow was messed up. I will post it again:
BEA----INVITE--------->Open SIPS proxy----------------------------SIPP UAS
BEA<----100--------------Open SIPS proxy----------------------------SIPP UAS
BEA--------------------------Open SIPS proxy--INVITE-------------->SIPP UAS
BEA--------------------------Open SIPS proxy<----180-----------------SIPP UAS
BEA--------------------------Open SIPS proxy<-----200----------------SIPP UAS
BEA-----Re-INVITE-------Open SIPS proxy-------------------------->SIPP UAS
BEA--------------------------Open SIPS proxy-----Re-INVITE------->SIPP UAS
BEA<----180---------------Open SIPS proxy----------------------------SIPP UAS
BEA<----200---------------Open SIPS proxy----------------------------SIPP UAS
BEA<----re-200-----------Open SIPS proxy----------------------------SIPP UAS
BEA-----Re-INVITE-------Open SIPS proxy-------------------------->SIPP UAS
BEA<----re-200-----------Open SIPS proxy----------------------------SIPP UAS
BEA-----Re-INVITE-------Open SIPS proxy-------------------------->SIPP UAS
BEA<----re-200-----------Open SIPS proxy----------------------------SIPP UAS
BEA----ACK-------------->Open SIPS proxy----------------------------SIPP UAS
BEA--------------------------Open SIPS proxy--ACK------------------>SIPP UAS
Similar Messages
-
Where is JainSipApi.jar in bea sip server?
hi,
to my understanding JSR-116 reuse the sip stack from JSR-32
but I do not find any JainSipApi.jar in bea sip server.
i am a bit confused. anyone can help?Hi,
The WebLogic SIP Server does not provide a simple ava langunage binding to the SIP protocol, as you would get with the JAIN SIP API. Our SIP message parser/assembler and transaction layer is fully integrated with our Servlet container and is not visible as a .jar file.
The SIP Servlet API is part of the JAIN initiative within the JCP but it does not have any direct dependency on, or relationship with, the JAIN SIP specification.
BR,
-Mike -
Hi all,
I developed few sip services for Oracle OCMS. Now I'm trying to migrate the services to Bea sip server. I would like to know if Bea Sip server has proxy/registrar, presence functionalities like OCMS has. In OCMS there were out-of-the-box, but for what I've seen Bea doesnt have them. Are they going to be available?
Many tks
JFAs the Product Manager for the Oracle Communications Converged Application server (the former BEA WebLogic SIP server) and the former product manager for the Sailfin (I was PM for the Sailfin product before I left Ericsson to work for BEA) I must say that the Oracle product is absolutely superior, both in terms of quality and design, to any other competing product. I can also say that Oracle is fully behind this technology. Remeber that in the long run the issue is not "cost", but "value". Open source software is generally free for a reason.
-
BEA Sip Server 3.1 Socketexception
Hi All,
I am getting a SocketException on the multicast address specified for the Data and Engine Cluster while starting the managed servers in Weblogic SIP Server 3.1.
Does anyone know how to fix this?
Thanks !As the Product Manager for the Oracle Communications Converged Application server (the former BEA WebLogic SIP server) and the former product manager for the Sailfin (I was PM for the Sailfin product before I left Ericsson to work for BEA) I must say that the Oracle product is absolutely superior, both in terms of quality and design, to any other competing product. I can also say that Oracle is fully behind this technology. Remeber that in the long run the issue is not "cost", but "value". Open source software is generally free for a reason.
-
Bea sip server 3.1 xml error:(
hi.i am a new this subject.i develop a instant messaging with SIP using java.But i have given error xml.When i start the sip server and enter the console.all xml files cannot process.why?i dont know configure the sip server? do i miss someone? pls help me:(
Error message is admin console:The template you provided at /WEB-INF/templates/form.xml could not be processed
The template you provided at /WEB-INF/templates/.xml could not be processed
The template you provided at /WEB-INF/templates/summarypage.xml could not be processed. and all xmls can not process.
Error message is start server prompt.
Error: 'Instruction unknown:loadinstruction' (but i is not seen.there small 2 instead of i)
Fatal Error: 'Could not compile stylesheet'
Can I load only web logic sip server 3.1 or can i load with other web logic server for example Oracle Web Logic Server 10.3?????????do they work with together??????????
Edited by: user13107827 on May 24, 2010 5:50 AMAs the Product Manager for the Oracle Communications Converged Application server (the former BEA WebLogic SIP server) and the former product manager for the Sailfin (I was PM for the Sailfin product before I left Ericsson to work for BEA) I must say that the Oracle product is absolutely superior, both in terms of quality and design, to any other competing product. I can also say that Oracle is fully behind this technology. Remeber that in the long run the issue is not "cost", but "value". Open source software is generally free for a reason.
-
Add a real HSS connection to BEA sip server 3.1
Hi, I have a real HSS configed alrdy and wanna make the sip server can connect to that HSS? How do i do it?
As the Product Manager for the Oracle Communications Converged Application server (the former BEA WebLogic SIP server) and the former product manager for the Sailfin (I was PM for the Sailfin product before I left Ericsson to work for BEA) I must say that the Oracle product is absolutely superior, both in terms of quality and design, to any other competing product. I can also say that Oracle is fully behind this technology. Remeber that in the long run the issue is not "cost", but "value". Open source software is generally free for a reason.
-
BEA Workshop for SIP Server 3.1
Hi,
Does anyone know if BEA Workshop 10.3 can be used to develop SIP Applications to be deployed on SIP Server 3.1?
Thanks in advance
JonAs the Product Manager for the Oracle Communications Converged Application server (the former BEA WebLogic SIP server) and the former product manager for the Sailfin (I was PM for the Sailfin product before I left Ericsson to work for BEA) I must say that the Oracle product is absolutely superior, both in terms of quality and design, to any other competing product. I can also say that Oracle is fully behind this technology. Remeber that in the long run the issue is not "cost", but "value". Open source software is generally free for a reason.
-
Deploying war file in weblogic SIP server 2.2
Hi,
I trying to deploy a "sar" file in weblogic SIP server,but it is not allowing me to do that.So one of my collegue told me to change the "sar" to "war" and try to deploy.
When i am trying to deploy that it is saying that unable to find deployment descripter WEB-INF/web.xml in the war file.Actually it is there.But i don't know why it is giving that error.
Actually i need to deploy "sar" file and i changed that file into "war" file
What are all the trail and error to solve this problem
(1)I made the "war" file from file folders.
suppose my application directory name is "myapp"
then i am going into the "myapp" folder and from there i am trying to make war file and it is having all the related class files , sip.xml file , web.xml file.
Then i tryed to deploy that file from weblogic SIP server 2.2.console.
(2) Next I included the weblogic.xml file also into the war file.
(3)The "sar" file working fine in SDS 3.1,but not in we blogic SIP server.
(4)The SDS3.1 is working with JRE 5 so i changed that JRE from 1.5 to jre 1.4. and again prepared the sar file and changed that SAR file to WAR file.
I created a domain in SIP server which was created in "user_projects."
For e.g., the domain name is "mydomain" and
the directory structure is
mydomain
|
|
|----------applications(dir)
|
|----------myserver(dir)
|
|----------rmfilestore(dir)
|
|----------sipserver(dir)
|
|-----------boot (file)
|
|-----------config.xml
|
|-----------startWeblogic
|
|-----------stopWebLogic
|
|----------upload-------xxxxmanager----META-INF---WEB-INF----log4j.properties
--------------sip.xml
-----------------web.xml
-------------weblogic.xml
web.xml, sip.xml,log4j.properties are under WEB-INF folder
Do i need to change any path setting in startWebLogic.cmd file.I didn't change any thing in the startWeblogic.cmd.
Since my war file is having all the related files like all the related "jar" files in that.
Any body's help will be appriciated.
Thanks
vishCan any body please reply for above question.
Hi BEA support please flash some light on my above question
vkviswanadh -
How to reset password of weblogic sip server 3.1
Hi ,
Can anybody help me in resetting the username/password of weblogic sip server 3.1
Thanks a lot
Regards
SaurabhHi,
If we have only one admin account available, I am afraid there is no means to reset the password other than reinstalling Windows. See this article as a reference:
What to do if you forget your Windows password
Besides, we may try to create the Windows 8.1 install media with the following article:
Create installation media for
Windows 8.1
How to perform a clean installation of Windows
And please note, if we do a clean install, we need to activate Windows again.
If Windows 8 came preinstalled on your computer, your product key should be on a sticker on your computer or with your documentation. Or we may contact the manufacturer for further help.
Best regards
Michael Shao
TechNet Community Support -
Trouble defining BAM Enterprise Message Source for BEA WebLogic Server
Hi all,
I've just started to play a little with Oracle BAM Architect.
I've WLS 10.0 and Oracle BAM Architect 10g release 3.
On Oracle BAM Architect I've defined an Enterprise Message Source for BEA WebLogic Server as follows:
Name: ALSBSource
Owner: ...
Type: BEA WebLogic Server
Initial context factory: weblogic.jndi.WLInitialContextFactory
JNDI Service Provider URL: t3://mypc:7001
TopicConnectionFactory name: com.myConnectionFactory
Topic name: com.myBAMTopic
JMS message type: TextMessage
Durable subscriber name: BAMSubscriber
Client ID: BAMSubscriber
Name | Flow name | Type | Max size | Formatting
content | BAM | String | 1024 | (none)
On WLS 10.0 I've defined the required JMS stuff.
On Oracle Design Studio I've defined a plan that includes:
- an Oracle BAM Enterprise Message Receiver from which I've selected the above 'ALSBSource' Enterprise Message Source
- a simple Grid
I've connected the BAM Enterprise Message Receiver to the Grid and clicked on 'Update' button.
When I try to publish a message on 'com.myBAMTopic' I don't see anything on the grid defined in the Oracle Design Studio.
The first question is about the definition of an Enterprise Message Source for BEA WebLogic Server in the Oracle BAM Architect.
I did not change the Oracle BAM Architect classpath or Oracle Design Studio classpath adding the weblogic.jar, because no error has been raised during the configuration of the message source and the plan. Should I update Oracle classpath with the weblogic.jar ?
Did I forget any other step ?
I thank you in advance for any feedback.
Regards
ferpferp - I got this to work with
JNDI Service Provider URL: http://localhost
When I add the port
JNDI Service Provider URL: http://localhost:23891
I cannot get my EMS to start.
Hopefully this should fix your issue.
Sudeep. -
NullPointer when invoke InitialContext in standard application sip server
I am unable to do a new InitialContext() in an application that does not have any sipservlets , but is deployed on sip server engine tier
When an application is deployed in weblogic engine server (sip server 3.1 ) without a sip.xml as the application does
Not have any sip servlets , a new InitialContext() throws a NullpointerException . The stack trace is below .
This error is not encountered in weblogic 9.2 server (non sip server)
InitialContext ic = new InitialContext();
javax.naming.NamingException [Root exception is java.lang.NullPointerException: SIP Servlet context not found]
at javax.naming.spi.NamingManager.getURLObject(NamingManager.java:588)
at javax.naming.spi.NamingManager.getURLContext(NamingManager.java:533)
at javax.naming.InitialContext.getURLOrDefaultInitCtx(InitialContext.java:279)
at javax.naming.InitialContext.lookup(InitialContext.java:351)
atHi B.,
have you managed to find the solution for this problem? I'm facing same issue.
I also tried to publish the WS in standalone app (via javax.xml.ws.Endpoint.publish()) and it worked with no problem that way. However, when I moved this to servlet definition, it failed.
Thanks a lot.
Regards,
F. -
Is it possible to use common Corporate BEA Portal server and able to run different Business Unit applications on different BEA Application Servers?
Hi Akula,
You may want to read this article:
http://dev2dev.bea.com/products/wlportal81/articles/wsrp.jsp
It maybe related to what you want.
Regards,
--alex
Akula Venkata <[email protected]> wrote:
Is it possible to use common Corporate BEA Portal server and able to
run different Business Unit applications on different BEA Application
Servers? -
"Server Header" with Weblogic SIP Server 2.2
Hi All,
I'm using Weblogic SIP Server 2.2, based on Weblogic Server 8.1 SP5, and I want to desactivate the "Send Server Header" option.
I try to do it by using the console like describe in http://e-docs.bea.com/wls/docs81/ConsoleHelp/domain_server_protocols_http.html page. The config.xml file is modified ( <i><WebServer Name="myserver" SendServerHeaderEnabled="false"/></i>), but all response messages still contain the server header.
This header adds information about the version of WebLogic Server that is running. Which is a security leak.
It seem's that this problem is solved since Weblogic Server 8.1 SP4. But I don't succeed in turning the option off.
Any idea about this issue?
Thanks,
Karine.Hi,
This problem is resolved by installing the new version of WebLogic SIP server (3.0 préviews).
Thanks,
Karine. -
CVP - SIP Server Groups and Redundant SIP Proxy (CUPS)
I am migrating from a CVP 7 + UCCE 7.5 solution which uses srv.xml files on the CVP servers to implement redundancy
from CVP to the SIP Proxies (which are CUPS based).
In the new CVP 8.5 + UCCE 8.5 solution, I am trying to set up equivalent redundancy, which
is now done via Server Groups.
The solution is geographically diverse, with one CVP server + a CUPS server (publisher) at Site1,
and the second CVP + CUPS server (subscriber) at site 2.
Previously (on CVP 7), I was able to configure each CVP server so that its priority was to use the CUPS server at its
"local" site. Hence there were 2 different srv.xml files, one for each CVP server.
To configure this in CVP 8.5, I would need 2 SIP Server groups, to give each CVP a group
configured to prefer the "local" CUPS server. But when I configure a SIP server group(s) pointing to CUPS, I seem to be only able
to get one single Server Group to work. That single Server Group only works if the server group name
matches exactly the Domain Name configured in CUPS. Since CUPS' Domain name is a single cluster wide name,
I can get only one Server Group working, not the two that I need.
So, where am I going wrong?
Regards.Fairly new to CVP and had a question about how to configure the dialed number patterns so they point to more than 1 CUCM. My environment doesn't have a SIP Proxy or DNS Srv. That said, I tried to create as what was mentioned above - SIP Serve Group with 2 CUCM Subs then have a dialed number pattern point to it. However, when I initiate a call to an ICM script and eventually hit an agent, it flips between ready and reserve. When I change the dialed number pattern to point to a specific CUCM, it works fine. Followed all the aobve recommendations as well. Any idea how to make this work? Hoping I'm just missing something here...
-
Inqmy resource adapter for SAP with Bea Weblogic Server
Hi everybody,
Anybody have tried to use INQMY resource adapter for SAP with Bea weblogic server
It works well with INQMY server, but with BEA I'm getting a lot of problems creating
the connections.
Thanks in advance.
Xavi.
All,
Here are the steps we (used for internal testing) had to perform to get
IN-Q-MY adapter for SAP to work with WebLogic:
The wli.adapter.inqmy.sapr3.spi package contains extensions to the
In-Q-My J2EE Connector Architecture classes to overcome some limitations
in the base implementation classes. To get around these issues, we had
to extend their R3ManagedConnectionFactory, R3ConnectionManager, and
R3ConnectionFactory classes.
* The javax.resource.spi.ManagedConnectionFactory implementation
does not over-ride the equals and hashCode methods correctly. This
causes problems with WLS 6.1.
* There is a bug in their javax.resource.spi.ConnectionManager
implementation for non-managed uses of the adapter. Consequently, their
adapter cannot be used in a non-managed scenario.
* The javax.resource.cci.ConnectionFactory class does not support
the getConnection() method that does not take any arguments (it throws a
null pointer exception).
I am attaching the classes discussed above.
Cheers,
Chris
Torsten Friebe wrote:
> Hi,
>
> does anybody know where to get a trail version - if one exists - of IN-Q-MY
> application server or the resource adapter?
>
> Thanks, regards
> Torsten
>
> "Xavi" <[email protected]> schrieb im Newsbeitrag
> news:[email protected]...
>
>>Hi everybody,
>>
>>Anybody have tried to use INQMY resource adapter for SAP with Bea weblogic
>>
> server
>
>>?
>>
>>It works well with INQMY server, but with BEA I'm getting a lot of
>>
> problems creating
>
>>the connections.
>>
>>Thanks in advance.
>>Xavi.
>>
>>
>
>
package wli.adapter.inqmy.sapr3.spi;
import java.io.Serializable;
import javax.resource.ResourceException;
import javax.resource.cci.Connection;
import javax.resource.cci.ConnectionSpec;
import javax.resource.spi.ConnectionManager;
import javax.resource.spi.ConnectionRequestInfo;
import javax.resource.spi.ManagedConnection;
import javax.resource.spi.ManagedConnectionFactory;
import com.inqmy.r3adapter.R3ConnectionSpec;
import com.inqmy.r3adapter.R3ManagedConnectionFactory;
* Extends the In-Q-My implementation to allow for getConnection() with no
* connection spec, i.e. use the default configured connection parameters.
public class R3ConnectionFactory
extends com.inqmy.r3adapter.R3ConnectionFactory
implements com.bea.connector.IProxyMarker {
private R3ConnectionSpec m_cspec;
public R3ConnectionFactory(ConnectionManager cm, R3ManagedConnectionFactory mcf)
throws ResourceException {
super(cm, mcf);
String strClientNumber = mcf.getClientNumber();
if (strClientNumber == null) {
throw new javax.resource.spi.IllegalStateException("ClientNumber not set for "+mcf);
String strLanguage = mcf.getLanguage();
if (strLanguage == null) {
throw new javax.resource.spi.IllegalStateException("Language not set for "+mcf);
String strUserName = mcf.getUserName();
if (strUserName == null) {
throw new javax.resource.spi.IllegalStateException("UserName not set for "+mcf);
String strPassword = mcf.getPassword();
if (strPassword == null) {
throw new javax.resource.spi.IllegalStateException("Password not set for "+mcf);
m_cspec = new R3ConnectionSpec(strClientNumber, strLanguage, strUserName, strPassword);
public Connection getConnection(ConnectionSpec connectionSpec)
throws ResourceException {
if (connectionSpec == null) connectionSpec = m_cspec;
return super.getConnection(connectionSpec);
package wli.adapter.inqmy.sapr3.spi;
import java.io.Serializable;
import javax.resource.ResourceException;
import javax.resource.spi.ConnectionManager;
import javax.resource.spi.ConnectionRequestInfo;
import javax.resource.spi.ManagedConnection;
import javax.resource.spi.ManagedConnectionFactory;
* Extends the In-Q-My implementation to over-ride the
* allocateConnection method to return a CCI connection vs. a ManagedConnection
public class R3DefaultConnectionManager
implements ConnectionManager, Serializable {
public R3DefaultConnectionManager() {}
public Object
allocateConnection(ManagedConnectionFactory mcf, ConnectionRequestInfo cri)
throws ResourceException {
ManagedConnection mc = mcf.createManagedConnection(null, cri);
return mc.getConnection(null, cri);
package wli.adapter.inqmy.sapr3.spi;
import javax.resource.spi.ConnectionManager;
import javax.resource.spi.ConnectionRequestInfo;
import javax.resource.spi.ManagedConnection;
import javax.security.auth.Subject;
* Extends the In-Q-My implementation to get around some problems encountered
* while running on WebLogic:
* <ul>
* <li>Must over-ride default implementation of equals and hashCode method</li>
* <li>Needed to provide my version of the CCI ConnectionFactory</li>
* <li>Needed to provide my version of the default ConnectionManager for the
* non-managed scenario use case</li>
* </ul>
public class R3ManagedConnectionFactory
extends com.inqmy.r3adapter.R3ManagedConnectionFactory {
private int m_iHashCode;
transient private com.inqmy.r3adapter.R3ConnectionRequestInfo t_cri = null;
public R3ManagedConnectionFactory() {
super();
java.rmi.server.UID uid = new java.rmi.server.UID();
m_iHashCode = uid.hashCode();
public Object createConnectionFactory() {
// need to install our own default connection manager because In-Q-My
// version causes a ClassCastException in CCI ConnectionFactory
// getConnection
return createConnectionFactory(new R3DefaultConnectionManager());
public ManagedConnection createManagedConnection(Subject subject, ConnectionRequestInfo cri)
throws javax.resource.ResourceException {
// need to check for null on the ConnectionRequestInfo object because the
// In-Q-My R3ManagedConnection ctor does not check for null
if (cri == null) cri = getDefaultConnectionRequestInfo();
return new com.inqmy.r3adapter.R3ManagedConnection(this, subject, cri);
public Object createConnectionFactory(ConnectionManager connectionManager) {
// need to supply a connection factory that can deal with getConnection
// that does not take a ConnectionSpec
try {
return new R3ConnectionFactory(connectionManager, this);
} catch (javax.resource.ResourceException re) {
re.printStackTrace();
throw new java.lang.IllegalStateException(re.getMessage());
com.inqmy.r3adapter.R3ConnectionRequestInfo getDefaultConnectionRequestInfo()
throws javax.resource.spi.IllegalStateException {
if (t_cri == null) {
String strClientNumber = this.getClientNumber();
if (strClientNumber == null) {
throw new javax.resource.spi.IllegalStateException("ClientNumber not set for "+this);
String strLanguage = this.getLanguage();
if (strLanguage == null) {
throw new javax.resource.spi.IllegalStateException("Language not set for "+this);
String strUserName = this.getUserName();
if (strUserName == null) {
throw new javax.resource.spi.IllegalStateException("UserName not set for "+this);
String strPassword = this.getPassword();
if (strPassword == null) {
throw new javax.resource.spi.IllegalStateException("Password not set for "+this);
t_cri = new com.inqmy.r3adapter.R3ConnectionRequestInfo(strClientNumber, strLanguage, strUserName, strPassword);
return t_cri;
public boolean equals(Object obj) {
if (obj == null) return false;
if (obj == this) return true;
if (!this.getClass().isInstance(obj)) return false;
R3ManagedConnectionFactory mcf = (R3ManagedConnectionFactory)obj;
return compare(getClientNumber(), mcf.getClientNumber()) &&
compare(getLanguage(), mcf.getLanguage()) &&
compare(getUserName(), mcf.getUserName()) &&
compare(getPassword(), mcf.getPassword()) &&
compare(getServerName(), mcf.getServerName()) &&
compare(getSystemNumber(), mcf.getSystemNumber());
protected final boolean compare(final Object obj1, final Object obj2) {
if (obj1 == obj2) return true;
if (obj1 != null) {
return obj1.equals(obj2);
} else {
if (obj2 == null) {
return true;
} else {
return false;
public int hashCode() { return m_iHashCode; }
Maybe you are looking for
-
Can I use my Time Capsule to extend a current network? If so, How?
Can I use my Time Capsule to extend a current network? If so, How?
-
Reading one character at a time
Hello How can i read one character at a time from standard input (System.in) ? I have tried to use ir=new InputStreamReader(System.in) ir.read(). But this method blocks until it gets a return key pressed before going forward Any other solution?
-
Error calling BLS Transaction as Web service
Hi, I am trying to call BLS tranx as Webservice from another BLS Tranx. I craeted the simple BLS with no input parameter and set only one output parameter. Then i created the WSDL as http://<server:port>/XMII/WSDLGen/<Transaction path>. In new BLS tr
-
had to replace a broken macbook pro. I have my old hard drive connected via usb. How to I transfer all of my information so that it runs identical to my old computer with same settings and everything?
-
Stock Transport order - Transport cost on
Hi What is the best way of accounting for Freight costs on a stock transport order, with and without using Logistics execution and limiting the transactions processed. For Primary distibution between to plants where the cost are Variable based on km