atlanta.com . . . biloxi.com
. proxy proxy .
. .
Alice's . . . . . . . . . . . . . . . . . . . . Bob's
softphone SIP Phone
| | | |
| INVITE F1 | | |
|--------------->| INVITE F2 | |
| 100 Trying F3 |--------------->| INVITE F4 |
|<---------------| 100 Trying F5 |--------------->|
| |<---------------| 180 Ringing F6 |
| | 180 Ringing F7 |<---------------|
| 180 Ringing F8 |<---------------| 200 OK F9 |
|<---------------| 200 OK F10 |<---------------|
| 200 OK F11 |<---------------| |
|<---------------| | |
| ACK F12 |
|------------------------------------------------->|
| Media Session |
|<================================================>|
| BYE F13 |
|<-------------------------------------------------|
| 200 OK F14 |
|------------------------------------------------->|
| |
INVITE sip:bob@biloxi.com SIP/2.0
Via: SIP/2.0/UDP pc33.atlanta.com;branch=z9hG4bK776asdhds
Max-Forwards: 70
To: Bob <sip:bob@biloxi.com>
From: Alice <sip:alice@atlanta.com>;tag=1928301774
Call-ID: a84b4c76e66710@pc33.atlanta.com
CSeq: 314159 INVITE
Contact: <sip:alice@pc33.atlanta.com>
Content-Type: application/sdp
Content-Length: 142
(Alice's SDP not shown)
Bug#238324: Implement JS code-sharing module system
// MyModule.js
EXPORTED_SYMBOLS = ["foo", "bar", "baz"];
function foo() { dump("foo"); }
function bar() { dump("bar"); }
var counter = 0;
function baz() { dump(++counter); }
// MyModuleClient.js
Components.utils.importModule("MyModule.js");
foo(); // -> foo
bar(); // -> bar
baz(); // -> 1, 2, 3, ...
var g = Components.classes["@mozilla.org/zap/mediagraph;1"].
createInstance(Components.interfaces.zapIMediaGraph);
var ain = g.addNode("audioin", null);
var aout = g.addNode("audioout", null);
var buf = g.addNode("buffer", null);
g.connect(ain, null, buf, null);
g.connect(buf, null, aout, null);
var bufCtl = g.getNode(buf,
Components.interfaces.zapIPacketBuffer,
true);
bufCtl.minSize = 100;